7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 与 CPU 一侧相连的引脚 D0 PA0 ~ ~ ~ ~ ~ D7 PA7 RESET PC7 WR RD PC4 PC3 PC0 A0 PB0 A1 PB7 CS PA 口 PC 口上半部 PC 口下半部 PB 口 A 组 B 组 与 I/O 设备相连的引脚
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 3. 8255A 端口的识别一片 8255A 接口芯片内部包含了 PA 口 PB 口 PC 口和方式控制寄存器端口四个 I/O 端口,CPU 对 8255A 读 / 写操作, 是对那个端口的读 / 写操作, 是用 CS A1 和 A0 三个引脚的状态来识别的 其规则如下 :
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 3. 8255A 端口的识别 片外寻址片内寻址 CS A1 A0 选中端口 0 0 0 端口 A 0 0 1 端口 B 0 1 0 端口 C 0 1 1 方式控制端口 1 X X 未选中
由 CS A1 A0 RD WR 引脚的不同组合, 实现各种不同的功能 CS A1 A0 RD WR 功能 0 0 0 0 1 对端口 A 读 0 0 1 0 1 对端口 B 读 0 1 0 0 1 对端口 C 读 0 1 1 0 1 非法, 不能对命令口读 0 0 0 1 0 对端口 A 写 0 0 1 1 0 对端口 B 写 0 1 0 1 0 对端口 C 写 0 1 1 1 0 对端口 D 写 输入输出 1 数据缓冲器为三态断开
7.2 并行接口 4. 8255A 内部结构 ( 以 PA 口为例 ) 方式控制寄存器 D 0 ~D 7 RESET WR RD A1 A0 CS 数据双向缓冲器 控制逻辑 输出锁存器 输入缓冲器 PA0~PA7
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 4. 8255A 的工作方式 8255A 有三种基本工作方式 : 方式 0: 基本的输入 / 输出 方式 1: 有联络信号的输入 / 输出 方式 2: 双向传送
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 4. 8255A 的工作方式 A 组可采用方式 0~ 方式 2, 而 B 组只能采用 方式 0 和方式 1, 这由 8255A 的方式控制寄存器控制 当向 A 1 =1 A 0 =1 的端口寄存器 ( 即控制寄存器 ) 发送 D7=1 的控制字时, 其作用为方式控制字, 各个位的含义如下图所示
D7 D6 D5 D4 D3 D2 D1 D0 1 PC7~PC4 A 口 0 输出 1 输入 00 方式 0 A 组工作方式 01 方式 1 1x 方式 2 特征位,D7=1 表示是方式控制字 B 组工作方式 PC3~PC0 0 输出 1 输入 B 口 0 输出 1 输入 0 输出 1 输入 0 方式 0 1 方式 1
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 4. 8255A 的工作方式应该注意, 当向 A 1 =1 A 0 =1 的端口寄存器 ( 即控制寄存器 ) 发送 D7=0 的控制字时, 其作用为 PC 口位管理, 各个位的含义如下图所示
D7 D6 D5 D4 D3 D2 D1 D0 0 特征位,D7=0 表示是 C 口按位置位 / 复位控制字 X X X 无意义 选择设置位 D3 D2 D1 设置位 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7 7.2 并行接口 设置内容 0 复位 1 置位
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 RESET D7~D0 RD WR CS 数据缓冲器 读写控制 端口 A 端口 C 端口 B PA0~PA7 PC0~PC7 PB0~PB7 A1 A0 片内译码 控制口
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 5. 8255A 的初始化例. 设分配给 8255A 的端口地址为 280H~283H 将 8255A 的 PA 口设置成方式 0 输出, PB 口设置成方式 1 输入, PC 口设置成方式 0 输出 试编写 8255A 的初始化程序
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 1 地址分析 对应 280H 端口的地址信号为 ( 取 A9~A0): A1 A0 (8255 引脚 ) A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 ( 系统地址信号 ) 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 PA 口 PB 口 PC 口 控制口
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 2 初始化程序 MOV DX,283H MOV AL,10000110B ; 86H OUT DX,AL ; 若欲将 PC2 置 1,PC 口位管理方法如下 MOV AL,0XXX0101B OUT DX,AL
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 6. 8255A 与系统总线的连接例. 设分配给 8255A 的端口地址为 280H~283H 试将 8255A 连接到 PC/XT 系统总线上
7.2 并行接口 1 确定系统总线及设计此电路所需的总线信号 D7-D0 PC/XT 系统总线 A19-A10 A9-A0 AEN MEMW MEMR IOW IOR
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 2 地址分析 对应 280H 端口的地址信号为 ( 取 A9~A0): A1 A0 (8255 引脚 ) A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 ( 系统地址信号 ) 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 PA 口 PB 口 PC 口 控制口
7.2 并行接口 3 译码电路设计 ( 用全地址译码方法 ) A8 A6 A5 A4 A3 A2 A9 A7 选通信号 IOR IOW AEN 作 8255A 的 CS 选通信号
4 电路连接 D7-D0 PC/XT RESET 系 IOW IOR 统总 A0 线 A1 D0 PA0 ~ ~ ~ ~ ~ D7 PA7 RESET PC7 WR RD PC4 PC3 PC0 A0 PB0 A1 PB7 CS 7.2 并行接口 PA 口 PC 口上半部 PC 口下半部 PB 口 接译码器输出
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 7. 8255A 的方式 0 应用 例. 在 PC/XT 系统总线上扩充一片 8255A 接口芯片, 分配给 8255A 的端口地址为 280H~283H PA 口为输出, 输出设备为 8 个 LED 发光二极管 (L 0 ~L 7 ),PA i (i=0~7) 输出 1, 对应 L i 亮 ;PA i 输出 0, 对应 L i 灭 PB 口为输入, 输入设备为 8 个乒乓开关 (K 0 ~K 7 ), 开关断开 ( 低电平 ), 开关闭合 ( 高电平 )
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 7. 8255A 的方式 0 应用 1 试画出 8255A 与 PC/XT 系统总线和设备的接口电路图 2 编写将开关状态送 LED 灯的显示程序 3 编写将 L 0 ~ L 7 每间隔 1 秒循环亮 1 位的显示程序 ( 假如 1 秒延时子程序 DELAY1S 可调用 )
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 1 试画出 8255A 与 PC/XT 系统总线和设备的接口电路图 Χ 确定系统总线及设计此电路所需的总线信号 PC/XT 系统总线 D7-D0 A19-A10 A9-A0 AEN IOW IOR
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 Χ 地址分析对应 280H 端口的地址信号为 ( 取 A9~A0): A1 A0 (8255 引脚 ) A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 ( 系统地址信号 ) 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 PA 口 PB 口 PC 口 控制口
IOR IOW Χ 电路连接
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 2 编写将开关状态送 LED 灯的显示程序 MOV DX,283H MOV AL,10000010B ; 82H OUT DX,AL MOV DX,281H IN AL,DX MOV DX,280H OUT DX,AL
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 3 编写将 L 0 ~ L 7 每间隔 1 秒循环亮 1 位的显示程序 ( 假如 1 秒延时子程序 DELAY1S 可调用 ) MOV DX,283H MOV AL,10000010B ; 82H OUT DX,AL MOV DX,280H MOV AL,00000001B NT: OUT DX,AL CALL DELAY1S ROL AL,1 JMP NT
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 8. 方式 1 有联络信号的输入 / 输出 三个端口的信号分为 A B 两组,PC 4 ~PC 7 作为 A 组的联络信号,PC 3 ~PC 0 作为 B 组的联络信号, 但 PC 3 PC 0 固定作为 A 组和 B 组向 CPU 发送的中断请求信号 为对中断请求信号进行管理,8255A 中专门设置了中断屏蔽触发器 INTEA 和 INTEB, 它们是通过对端口 C 某一位的置位控制字进行控制的, 如下表所示
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 分组 中断屏蔽触发字 输入 / 输出方式 端口 C 中的控制位 A 组 INTEA 输入 PC 4 A 组 INTEA 输出 PC 6 B 组 INTEB 输入 / 输出 PC 2
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 8. 方式 1 有联络信号的输入 / 输出利用置位控制字对 INTE 对应端口 C 口的位置位时,INTE=1, 表示允许产生中断请求信号 ; 对 INTE 对应端口 C 口的位清零时, INTE=0, 表示不允许 ( 屏蔽 ) 产生中断请求信号
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 方式 1 输入当将 A 组和 B 组设置成方式 1 输入时, 其方式控制字与端口数据线如下图所示, 注意 D 3 用于控制 PC 6 7 的传送方向
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 方式控制字 D7~D0 PA7~PA0 1 0 1 1 X X X PC 6 7 1= 输入 0= 输出 INTE A PC4 PC5 STB A IBF A RD 与门 PC3 INTR A PC 6 7 I/O 方式 1 输入 ( 端口 A)
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 方式控制字 D7~D0 PA7~PA0 1 X X X X 1 1 X INTE B PC2 PC1 STB B IBF B RD 与门 PC0 INTR B 方式 1 输入 ( 端口 B)
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 方式 1 下的输入方式,8255A 与 CPU 通过 INTR ( 中断请求信号 ) 联络, 它与外设有两个联络信号 ;STB( 选通输入 ) 与外设提供的选通脉冲相连, 将外设送来的数据锁存到端口寄存器, 这相当于 数据准备好 信号 IBF( 输入缓冲满 ) 向外设发送数据输入响应 ( 高电平有效 ), 表示端口寄存器已收到数据, 但尚未被 CPU 取走 ; 当 IBF 信号无效时, 表示 接收准备好
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 8. 方式 1 有联络信号的输入 / 输出 8255A 工作在方式 1 的输入方式下, 其控制字与端口数据线之间的数据传送与联络信号的时序如下图所示
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 MODE 1: STROBED INPUT (PORTA/PORT B) STB IBF INTR RD DATA-IN FROM PERIPHERAL INTE PROGRAMMED PC4=1 (PORT A) PC2=1(PORT B)
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 方式 1 输出当将 A 组和 B 组设置成方式 1 输出时, 其方式控制字与端口数据线如下图所示, 注意 D 3 用于控制 PC 4 5 的传送方向
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 方式控制字 D7~D0 PA7~PA0 1 0 1 1 X X X PC 4 5 INTE A 1= 输入 0= 输出 PC7 PC6 OBFA ACKA WR 与门 PC3 INTRA PC 4 5 I/O 方式 1 输出 ( 端口 A)
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 方式控制字 D7~D0 PA7~PA0 1 X X X X 1 0 X INTE B PC1 OBFB PC2 ACKB WR 与门 PC0 INTRB 方式 1 输出 ( 端口 B)
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 方式 1 下的输出方式,8255A 与 CPU 通过 INTR ( 中断请求信号 ) 联络, 它与外设有两个联络信号 ;OBF( 输出缓冲器满 ) 有效表示 CPU 已将数据写入端口寄存器, 这相当于 数据准备好 信号 ACK( 回执 ) 有效表示外设已将数据取走,CPU 可发来新的数据
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 8. 方式 1 有联络信号的输入 / 输出 8255A 工作在方式 1 的输出方式下, 其与外设之间的数据传送与联络信号的时序如下图所示
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 WR MODE 1: STROBED OUTPUT (PORTA / PORT B) OBF INTR ACR OUTPUT TO PERIPHERAL OUTPUT VALID CPU DATA BUS INTE PROGRAMMED PC6=1 (PORT A), PC2=1(PORT B)
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 方式 1 组合在方式 1 下,8255A 的 A 组和 B 组可以独立的定义, 也就是说 A 组输入 / 输出方式的设定与 B 组的输入 / 输出方式无关, 反之亦然 例如, 设定的方式控制字为 10111100B 时, 表示 A 组为方式 1 输入,B 组为方式 1 输出, 而且 PC 6 7 设定成输入
7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用 方式 1 组合又如, 当设定的方式控制字为 10100110B 时, 表示 A 组为方式 1 输出,B 组为方式 1 输入, 而且 PC 4 5 设定成输出
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 9 方式 2 双向传送这种方式只适用于 A 组,PC 6,7 用作输出的联络信号, PC 4,5 用作输入的联络信号, PC 3 仍作为中断请求信号 当将 A 组设置成方式 1 时,B 组仍可设置成方式 0 或方式 1 当 A 组设置成方式 2 时, 端口 A 的数据总线为双向, 一方面 CPU 通过 8255A 将数据转发给外设, 另一方面, 外设也通过 8255A 将数据提交给 CPU 中断请求信号的产生由两个中 断屏蔽触发器控制 (INTE1,INTE2), 它们置位和清零操作分别通过对 PC 6 和 PC 4 的置位和清零来完成 当 CPU 响应中断请求时, 应设法确定是发送请求还是接受请求
7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 作业 P313 18.