Presentation is loading. Please wait.

Presentation is loading. Please wait.

微机原理与接口技术 第6章 并行输入输出接口(8255A)

Similar presentations


Presentation on theme: "微机原理与接口技术 第6章 并行输入输出接口(8255A)"— Presentation transcript:

1 微机原理与接口技术 第6章 并行输入输出接口(8255A)
黄强 深圳大学 信息工程学院

2 本章内容位于 书本P330—P340

3 第一节 并行接口的基本概念 一、并行通信和串行通信 二、并行接口概述

4 通信指计算机与外设、计算机与计算机间的信息交换
一、并行通信和串行通信 通信指计算机与外设、计算机与计算机间的信息交换 通信的基本方法: 并行通信和串行通信

5 并行通信 并行通信适于短距离、高速通信 将数据的各位同时在多根并行传输线上进行传输。 数据的各位同时由源到达目的地 → 快
D0 D1 D2 D3 D4 D5 D6 D7 1 数据的各位同时由源到达目的地 → 快 多根数据线 → 距离短、远程费用高 并行通信适于短距离、高速通信

6 串行通信 串行通信适于长距离、中低速通信 将数据的各位按时间顺序依次在一根传输线上传输。 0 1 1 0 1 0 1 0
RD TD 数据的各位依次由源到达目的地 → 慢 数据线少 → 远程, 费用低 串行通信适于长距离、中低速通信

7 二、并行接口概述 并行接口连接CPU与并行外设,实现 两者间的并行通信, 在信息传送过程中,起到输出锁存或输入缓冲的作用。
并行接口的典型硬件结构包括: 1、一个或一个以上具有锁存或缓冲的数据端口 2、与CPU进行数据交换所必须的控制和状态信号 3、与外设进行数据交换所必须的控制和状态信号 4、端口译码电路 5、控制电路

8 并行接口连接外设示意图

9 输入过程  外设将数据=>接口 →状态线“数据输入准备好”=1; →接口把接收到数据输入缓冲寄存器;
 外设将数据=>接口 →状态线“数据输入准备好”=1; →接口把接收到数据输入缓冲寄存器; →数据输入回答=1,作为对外设响应信号; →外设撤消“数据”和“数据输入准备好”信号;  CPU从接口读取数据 →接口收到数据,设置“输入准备好”状态位; →供给CPU查询 或问CPU发中断请求; → CPU从接口读取数据, 接口自动清除状态寄存器输入准备好状态位(准备好); →数据总线处于高阻状态。开始下一个输入过程

10 输出过程 输出 :每当外设从接口取走一个数据以后,  CPU往接口中输出数据 →接口中状态寄存器发中断请求;
→接口自动清除“输出准备”好。  将数据送往外设: 接口向外设发送一个“驱动信号”,启动外设接收数据。 →外设收到数据向接口发一个“数据输出回答”信号; →接口收到的信号将状态寄存器中“输出准好”=1; → CPU输出下一个数据。

11 可编程并行接口的工作方式和功能: 不可编程并行接口和可编程并行接口 是由硬件接线决定,不能用软件来控制。 可用软件编程的方法改变,
不可编程并行接口的工作方式和功能: 是由硬件接线决定,不能用软件来控制。 可编程并行接口的工作方式和功能: 可用软件编程的方法改变, 使接口具有更大的灵活性和通用性。

12 例 在80X86系列中使用8255A芯片 不同的产品系列研制出与之相匹配的接口芯片。 在并行接口芯片中,
在Z80系列中使用Z80-PIO芯片 在6800系列中使用MC6820PIA芯片 一般情况下不交叉使用,因为: 只有本系列的芯片才能更好地保证时序上的配合, 和各种功能的发挥,使CPU可靠与外设交换信息。

13 第二节 可编程并行接口8255A 一、8255A的引脚、编程结构 二、8255A的控制字 三、8255A三种工作方式

14 8255A 一、8255A引脚、编程结构 Intel系列的8位并行接口芯片 通用性强,使用灵活 可用程序设置和改变芯片的工作方式
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 Intel系列的8位并行接口芯片 通用性强,使用灵活 可用程序设置和改变芯片的工作方式 是一种典型的可编程并行接口芯片 40个引脚,双列直插式

