51单片机输入接口的扩展
2017-12-28 来源:eefocus
51单片机的数据总线是一种公用的总线,不能被独占使用,这就要求接在上面的芯片必须具备'三态'功能,因此扩展输入接口实际上就是要找一个能够控制的、具备三态输出的芯片。
当输入设备被选通时,它使输入设备的数据线和单片机的数据总线直接接通;当输入设备没有被选通时,它隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。
1.用典型电路芯片扩展输入接口
如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片构成三态数据缓冲器。右图是74HC244芯片的引脚示意图。
74HC244内部共有两个四位三态缓冲器,分别以/1G和/2G作为它们的选通工作信号。当/1G和/2G都为低电平时,输出端B和输入端A状态相同;当/1G和/2G都为高电平时,输出呈高阻态。
2.输入接口的扩展方法
下图是采用74HC244芯片进行简单输入接口扩展的原理电路图,左图是读I/O口的时序。由左图中可以看出,当P2.7和相向RD同为低电平时,74HC244才能将输入端的数据送到单片机的P0口。其中,P2.7决定了74HC244的地址为:0000H-7FFFH共32K地址都可以访问这个单元,这就是用线选法所带来的副作用。通常,我们选择其中的最高地址作为这个芯片的地址来写程序,即这个芯片的地址是7FFFH。这仅是一种习惯,并不是规定,当然完全可以用0000H一作为这个芯片的地址。确定了地址之后,接口的输入操作程序如下:
MOVDAPTR.#7FFFHMOVXA,@DPTRMOVX类指令是MCS-51单片机专用于对外部RAM进行操作的指令,由于外部I/O与外部RAM是同一接口,所以使用这条指令对外部I/O进行操作。一旦执行到MOVX类指令,单片机就会在相向RD或相向WR(根据输入还是输出指令)引脚产生一个下降沿,这个下降沿的波形与P2.7相或,在或门的输出口也产生一个下降沿,这个下降沿使得74HC244的输出与输入接通,输入设备的数据可以被MCS-51单片机从总线上读取。
74HC244是不带锁存的,如果输入设备提供的数据时间比较短,就要用带锁存的芯片进行扩展了,如74HC373,74HC573等。
上一篇:AT89S51单片机串行口的结构
下一篇:51单片机输出接口的扩展