简单的i/o口扩展通常是采用ttl或cmos电路锁存器、三态门等作为扩展芯片,通过p0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。
1.扩展实例
图为采用 74ls244作为扩展输入、74ls273作为扩展输出的简单i/o口扩展。
2.芯片及连接说明
电路中采用的芯片为ttl电路74ls244、74ls273。其中74ls244为8缓冲线驱动器(三态输出), 、 为低电平有效的使能端。当二者之一为高电平时,输出为三态、74ls273为8d触发器, 为低电平有效的清除端。当 =0时,输出全为0且与其它输入端无关;cp端是时钟信号,当cp由低电平向高电平跳变时刻,d端输入数据传送到q输出端。
因为74ls244和74ls273都是在p2.0为0时被选通的,所以二者的口地址都为feffh(这个地址不是唯一的,只要保证p2.0=0,其它地址位无关)。但是由于分别由而 和 控制,因而两个信号不可能同时为0(执行输入指令,如movx a@,dptr或movx a,@ri时, 有效;执行输出指令,如movx @dptr,a或movx @ri,a时, 有效),所以逻辑上二者不会发生冲突。