如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
7.3I/O口的扩展7.3.3可编程I/O口扩展1.18255A的内部结构与引脚1.8255A的内部结构8255A的内部结构如图7―1所示,由以下几部分组成。1)数据端口A、B、C8255A有3个8位数据端口,即端口A、端口B和端口C。编程人员可以通过软件将它们分别作为输入端口或输出端口,不过这3个端口在不同的工作方式下有不同的功能及特点,如表7―1所示。图7―18255A的内部结构图2)A组和B组控制电路这是两组根据CPU的命令字控制8255A工作方式的电路。它们的控制寄存器先接受CPU送出的命令字,然后根据命令字分别决定两组的工作方式,也可根据CPU的命令字对端口C的每1位实现按位“复位”或“置位”。A组控制电路控制端口A和端口C的上半部(PC7~PC4)。B组控制电路控制端口B和端口C的下半部(PC3~PC0)。表7―18255A端口功能表2.8255A的芯片引脚8255A是一种有40个引脚的双列直插式标准芯片,其引脚排列如图7―2所示。除电源(+5V)和地址以外,其它信号可以分为两组:(1)与外设相连接的有:PA7~PA0:A口数据线PB7~PB0:B口数据线PC7~PC0:C口数据线图6―28255A的芯片引脚图(2)与CPU相连接的有:D7~D0:8255A的数据线,和系统数据总线相连。RESET:复位信号,高电平有效。当RESET有效时,所有内部寄存器都被清除,同时,3个数据端口被自动设为输入方式。:片选信号,低电平有效。只有当有效时,芯片才被选中,允许8255A与CPU交换信息。:读信号,低电平有效。当有效时,CPU可以从8255A中读取输入数据。:写信号,低电平有效。当有效时,CPU可以往8255A中写入控制字或数据。A1、A0:端口选择信号。8255A内部有3个数据端口和1个控制端口,当A1A0=00时选中端口A;A1A0=01时选中端口B;A1A0=10时选中端口C;A1A0=11时选中控制口。A1、A0和、及组合所实现的各种功能如表6-2所示。表7―28255A端口选择表1.28255A的工作方式8255A有3种工作方式,即方式0、方式1和方式2,这些工作方式可用软件编程来指定。3种工作方式的传送示意图如图6―3所示。图6―38255A的3种工作方式(a)方式0;(b)方式1;(c)方式21.方式0(基本输入/输出方式)这种工作方式不需要任何选通信号,A口、B口及C口的高4位和低4位都可以设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口时,A口的数据能锁存,B口与C口的数据不能锁存。2.方式1(选通输入/输出方式)在这种工作方式下,A口可由编程设定为输入口或输出口,C口的3位用来作为输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口,C口的另3位用来作为输入/输出操作的控制和同步信号。在方式1下A口和B口的输入数据或输出数据都能被锁存。1)方式1下A口、B口均为输入在方式1下,A口和B口均工作在输入状态时,需利用C口的6条线作为控制和状态信号线,其定义如图6―4(a)所示。图6―4方式1下的信号定义(a)A口、B口均为输入时;(b)A口、B口均为输出时C口所提供的用于输入的联络信号有:①(Strobe):选通脉冲信号(输入),低电平有效。当外设送来信号时,输入的数据被装入8255A的输入锁存器中。②IBF(InputBufferFull):输入缓冲器满信号(输出),高电平有效。此信号有效时,表示已有一个有效的外设数据锁存于8255A的口锁存器中,尚未被CPU取走,暂不能向接口输入数据,它是一个状态信号。③INTR(InterruptRequest):中断请求信号(输出),高电平有效。当IBF为高、信号由低变高(后沿)时,该信号有效,向CPU发出中断请求。方式1数据输入过程如下:当外设的数据准备好后,发出信号,输入的数据被装入锁存器中,然后IBF信号有效(变为高电平)。数据输入操作的时序关系如图6―5所示。图6―5方式1下的输入时序2)方式1下A口、B口均为输出与输入时一样,要利用C口的6根信号线,其定义如图6―4(b)所示。用于输出的联络信号有:(1)(Acknowledge):外设响应信号(输入),低电平有效。(2)(OutputBuffeFull):输出缓冲器满信号(输出),低电平有效。(3)INTR:中断请求信号(输出),高电平有效。方式1下数据输出过程如下:当外设接收并处理完1组数据后,发回响应信号。数据输出操作的时序关系如图6―6所示。应当指出,当8255A的A口与B口同时为方式1的输入或输出时,需使用C口的6条线,C口剩下的2条线还可以用程序来指定数据的传送方向