15 外 设 8255A 总线 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码
数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 8255A 总线

16 外 设 1. 数据端口 A、B、C 8255A 每个端口8位,通过编程设定其为输入口或输出口 可用来和外设传送信息 端口A 端口C 端口B
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 8255A 总线

17 外 设 端口A 8255A 有 3 种工作方式( 方式 0、方式 1、方式 2) 对外 8 根引脚 PA7 ~ PA0 端口A 端口C
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 8255A 总线

18 端口B 外 设 8255A 有 2 种工作方式:方式 0、方式 1 对外 8 根引脚 PB7 ~ PB0 端口A 端口C 端口B 控制口 D
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 8255A 总线

19 外 设 8255A 端口C 对外引脚PC0 ~ PC7 端口A 端口B 控制口 D 总线 reset D7 ~ D0 A9 A2 A1 A0
IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口B +5V GND 8255A 总线

20 外 设 当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时, 端口 C 的某些位用于传送联络信号,
以适应CPU与外设间的各种数据传送方式的要求, 如查询传送的应答信号、中断传送的中断申请信号等; C口未被用作联络信号的其它位可工作在方式 0。 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

21 外 设 2. 控制端口D (A组和B组控制电路)  8位端口,无对外引脚  控制端口的内容决定A口、B口、C口的工作状态(输入或输出)
 8位端口,无对外引脚  控制端口的内容决定A口、B口、C口的工作状态(输入或输出) 和工作方式(方式 0、1、2), 起控制作用。 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

22 外 设 3. 数据总线缓冲器(引脚D0~D7)  由1个8位双向三态缓冲器构成  8255A内各端口通过数据缓冲器与系统总线相连。
CPU与端口A、B、C间传送的数据, 以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。 3. 数据总线缓冲器(引脚D0~D7) reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

23 外 设 4. 读写控制电路 (引脚CS、 RD、 WR)  控制数据总线缓冲器的状态。 数据总线缓冲器有3种状态:输入、输出、高阻态
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

24 外 设 端口A 端口C 端口B 控制口 D reset 数据 缓冲器 读写 控制 片选 译码 片内 +5V GND PA7 PA0 PC7
~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 RESET PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND RD WR CS PA7 PA0

25 外 设 5. 片内译码电路 (引脚A1、 A0) 选择被操作的端口 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9
IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

26 外 设 端口A 端口C 端口B 控制口 D reset 数据 缓冲器 读写 控制 片选 译码 片内 +5V GND PA7 PA0 PC7
~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 RESET PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND RD WR CS PA7 PA0

27 由CS、A1、A0、RD、WR引脚的不同组合,
实现各种不同的功能。      

28 1.方式控制字 2. C口按位置位/复位控制字 二、8255A的控制字

29 外 设  8255A控制口D的内容对数据端口A、B、C起控制作用, 故称为8255A的控制字。 端口A 端口C 端口B 控制口 D
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

30 例 假设8255A 控制端口的地址为Port_Ctrl,
 通过编程向控制口写入不同的控制字, 可灵活的改变端口A、B、C的工作状态和工作方式。 例 假设8255A 控制端口的地址为Port_Ctrl, 8255A控制口的内容为CtrlData 设置控制字的程序段如下: MOV DX,Port_Ctrl ;置DX为控制口地址 MOV AL,CtrlData ;置控制字于AL中 OUT DX, AL ;将控制字写入控制口

31 D7=1, 方式控制字 D7=0 , C口按位置位/复位控制字  8255A有两种控制字,由写入内容的D7位区分:
设定A口、B口、C口的工作状态和工作方式。 工作状态:输入或输出 工作方式:方式 0、方式 1、方式 2 D7=0 , C口按位置位/复位控制字 使C口中的某一位为1(置位)或0(复位)。

32 外 设 1. 方式控制字 设定A口、B口、C口的工作状态和工作方式。 工作状态:输入或输出 工作方式:方式 0、方式 1、方式 2 端口A
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

33 方 式 控 制 字 各 位 含 义 B口 0 输出 1 输入 0 方式0 1 方式1 1 D7 D6 D5 D4 D3 D2 D1 D0
PC3~PC0 B口工作方式 PC7~PC4 A口 A口工作方式 00 方式0 01 方式1 1x 方式2

