第15讲 IO接口电路基本概念
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 8255A 置位/复位控制字格式
按位置位/复位控制 标志0=有效
关于控制字要说明几点:
(1) 设置方式控制字时,A口、B口作为 整体设置,而C口要分成上、下两部分分别 设置。三个端口的工作方式由一个控制字规 定。
微机与外设间的数据传送,实际上是CPU 与I/O接口间的数据传送。CPU与外设间的数 据传送通常包括无条件传送、查询传送、 中断传送、以及DMA方式。
一、无条件传送方式
所谓无条件,就是假设外设已处于就绪 状态,数据传送时,程序就不必再去查询外 设的状态,而直接执行I/O指令进行数据传 输。无条件传送一般适合于数据传送不太频 繁的情况,如对开关、数码显示器等一些简 单外设的操作。
I/O接口示意图
I/O接口内部一般由数据、状态、控制三
类寄存器组成。
数据寄存器
在输入时,保存外设发往CPU 的数据 (输入寄存器)
在输出时,保存CPU发往外设 的数据 (输出寄存器)
状态寄存器——保存状态信息,CPU可从状态 口读取当前状态;
控制寄存器——用来保存CPU写入的控制字。
任何接口电路均包括如下基本功能: 1. 作为微型机与外设间传递数据的中间缓冲站;
方式设置标志
1=有效
图 8255A工作方式控制字格式
(2) 端口C的置位/复位控制字
控制字的格式如图所示。
D7 D6 D5 D4 D3 D2 D1 D0
不使用 设置为000
位的置位/复位 1=置位,0=复位
位 选择 D3 D2 D1 通道C位
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
端口A:包含一个8位数据输出锁存 器/缓冲器和一个8位数据输入锁存器,输 入输出数据均受到锁存。
端口B和C: 都包含一个8位数据输入缓 冲器和一个8位的数据输出锁存器/缓冲器, 输出数据能锁存,输入数据不锁存。
端口C:可分成两个4位端口,分别定义 为输入或输出端口,还可定义为控制、状 态端口,配合端口A和端口B工作。
8255A 是 Intel86 系 列 微 处 理 机 的 配 套 并 行 接 口 芯 片 , 它 可 为 86 系 列 CPU与外部设备之间提供并行输入/输 出通道。
可编程并行接口芯片8255A
8255A的基本功能和内部结构
并行输入/输出端口A、B、C: 8255A芯片具有24个可编程输入 输出引脚,分成3个8位端口。
通常有两种寻址方式:存储器映像的 I/O寻址方式和I/O端口单独寻址方式。
一、存储器映像的I/O寻址方式
端口地址与存储器地址统一编址
A15
WR
RD
RD
CPU
WR
存储器映像的I/O端口寻址连接方式
优点:
1.端口寻址手段丰富,且不需要专门的I/O指 令。
2.I/O寄存器数目与外设数目不受限制,而只 受总存储容量的限制。
读/写 控制部件
B组控制 部件
A组 端口A
8位
A组 端口C
• (高4位)
•
B组 端口C
(低4位)
B组 端口B
8位
图8255A内部结构
PA7~PA0 PC7~PC4 PC3~PC0 PB7~PB0
8255A包括四大部分:数据总线缓冲器、 读写控制部件、A组和B组控制部件、端口 A、B、C。
(1) 并行输入 / 输出端口A、B、C
8255A 所有控制寄存器内
容,
并将各端口置成输入方式。
2. 8255A的引脚 数 D.0 3.4
4
P.A0
8255A
据.
总
.
线.
.
3
.
2
. 通道A
1
采 用 40 线 双 列直插封装, 引脚图如图 所示。
D7
控 制
A0 A1
CS
线
RD
WR
RESET
27
314780
9 8255A
8 PPI •
6
• •
* A1~A0: 端口选择信号
当A1A0=00时 当A1A0=01时 当A1A0=10时
选择端口A 选择端口B 选择端口C
当A1A0=11时 选择控制端口
8255A的读写操作控制
8255A的控制字及其工作方式
8255A共有两个控制字:即工作方 式控制字和对C口置位/复位控制字。 1. 控制字
(1)工作方式控制字: 控制字和各位的含义如图所示。
(4)读/写控制部件 接收来自CPU地址总线信号和控制信号,
并发出命令到两个控制组 (A组和B组)。 CS:片选信号,接CPU高位地址的译码输出
RD:读信号,RD有效,CPU读8255A的数据或状 态;
WR:写信号,WR有效,CPU向8255A写入的 控制或数据信息。
RESET:复位信号。RESET有效时,清
9.1 I/O接口概述
微型计算机系统可通过系统总线与外设 相连,进行系统的扩展与开发,而外设必须 通过接口才能与CPU交换信息。
CPU或 系统总线
I/O 接口
电路
外 设
一、I/O接口的功能
作为接口电路,通常必须为外部设备提供几 个不同地址的寄存器,每个寄存器称为一个I/O 端口。通常的I/O接口示意图如下图所示:
查询传送方式流程图
查询传送方式工作流程包括两个基本工作环节
(1)查询环节
主要通过读取状态寄存器的标志位来检查 外设是否“就绪”。
(2)传送环节
当上一环节完成后,将对数据口实现寻址, 并通过输入指令从数据端口输入数据,或 利用输出指令从数据端口输出数据。
查询输入
查询式输入时的数据和状态信息
查询式输入程序流程图
OUT DATA_PORT, AL
查询式输出程序流程图
;从状态口输入状态信息 ;测试标志位D7 ;未就绪,继续查询 ;从缓冲区BUF取数据
;从数据端口输出
三、 中断传送方式
为了进一步提高CPU的效率和使系统 有实时性能,可以采用中断传送方式。在 中断传送方式下,当外设准备好时,主动 向CPU发出中断请求,请求CPU进行数据 的输入输出。
输入指令: IN AL,PORT 输出指令: OUT PORT, AL
这种直接寻址方式的端口地址为一个字节长, 可寻址256个端口
采用间接寻址,则其指令格式为: 输入指令:IN AL,DX 输出指令:OUT DX,AL
这种间接寻址方式的端口地址为两个字节长, 由DX寄存器间接给出,可寻址64K个端口地址。
Mode)。这些专用的I/O指令通常有两类,即输 入指令IN、输出指令OUT及其相关指令组。对于
不同的微处理器,具有各不相同的指令格式。
8086/8088等就采用了I/O端口单独寻址方式。 这些指令包含直接寻址和寄存器间接寻址两种
类型。
对以8086为CPU的PC系列机而言,如采用直接 寻址,则其指令格式为:
主要内容
I/O接口概述 8255A可编程并行接口芯片
第九章 输入/输出方法及常用的接口电路
• 输入输出接口的基本概念 • 基本的输入输出方法 • 8255A并行接口电路(实验) • 可编程的定时/计数器8253 • 串行通信及串行通信接口8251A(实验)
学习目的
掌握微型计算机接口技术的基本概念 了解8255A芯片的结构、功能、号
1. 8255A内部结构
8255A 可 编 程 外 围 设 备 接 口 (Programmable Peripheral Interface, 简写 为PPI) ,其内部结构如图所示。
A组控制 部件
双向 数据总线 缓冲器
D7~D0
RD WR
AA01
CS
RESET
无条件传送接口示意图
输入操作:IN AL,PORT M/IO=0,RD=0,地址译码有效,输入 缓冲器被选中。
输出操作:OUT PORT, AL M/IO=0,WR=0,地址译码有效,输出锁 存器被选中。
二、查询传送方式
程序控制下的查询传送 方式,又称异步传送方式。 它在执行输入输出操作之前, 需通过测试程序对外部设备 的状态进行检查。当所选定 的外设已准备“就绪”后,才开 始进行输入输出操作。
外 设 准
外设请求中断
主 程 序
备 数
INTR有效
据
中 断 服 务 程 序
输入 数据
中断方式的数据输入
采用中断传送方式时,外设处于主动地 位,无需CPU花费大量时间去查询外设的工 作状态。与程序方式相比,大大提高了 CPU的效率。
四、DMA方式
DMA (Direct Memory Access): 是存储 器与外设或存储器之间进行大量数据传 送 的 方 法 , 是 在 DMA 控 制 器 (DMAC) 的控制下进行的。
2.正确寻址与微机交换数据的外设 ;
3.提供微型机与外设间交换数据所需的控制逻辑 与状态信号。
二、 CPU 与I/O之间的接口信号
1. 数据信息 (DATA) CPU 与 外 设 交 换 的 基 本 信 息 是 数
据,有三种类型:
(1) 数字量 由键盘、光电输入机等输入的信息。
(通常以二进制表示的数或以 ASCII 码表示 的数或字符)
D7 D6 D5 D4 D3 D2 D1 D0
B组 端口C(PC3~PC0) 1=输入, 0=输出
端口B 1=输入,0=输出
方式选择
0=方式0, 1=方式1
A组 端口C(PC7~PC4) 1=输入, 0=输出
端口A 1=输入,0=输出
方式选择 00=端口A方式0, 01=端口 A方式1,1=端口A方式2
优点:
1. I/O口的地址空间独立,且不占用存储 器地址空间。
2.地址线较少,且寻址速度相对较快 。
3.专门I/O指令的使用,使编制的程序清 晰,便于理解和检查。
缺点:
1. I/O指令较少,导致程序设计的灵活 性较差;
2.需要存储器和I/O端口两套控制逻辑, 增加了控制逻辑的复杂性。
9.3 CPU与外设之间的数据传送方式
3.读写控制逻辑比较简单。
缺点:
I/O端口要占用存储器的一部分地址空间, 使可用的内存空间减少。
二、I/O端口单独寻址方式
I/O端口和存储器分开寻址
I/O端口单独寻址方式示意图
CPU访问I/O端口必须采用专用I/O指令,故也叫 专用I/O指令方式(Special I/O Instruction
DMA与程序控制数据传送路径的比较
外设
CPU
总
存储器
线
程序控制的数据输入/输出
DMA
DMA与程序控制数据传送路径比较
I/O概述
微机系统的信息交换有并行通信 和串行通信两种方式。
并行通信是以微机的字长为传输单位; 适合于外部设备与微机之间进行近距离、 大量和快速的信息交换。
实现并行通信的接口称之为并 行接口。
5 35
36
25
14
15
.PPAB70 . . 通道B
PB7
P.C0
电 源
VCC
16 17
.
13 12
. 通道C
线 GND
11
10
PC7
CPU接口
外设接口
图2 8255A引脚定义
* PA7~PA0:A端口数据信号引脚 * PB7~PB0:B端口数据信号引脚 * PC7~PC0:C端口数据信号引脚 * D7~D0: 8255A的8位数据线
NEXTIN:IN TEST JZ
IN
AL,STATUS-PORT;从状态口输入状态信息
AL,01H
;测试标志位是否为1
NEXTIN
;未就绪,继续查询
AL,DATA-PORT ;从数据端口输入数据
查询输出
查询式输出的端口信息
NEXTOUT:
IN AL, STATUS_PORT TEST AL, 80H JNZ NEXTOUT MOV AL, BUF
(2) A组和B组控制部件
A组
A口:PA0~PA7 C口的高4位:PC4~PC7
B组
B口:PB0~PB7 C口的低4位:PC0~PC3
A组,B组的控制寄存器, 接收来自数据总线的控制字, 并根据控制字确定各端口的工 作状态和工作方式。
(3) 数据总线缓冲器
三态双向8位缓冲器,是8255A与 CPU 之间的数据接口。传送输入数据、 输出数据、控制命令字。
3. 控制信息 (CONTROL) CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。
AB
1 DATA
CPU
DB
I/O 接口
2
STATUS
I/O 设备
CB
3 CONTROL
CPU 与外设之间的接口信息
9.2 I/O 端口及其寻址方式
外部设备与微处理器进行信息交换必 须通过访问该外设相对应的端口来实现。 具体访问这些外设端口的过程叫做寻址。
(2) 模拟量
非电量信息
传感器
电量
信号 处理
A/D CPU
(3) 开关量 两个状态的量 (可以用0、1表示) 例如电机的启与停,开关的合与开等。
2. 状态信息 (STATUS) 反映当前外设工作状态的信息,例如:
输入时,输入设备是否准备好? (READY) 输出时,输出设备是否空闲?(BUSY)