新闻中心

EEPW首页 > 嵌入式系统 > 学习方法与实践 > 从引脚有限的微处理器上压榨出额外输出引脚

从引脚有限的微处理器上压榨出额外输出引脚

作者:Armatron International Inc. Abel Raynus 时间:2008-01-30来源:EDN收藏

  现在许多设计采用来自Freescale和Microchip的低成本微控制器,但在过去十年中,产品封装趋向于越来越小的引脚特征,如8个、甚至6个引脚。虽然这些封装减少了PCB板面积,但它们也减少了可用I/O引脚,当需要添加功能而不移植到一个较大封装时,给设计者设置了障碍。

本文引用地址:http://www.eepw.com.cn/article/78245.htm

  为了克服输入引脚的稀少的问题,通过写一个复用和选择输入引脚的程序,设计者可以增加小型微处理器输入。但这种方法并不扩展输出引脚,由于大部分设计需要同时驱动多个引脚。图1显示如何通过增加了移位寄存器来解决这个问题。

  图1 你需要更多的输出引脚吗?

  比如,基于IC1(Freescale半导体的9-bit,flash存储的MC68HC908QT1微处理器,它只有8个引脚)设计增加一个8-LED。产品仅有4个多用途输出口,因而默认情况下驱动不了八个分离的LED。为了解决这个问题,你可以加入IC2, 74HC595串入串出/并出锁存移位寄存器芯片,该芯片可从半导体供应商处得到。该寄存器的锁存功能允许与特殊数据位相关的LED选择性驱动。

  根据其数据手册,74HC595芯片通过SPI协议接受信号。不幸的是 
,低端微控制器,如MC68HC908QT1,缺乏SPI协议的硬件支持,但你可以在软件中通过以下步骤模拟SPI:

  1.通过不定义控制微处理器芯片IC1的PA4引脚不锁存移位寄存器输出。

  2.启动MSB,从处理器的内部数据寄存器复制1位,转移到处理器的PA0(SD)的输出上。

  3.在PA1引脚上产生一个时钟脉冲。

  4.对所有的八个数据位重复步骤2和3。

  5.定义微处理器的PA4引脚输出锁存数据到IC2(74HC595)。

  图2显示了传送数据$F0从IC1到IC2的时序图。

  图2 时序图

  表1展示了通过发送5个连续字节给IC2点亮LED,LED值为:$03, $0c,$30,$c0和$55。前4个字节沿着柱状图每秒一步的逐渐点亮两个LED。最后一个字节点亮并锁存所有奇数LED。表格仅包含了常用的指令,容易转化为其他微处理器的汇编语言。

  SPI仅需要三个输出引脚,空出了微处理器剩余I/O引脚可以满足其它功能,也允许远程设置移位寄存器/LED驱动――比如,带LED的单独显示板。有适当的缓冲时,寄存器输出引脚也能驱动其他负载,如电机、继电器和白炽灯等。



评论


相关推荐

技术专区

关闭