34 例 8255A与系统的连线如下, 片选译码地址为F0~F3h
1) 确定各端口地址; 2) 编程设置8255A : A口方式 0 输入,PC7~PC4输出 B口方式 0 输出,PC3~PC0输入 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 RESET PC7 PC0 PB7 PB0 控制口 D 端口A 端口C 端口B +5V GND RD WR CS PA7 PA0 F0~F3h

35 1) 确定端口地址 由8255A编程结构知: 由8255A的CS与系统总线的连线知, 地址在F0~F3h可使CS有效,故:
A7 A6 A5 A4 A3 A2 A1 A0 F0H A口 F1H B口 F2H C口 F3H D口 CS A1 A0 8255A 总线 最后得出结论: A口地址为 F0 H B口地址为 F1 H C口地址为 F2 H D口地址为 F3 H

36 2) 确定方式控制字 要求设置: A口方式0输入,PC7~PC4输出 B口方式0输出,PC3~PC0输入
2) 确定方式控制字 1 D7 D6 D5 D4 D3 D2 D1 D0 特征位 A口 方式 0 输入 PC7~PC4 输出 B口 PC3~PC0 要求设置: A口方式0输入,PC7~PC4输出 B口方式0输出,PC3~PC0输入 所以,方式控制字为 B,即91H

37 或 MOV AL, 91H ; 方式控制字 设置方式控制字的程序段为: MOV DX, 0F3H ;控制口地址
OUT DX, AL 或 MOV AL, 91H ; 方式控制字 OUT F3H, AL

38 2. C口按位置位/复位控制字 作用是: 使C口中的某一位为1(置位)或0(复位); 或在A口、B口采用中断方式时,

39 C口按位置位/复位控制字各位含义: 0 复位 1 置位 D7 D6 D5 D4 D3 D2 D1 D0 设置内容 特征位,D7=0
D7 D6 D5 D4 D3 D2 D1 D0 设置内容 特征位,D7=0 表示是C口按位 置位/复位控制字 无意义 选择设置位 C口按位置位/复位控制字各位含义:

40 例 连线如上例, 通过控制口置 PC2 为 0,置 PC4 为 1 MOV DX,0F3H ;置DX为控制口地址
例 连线如上例, 通过控制口置 PC2 为 0,置 PC4 为 1 MOV DX,0F3H ;置DX为控制口地址 MOV AL, B ;置PC2为0 OUT DX, AL MOV AL, B ;置PC4为1

41 三、8255A的工作方式 1. 三种工作方式 2. 方式0 3. 方式1 4. 方式2

42 1. 三种工作方式 A口和B口之间没有硬件关系, 即可分别作为独立的输入或输出端口; C口和A口,C口和B口之间有硬件联系,
通过向控制口设置控制字可以改变这种联系。

43 外 设 8255A 总线 端口A 端口C 端口B 控制口 D reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码
数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND 8255A 总线

44 根据A口和C口、B口和C口之间硬件关系的不同,
可以有三种不同的工作方式, 分别称为方式 0、方式 1、方式 2。 方式 0: 与C口之间没有硬件联系。 方式 1: C口的某3根引脚作为端口与外设的联络信号。 方式 2: C口的某5根引脚作为端口与外设的联络信号。

45 1. 方式0(基本输入输出方式) 外 设 B口工作在方式 0 时,B口和C口之间没有硬件联系 端口A 端口C 端口B 控制口 D reset
 A口工作在方式 0 时,A口和C口之间没有硬件联系 B口工作在方式 0 时,B口和C口之间没有硬件联系 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

46 由方式控制字决定是输入还是输出。 作为输出口相当于普通的锁存器 实现CPU与外设间的数据传送。 1 1/0 特征位 A口 工作方式 I/O
工作在方式 0 的端口,为单向传送端口, 由方式控制字决定是输入还是输出。 1 1/0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0 工作在方式 0 的端口: 作为输入口相当于普通的三态门 作为输出口相当于普通的锁存器  CPU可利用方式 0 下的端口,直接对端口进行读写操作, 实现CPU与外设间的数据传送。

47 方式 0 输入 方式0输入(IN AL,PORT) 框图 三态缓冲器 地址译码器 & 数据 来自外设 8 IO/ M RD 数据总线
地址总线

