编辑: 星野哀 | 2016-03-20 |
1 并行接口电路8255A 具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路分3个端口,共24个外设引脚共三种输入输出工作方式 10.1.1 8255A的内部结构和引脚 数据总线缓冲器 内部控制线 内部数据线 D0~D7 A组控制 A组端口A A组端口C上部 B组控制 B组端口B B组端口C下部 读写控制逻辑 PC0~PC3 PB0~PB7 PC4~PC7 PA0~PA7 RDWRA0A1CSRESET 1. 外设数据端口 端口A:PA0~PA7A组,支持工作方式
0、
1、2端口B:PB0~PB7B组,支持工作方式
0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3 端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握 2. 与处理器接口 写端口A写端口B写端口C写控制字 写操作WR* 读端口A读端口B读端口C非法 读操作RD* 60H61H62H63H I/O地址
0 0
00 0
10 1
00 1
1 CS* A1 A0 D0 ~ D7数据线A0 ~ A1地址线RD*读信号WR*写信号CS*片选信号RESET复位信号 10.1.2 8255A的工作方式 方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路 方式0输入时序 data data 输入端口 D0~D7 RD CS,A1,A0 请体会这里8255A的数据缓冲作用 方式0输出时序 WR data data 输出端口 D0~D7 CS,A1,A0 8255A对CPU通过它输出给外设的数据进行锁存 方式1输入引脚:A端口 数据选通信号表示外设已经准备好数据 输入缓冲器满信号表示A口已经接收数据 中断请求信号请求CPU接收数据 PC4 PC5 PC3 PA7~PA0 INTEA IBFA INTRA STBA 中断允许触发器 方式1输入引脚:B端口 PC2 PC1 PC0 PB7~PB0 INTEB IBFB INTRB STBB 数据选通信号表示外设已经准备好数据 输入缓冲器满信号表示A口已经接收数据 中断请求信号请求CPU接收数据 中断允许触发器 方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能 方式1输入联络信号 STB*――选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF――输入缓冲器满信号,高电平有效8255A输出的联络信号.当其有效时,表示数据已锁存在输入锁存器INTR――中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据 方式1输入时序 data INTR IBF data 输入端口 D0~D7 STB RD STB*和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据 方式1中断控制 8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2 方式1输出引脚:A端口 外设响应信号表示外设已经接收到数据 输出缓冲器满信号表示CPU已经输出了数据 中断请求信号请求CPU再次输出数据 PC6 PC7 PC3 PA7~PA0 INTEA OBFA INTRA ACKA 中断允许触发器 方式1输出引脚:B端口 PC2 PC1 PC0 PB7~PB0 INTEB OBFB INTRB ACKB 外设响应信号表示外设已经接收到数据 输出缓冲器满信号表示CPU已经输出了数据 中断请求信号请求CPU再次输出数据 中断允许触发器 方式1输出联络信号 OBF*――输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*――响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR――中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据 端口A的INTEA对应PC6端口B的INTEB对应PC2 方式1输出时序 INTR data data 输出端口 D0~D7 WR OBF ACK OBF*和ACK*是外设和8255A间的一对应答联络信号,为的是可靠地输出数据 方式2双向方式 方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据 方式2双向引脚 PC6 PC7 PC3 PA7~PA0 INTE1 OBFA INTRA ACKA PC4 PC5 IBFA STBA INTE2 用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号 方式2双向时序 data-out INTR data-out data-in data-in PA0~PA7 D0~D7 IBF WR OBF ACK STB RD 10.1.3 8255A的编程 初始化编程:一个方式控制字采用控制I/O地址:A1A0=11工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于