Presentation is loading. Please wait.

Presentation is loading. Please wait.

第十章 并行输入输出接口芯片 8255A (1) 有 24 可用于与外设相连接的 I/O 引脚,这 24 条引 脚分属于 A , B , C 三个端口 (2) 有三种主要工作方式:方式 0 ,方式 1 ,方式 2 一、 8255A 的引脚.

Similar presentations


Presentation on theme: "第十章 并行输入输出接口芯片 8255A (1) 有 24 可用于与外设相连接的 I/O 引脚,这 24 条引 脚分属于 A , B , C 三个端口 (2) 有三种主要工作方式:方式 0 ,方式 1 ,方式 2 一、 8255A 的引脚."— Presentation transcript:

1

2

3

4 第十章 并行输入输出接口芯片 8255A

5 (1) 有 24 可用于与外设相连接的 I/O 引脚,这 24 条引 脚分属于 A , B , C 三个端口 (2) 有三种主要工作方式:方式 0 ,方式 1 ,方式 2 一、 8255A 的引脚

6 Intel 系列的 8 位并行接口芯片 通用性强,使用灵活 可用程序设置和改变芯片的工作方式 是一种典型的可编程并行接口芯片 8255A PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3 40 个引脚,双列直插式

7 A 组 端口 A A 组 端口 C 高四位 B 组 端口 C 低四位 B 组 端口 B PA7~PA0 PC7~PC4 PC3~PC0 PB7~PB0 A 组控 制逻辑 B 组控 制逻辑 数据 总线 缓冲器 读 / 写 逻辑 控制 D7-D0 RD WR A1 A0 RESET CS

8 A1 A0 RD WR CS 操作 0 0 0 1 0 端口 A 数据总线 0 1 0 1 0 端口 B 数据总线 1 0 0 1 0 端口 C 数据总线 0 0 1 0 0 数据总线 端口 A 0 1 1 0 0 数据总线 端口 B 1 0 1 0 0 数据总线 端口 C 1 1 1 0 0 数据总线 控制字寄存器 X X X X X 数据总线三态 1 1 0 1 0 非法状态 X X 1 1 0 数据总线三态

9 基本输入 / 输出方式(方式 0 ) 选通工作方式(方式 1 ) 双向传送方式(方式 2 )(仅 A 口) 某端口工作于哪一种方式,可通过软件编程来 指定。即向 8255 写入方式控制字来决定其工作方 式,

10 l  8255A 有两种控制字,由写入内容 的 D7 位区分:

11 B口B口 0 输出 1 输入 0 方式 0 1 方式 1 1 D7D6D5D4D3D2D1D0 特征位, D7=1 表示是方式控制字 PC3~PC0 0 输出 1 输入 B 口 工作 方式 PC7~PC4 0 输出 1 输入 A口A口 0 输出 1 输入 A 口工作方式 00 方式 0 01 方式 1 1x 方式 2

12 0 复位 1 置位 0 D7D6D5D4D3D2D1D0 设置内容 特征位, D7=0 表示是 C 口按位 置位 / 复位控制字 无意义 选择设置位 C 口按位置位 / 复位控制字各位含义 :

13

14

15

16

17

18

19 对方式 1 输入的端口, C 口提供与外部联络的信号有: ① STB 选通信号(低电平有效) 由外设发出,送给 8255A , 作用是将外设送来的数据锁存到 8255A 的输入端口。 ② IBF 输入缓冲器满信号(高电平有效) 8255A 发出, 表示外设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后, 8255A 自动发出 IBF 。 ③ INTR 中断申请信号 (高电平或上升沿有效) 8255A 发出,用来向 CPU 发出中断申请。 STB 、 IBF 、 INTE 均为1时, 8255A 自动发出 INTR 。 PA7 ~ P A0 PC 4 PC 5 PC 3 INTE A PC4 与门与门 IBF STB INTR

20 对方式 1 输入的端口, 8255A 内部的控制信号有: INTE 中断允许控制信号 作用是控制是否允许 8255A 的中断申请信号 INTR 发出。 PA7 ~ PA 0 PC4 PC5 PC3 INTE A PC4 与门 IBF STB INTR 此信号无引出, 通过控制口对 C 口相应位的置位 / 复位设置允许 或不允许。 A 口,对 PC4 置位, 使 INTEA=1, 允许中断 – 对 PC4 复位, 使 INTEA=0, 不允许中断 B 口,对 PC2 置位, 使 INTEB=1, 允许中断 – 对 PC2 复位, 使 INTEB=0, 不允许中断

21