48 输入数据 CS , A D -- D 方式0 输入 ( IN AL,PORT ) 时序 数据有效 1 7 t RD DF RA HR RR
IR AR 输入数据 CS , A 1 D 7 -- D

49 方式0输入时序基本情况:  外设的数据已经准备好,数据存入接口数据寄存器,  CPU执行一条 (IN AL,PORT)指令从8255A读取数据,  I/O读周期,8088CPU与8255A在时序上不能很好配合, 需要CPU插入一个等待状态。

50 方式0输出 方式0输出(OUT PORT,AL) 框图: 8 数据总线 锁存器 8 地址译码器 地址总线 到外设 CE IO/ M & WR

51 方式0输出 (OUT PORT, AL)时序 WR 输出数据 CS , A D -- D
数据有效 t WA WW AW WR 输出数据 CS , A 1 D 7 -- D DW WD WB I/O写周期,8088CPU与8255A在时序上不能很好配合, 需要CPU插入一个等待状态。

52 外 设 2. 方式1(选通输入输出方式)  B口工作在方式1时, C口的某3根引脚作为B口的联络信号。 端口A 端口C 端口B 控制口 D
reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

53 工作在方式 1 的端口,为单向传送端口。 由方式控制字决定是输入还是输出。 1 1/0 D7 D6 D5 D4 D3 D2 D1 D0
1/0 D7 D6 D5 D4 D3 D2 D1 D0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0

54 在方式 1 下,C口作为A口、B口联络信号的引脚, 其动作关系在芯片设计和制造时已固定, 不由用户自己安排,也不能编程改变。
不受方式控制字的控制。该出则出,该入则入。 不受C口按位置位/复位控制字控制, 即对这些位的置位/复位不影响这些引脚信号。 1 1/0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0

55 利用方式 1 下的联络信号, 可方便地实现查询或中断方式的硬件设计, 使CPU能够有效、可靠地与外设进行数据传送。  A口、B口在输入或输出不同的工作状态时, C口联络信号的引脚和意义也不同。

56 方式1下输入端口的联络信号 1 A口方式1输入控制字 B口方式1输入控制字 D7~D0 D7~D0 PA7~PA0 PB7~PB0
A口方式1输入控制字 B口方式1输入控制字 D7~D0 D7~D0 PA7~PA0 PB7~PB0 INTEA PC4 INTEB PC2 PC4 STBA INTRA PC2 STBB PC5 IBFA PC1 IBFB 与门 与门 RD PC3 RD PC0 INTRB A口方式1输入时 B口方式1输入时 相应的联络信号 相应的联络信号

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

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

59 方式1的输入时序: 从工作在方式1下的输入端口输入数据时, 有关信号的变化关系。 外设送来数据 当INTE=1时 ② ③ ① RD
D7~D0 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBF STB INTR PB7~PB0 PA7~PA0 STB IBF INTR RD

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

61 小结:方式1输入时,中断申请信号发出的条件是:
① STB=1 由外设输入负脉冲信号满足 ② IBF=1  此信号由8255A自动产生,       STB信号置1, RD的上升沿置0           ③ INTE=1 此信号无引出,通过编程实现:       A口,由控制口对PC4置位       B口,由控制口对PC2置位 RD D7~D0 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBF STB INTR RD D7~D0 PB7~PB0 PC2 PC1 PC0 INTEA 与门 IBF STB INTR PA7~PA0 PB7~PB0 STB IBF INTR RD 外设送来数据 当INTE=1时

62 注意: 在方式1下,作为联络信号的外部引脚PC4、PC2, 不受C口按位置位/复位控制字控制,
即对这些位的置位/复位不影响这些引脚信号的输入/输出, 而只在8255A内部对INTE信号起作用。 PA7~PA0 PC4 PC5 PC3 INTEA 与门 IBFA STBA INTRA RD D7~D0 PB7~PB0 PC2 PC1 PC0 INTEB IBFB STBB INTRB 1 A口方式1输入控制字 B口方式1输入控制字

63 方式1下输出端口的联络信号 A口方式1输出时 相应的联络信号 B口方式1输出时 1 A口方式1输出控制字 B口方式1输出控制字
A口方式1输出控制字 B口方式1输出控制字 PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA WR D7~D0 PB7~PB0 PC2 PC1 PC0 INTEB OBFB ACKB INTRB

