在51系列单片机应用系统中,采用TTL或CMOS锁存器、三态门芯片,通过P0口可以扩展各种类型的简单输入/输出口。P0口是系统的数据总线口,通过P0口扩展I/O接口时,P0口只能分时使用,故输出时接口应有锁存功能;输入时,视数据是常态还是暂态的不同,接口应能三态缓冲或锁存选通。还应注意的是,不论锁存器还是三态门芯片,都只具有数据线和锁存允许及输出允许控制线,而无地址线和片选信号线。而扩展一个I/O接口,则相当于一个片外存储单元。CPU对I/O接口的访问,要以确定的地址,用MOVX指令来进行。所以在接口电路中,一般要用单片机系统的地址线或地址译码线与读/写控制信号组合,形成一个既有寻址作用又有读/写控制作用的信号线,与锁存器或三态门芯片的锁存允许及输出允许控制端相接。在MCS-51系列单片机应用系统中,采用74HC系列锁存器和触发器通过P0口也可以构成各种类型的输入/输出接口。
在单片机数据总线上用74HCXX系列芯片扩展I/O接口,74HCXX芯片被视为MCS-51单片机的片外RAM单元,用MOVX指令对其进行读写。以MCS-51单片机的信号对它们进行读写控制时需要注意三点:输出锁存、输入三态及用、和地址线产生的有效片选信号(可能高、也可能低),作为数据输入或输出控制信号。
1 用锁存器扩展输出接口
通过P0口扩展输出接口时,锁存器被视为一个外部RAM地址单元,使用MOVX@DPTR,A指令向输出口输出数据。如图6-23所示是通过74HC573芯片扩展输出口的接口连接图。
2 用总线驱动器扩展输入接口
通过P0口扩展输入接口时,总线驱动器被视为一个外部RAM地址单元。使用MOVX A,@DPTR指令从输入口读取数据。如图6-24所示是通过74HC245扩展输入口的接口连接图。A15=1和=0时单片机可从扩展输入口读取数据,74HC245在外部的RAM地址为8000H(大于它即可)。(www.xing528.com)
图6-23 74HC573芯片扩展输出口的接口
图6-24 74HC245扩展输入口的接口
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。