22 ① 当外设数据准备好,将数据送至端口线 PA7~PA0 或 PB7~PB0 ② 外设发出选通信号 STB: ( 1) 将数据锁存在输入端口内。 (2) 使 IBF 变高,表示输入端口满,可用于阻止外设输入新数据 (3) 如果 INTE=1, STB 的上升沿使 INTR 变高,发出中断请求。 ③ 中断处理程序中 CPU 读取数据,发出 RD 信号 : (1) RD 的下降沿清除 INTR (2) RD 的上升沿清除 IBF (3) 端口内的数据进入 CPU PA7 ~ PA0 PB7 ~ PB0 STB IBF INTR RD 外设送来数 据 ② 当 INTE=1 时 ③ ① RDRD D7 ~ D0 PA7 ~ P A0 PC 4 PC 5 PC 3 INTE A PC4 与门与门 IBF STB INTR

23

24 PA7 ~ P A0 PC 6 PC 7 PC 3 INTE A PC6 与门与门 OBF A ACK A INTR A

25 PA7 ~ PA 0 PC6 PC7 PC3 INTE A PC6 与门 OBF A ACK A INTR A 此信号无引出, 通过控制口对 C 口相应位的置位 / 复位设置允许或不允 许。 A 口,对 PC6 置位, 使 INTEA=1, 允许中断 – 对 PC6 复位, 使 INTEA=0, 不允许中断 B 口,对 PC2 置位, 使 INTEB=1, 允许中断 – 对 PC2 复位, 使 INTEB=0, 不允许中断

26

27 ① CPU 输出数据 ② CPU 发出 WR : (1) 数据写到 8255A 的端口 (2) 使 OBF 有效,表示输出端口满, 可作为外设的选通信号, 通知外设取数据。 (3) 清除中断请求信号 INTR ③ 外设接受到数据后,发出 ACK 信号: (1) ACK 的下降沿使 OBF 变高, (2) 当 INTE=1, ACK 的上升沿使 INTR 变高, 发出中断请求,请求 CPU 输出新的数据。 WR OBF ACK 当 INTE=1 时 送往外设数据 数据写入端口 ② ③ ① PA7 ~ PA 0 PC6 PC7 PC3 INTE A PC6 与门 OBF A ACK A INTRA WRWR D7 ~ D 0

28 注意:  INTE 的状态可利用 C 口的位控方式来设置:  输入: A 口的 INTE :写入 PC4 B 口的 INTE :写入 PC2  输出: A 口的 INTE :写入 PC6 B 口的 INTE :写入 PC2  例如:方式 1 输入允许 A 口中断,则应按如下方 法设置 INTEA 。 MOV DX ,控制寄存器地址 MOV AL , 0xxx1001B ;1= 允许中断,0= 禁止中断 OUT DX , AL

29

30

31

32 方式 2 的时序如图所示。 它可以认为是方式 1 输 出和输入的组合,但有 以下不同: 当 CPU 将数据写入端口 A 时,尽管变为有效, 但数据并不出现在端口 的数据线 PA7~PA0 上。 只有外部设备发出信号 时,数据才进入 PA7~PA0 。 输入和输出引起的中断 请求信号都通过同一条 引脚输出, CPU 必须通 过查询 OBFA 和 IBFA 状 态才能确定是输入过程 引起的中断请求还是输 出过程引起的中断请求。 信号和信号不能同时有 效,否则将出现数据传 送 “ 冲突 ” 。

33 以 8255A 作为终端机的接口  由 PA 口输出字符到终端机的显示缓冲器, PB 口用 于键盘输入字符  当 PC2=1 时,表示键盘输入字符就绪,当 PC1=0 时,表示显示缓冲器已空  要求用软件查询方法把从键盘输入的每个字符都 送到终端机的显示缓冲器上,同时送到内存 BUFFER 开始的单元中,当输入的是回车键,操 作结束,  端口地址 44H~47H

34 初始化 8255 输出至显示缓冲器 结束 存储 PC1=0 ? 是否回车 PC2=1 ? CX=1 ? N N N N Y Y Y

35 控制字: 10000010B DATA SEGMENT BUFFER DB 100 DUP(?) COUNT EQU $-BUFFER DATA ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 100 DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:MOV AL,10000010B OUT 47H,AL

36 MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,COUNT LEA DI,BUFFER CLD CHECK1:IN AL,46H TEST AL,00000100B JZ CHECK1 IN AL,45H CMP AL,0DH JZ DONE STOSB MOV BL,AL CHECK2:IN AL,46H TEST AL,00000010B JNZ CHECK2

37 MOV AL,BL OUT 44H,AL DEC CX JNZ CHECK1 DONE:MOV AH,4CH INT 21H CODE ENDS END START

38


Download ppt "第十章 并行输入输出接口芯片 8255A (1) 有 24 可用于与外设相连接的 I/O 引脚,这 24 条引 脚分属于 A , B , C 三个端口 (2) 有三种主要工作方式:方式 0 ,方式 1 ,方式 2 一、 8255A 的引脚."

Similar presentations


Ads by Google