64 对方式1输出的端口,C口提供与外部联络的信号有:
① OBF 输出缓冲器满信号(低电平有效)  当数据送至8255A输出缓冲器后,8255A自动发出。 表示CPU送来的数据已进入8255A输出端口, 可用来通知外设把数据取走。 ② ACK 外设响应信号(低电平有效)   由外设发出,送给8255A。 作用是通知 8255A 输出端口的数据已被外设取走, 可以传送下一个数据。 ③ INTR 中断申请信号(高电平或上升沿有效)   8255A 发出, 用来向CPU发出中断申请。  当OBF 、ACK、INTE均为1时,8255A自动发出INTR。 PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA

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

66 方式1的输出时序: 向工作在方式1下的输出端口输出数据时, 有关信号的变化关系。 ① ② ③ D7~D0 PA7~PA0 INTEA PC6
与门 OBFA ACKA INTRA WR D7~D0 方式1的输出时序: 向工作在方式1下的输出端口输出数据时, 有关信号的变化关系。 D7~D0 送往外设数据 数据写入端口 WR OBF INTR ACK 当INTE=1时

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

68 小结: 方式1输出时,中断申请信号发出的条件是:
小结: 方式1输出时,中断申请信号发出的条件是: ① OBF=1  此信号由8255A自动产生, WR上升沿置0, ACK下降沿置1  ② ACK=1 由外设输入负脉冲信号满足 ③ INTE=1 此信号无引出,通过编程实现:        A口,由控制口对PC6置位        B口,由控制口对PC2置位 PA7~PA0 PC6 PC7 PC3 INTEA 与门 WR D7~D0 OBF ACK INTR D7~D0 WR OBF INTR ACK 当INTE=1时 送往外设数据 数据写入端口 PB7~PB0 PC2 PC1 PC0 INTEA 与门 WR D7~D0 OBF ACK INTR

69 注意: 在方式1下,作为联络信号的外部引脚PC6、PC2, 不受C口按位置位/复位控制字控制,
PA7~PA0 PC6 PC7 PC3 INTEA 与门 OBFA ACKA INTRA WR D7~D0 PB7~PB0 PC2 PC1 PC0 INTEB OBFB ACKB INTRB 1 A口方式1输出控制字 B口方式1输出控制字 注意: 在方式1下,作为联络信号的外部引脚PC6、PC2, 不受C口按位置位/复位控制字控制, 即对这些位的置位/复位不影响这些引脚信号的输入/输出, 而只在8255A内部对INTE信号起作用。

70 3.方式2 (双向传送方式) 外 设 端口工作在方式 2时,C口的某5根引脚作为端口的联络信号
 8255A 只有A口可以工作在方式 2 下。 reset D7 ~ D0 A9 A2 A1 A0 IOR IOW 片选 译码 数据 缓冲器 读写 控制 片内 CS RESET RD WR PC7 PC0 PB7 PB0 PA7 PA0 控制口 D 端口A 端口C 端口B +5V GND

71  A口工作在方式 2 下,C口未做联络信号的3条引脚, 可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。
 与方式 0、方式 1的单向传送不同, 工作在方式 2下的端口,具有双向传送功能。 1 X 1/0 D7 D6 D5 D4 D3 D2 D1 D0 特征位 A口 工作方式 I/O PC7~PC4 B口 PC3~PC0  A口工作在方式 2 下,C口未做联络信号的3条引脚, 可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。 由方式控制字决定其输入/输出。

72 工作在方式2时,C口有5根引脚作为A口的联络信号, 是方式1下A口输入、输出联络信号的组合。
PA7~PA0 PC6 PC7 ACKA OBFA D7~D0 RD WR PC4 PC5 STBA IBFA INTEA1 INTEA2 PC3 INTRA 或门 工作在方式2时,C口有5根引脚作为A口的联络信号, 是方式1下A口输入、输出联络信号的组合。 方式2下的时序为方式1输入/输出两者的组合(略)。


Download ppt "微机原理与接口技术 第6章 并行输入输出接口(8255A)"

Similar presentations


Ads by Google