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单片机输出接口的扩展
推荐阅读最新更新时间:2024-03-16 15:50
设计资源 培训 开发板 精华推荐
- 【EE团】开抢啦!!!TI超值工业级模拟器件套装芯片再次登场!!!
- 3小时实战+剖析:TI工程师手把手带你全面入门MSP430(限量售$4.3开发套件,助你参与动手实验)
- 直播|基于英特尔® Agilex™ FPGA F-Tile的以太网硬核IP详解及如何使用oneAPI对FPGA编程
- 双旦抢楼送祝福活动
- TI直播:精讲“双向CLLLC谐振、双有源电桥(DAB)参考设计”
- 你眼中的TI DSP有多么的与众不同?
- 答题有礼|扫地机器人内部有多复杂?TI E2E 五步为你解密!
- 免费下载——Maxim 面向工业应用的参考设计
- TE 官微人工客服功能上线,可以与 TE 技术专家直接微信沟通了!
- 电工也疯狂!玩游戏,晒得分,赢4G U盘!