下图为采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。
1:74LS244为8缓冲线驱动器(三态输出),为低电平有效的使能端。即G1 G2低电平是数据输入单片机,G1 G2 高电平时244输出为高阻态。
2:74LS273为8D触发器,为低电平有效的清除端。当为0时,输出全为0且与其它输入端无关;CP端是时钟信号,当CP由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。
3:图中74ls273可以换成74ls373、74ls573等锁存器,这样就就不必利用脉冲来输出数据,373的LE端为低时输出跟随输入变化,为1是输出口锁存。
4:你还可以对图稍加改动,WR RD P2.0 就只要一个就可以了,或者用一个反相器只需要一个IO口来作为控制端就好了。若还闲这样扩展不够用,可用两片373扩展输出,两片244扩展输入。
5:51单片机选用这些74系列芯片是ls和hc都可以用。但若你用3.3V的久必须用HC系列的74芯片了。
我有个我实际利用的例子,需要的话可以联系我