MCS-51单片机具有4个并行8位I/O 口(即PO、Pl、P2> P3),原理上这4个I/O 口均可用作双向并行I/O接口,但在实际应用中,只有当单片机在不使用外部扩展时,才允许这4个I/O 口作为用户I/O使用,但是这种情况在单片机应用系统开发中几乎是不可能的。
在单片机应用系统开发中,需要实现单片机对多种外设(如键盘、显示器等)进行控制,I/O接口是MCS-51与外设交换数字信息的桥梁,也属于系统扩展的一部分。
在这种情况下,可提供给用户使用的I/O 口只有P1 口和部分P3 口及作为数据总线用的P0 口,而P3 口在应用系统设计中常使用其第二功能。因此,在单片机的I/O 口不够用的情况下,可以借助外部器件对I/O 口进行扩展。
I/O接口电路应满足以下要求:
在学习I/O端口的编址方法之前,首先要明确接口和端口的概念。在进行单片机应用系统设计时,通常需要多种外设,而这些外设要想接入,就需要用自己的接口和总线上的某个匹配接口匹配对接,这种单片机与外部设备之间的I/O接口芯片就称为接口。
而单片机在与外设进行通信时,要发数据到某个外设或从外设读取信息,其实就是从对应的接口电路中多个寄存器或缓冲器获取信息,这种具有端口地址的寄存器或缓冲器就称为端口,简称I/O 口。对一个系统而言,通常会有多个外设,每个外设的接电路中又会有多个端口,如数据口、命令口、状态口对于单片机而言,访问外部设备就是访问相关的端口,而所有的信息会由接口转给外设。
对一个系统而言,通常会有多个外设,每个外设的接口电路中又会有多个端口,每个端口都需要一个地址,为每个端口标识一个具体的地址值,是系统必须解决的事,这就需要进行I/O端口的编址。
I/O端口编址分为两种方式:独立编址与统一编址。
MCS-51单片机使用统一编址的方式 每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。
为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。I/O数据传送的几种方式是:同步传送、异步传送和中断传送。
常用的外围I/O接口芯片如下所述。
这些接口引路芯片都可与MCS-51单片机直接连接,接口逻辑十分简单。此外,74LS系列的TTL电路也可以作为MCS-51单片机的扩展I/O 口,如74LS244、74LS273等。
原文:https://www.cnblogs.com/lihello/p/12983480.html