简单的单片机I-O口扩展实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简单的单片机I/O口扩展实例
扩展实例
 简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,通过P0口来实现扩展的一种方案。

它具有电路简单、成本低、配置灵活的特点。

下图为采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。

 芯片及连线说明
 图中电路中采用的芯片为TTL电路74LS244、74LS273。

其中,74LS244为8缓冲线驱动器(三态输出),、为低电平有效的使能端。

当二者之一为高电平时,输出为三态。

74LS273为8D触发器,为低电平有效的清除端。

当=0时,输出全为0且与其它输入端无关;CP端是时钟信号,当CP由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。

P0口作为双向8位数据线,既能够从74LS244输入数据,又能够从74LS273输出数据。

输入控制信号由P2.0和相或后形成。

当二者都为0时,74LS244的控制端有效,选通
74LS244,外部的信息输入到P0数据总线上。

当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。

输出控制信号由
P2.0和相或后形成。

当二者都为0后,74LS273的控制端有效,选通
74LS273,P0上的数据锁存到74LS273的
 输出端,控制发光二极管LED,当某线输出为0时,相应的LED发光。


  I/O口地址确定
 因为74LS244和74LS273都是在P2.0为0时被选通的,所以二者的口地
址都为FEFFH(这个地址不是惟一的,只要保证P2.0=0,其它地址位无关)。

但是由于分别由和控制,因而两个信号不可能同时为0(执行输入指令,如MOVX A,@DPTR或MOVX A,@Ri时,有效;执行输出指令,如MOVX @DPTR,A或MOVX @Ri,A时,有效),所以逻辑上二者不会发生冲突。

 。

相关文档
最新文档