第8章(并、串通信与接口)
二、面向外设一侧的引脚信号及其功能 8255A 的A、B、C 三个端口有24 条信号 线用来连接I/O 设备,它们是: ⑴PA7~PA0,端口A I/O 数据线(双向) ⑵PB7~PB0,端口B I/O 数据线(双向) ⑶PC7~PC0,端口C I/O 数据线(双向)
8.2.3 8255A 的内部结构
方式2的信号定义
PA7~PA0
INTE1
PC6 PC7
ACKA
OBFA
用PC6设置INTE1(输出) 用PC4设置INTE2(输入)
INTE2 PC4
STBA IBFA
输入和输出中断通过
或门输出INTRA信若要把端口C 中的PC7 位置成低电平,则 按位置位/复位控制字为:00001110B 或0EH。 MOV DX,303H MOV AL,0EH OUT DX,AL ;使PC7=0 的控制字
8.2.5 8255A 的工作方式 一、方式0 方式0 是一种基本输入输出方式。在这种 工作方式下,8255A 三个端口中的24 条线 全部用作I/O 传送,并能用简单的输入输出 指令对其进行读写操作。
A1A0=10,选中端口C;
A1A0=11,选中控制端口。
8255A的读/写操作控制
A1 A0 RD* WR* CS* 输入操作(CPU读)
0 0 1
0 0 1 1
0 1 0
0 1 1 1
0 0 0
1 1 1 1
1 1 1
0 0 0 0
0 0 0
0 0 0 0
数据总线← 端口A 数据总线← 端口B 数据总线← 端口C 输出操作(CPU写) 数据总线→端口A 数据总线→端口B 数据总线→端口C 数据总线→控制端口
四、8255A 的初始化编程 A 组有三种工作方式(方式0、1、2) B 组有两种方式(方式0、1) 端口C 分成两部分,高4 位属于A 组,低4 位属于B 组。
例:某8255A 的控制端口地址为303H,现 要求将其3 个数据端口设置为基本的输入 输出方式,其中端口A 和端口C 的低4 位 为输出,端口B 和端口C 的高4 位为输入。 试编程初始化8255A。
(1)端口A方式1作输入:
数据选通信号 表示外设已经准备好数据 STBA
PA7~PA0
INTEA
PC4 PC5
IBFA
输入缓冲器满信号 表示A口已经接收数据 INTRA
PC3
中断允许触发器
中断请求信号 请求CPU接收数据
(2)端口B方式1作输入:
数据选通信号 表示外设已经准备好数据 STBB IBFB 输入缓冲器满信号 表示A口已经接收数据
PC3
中断允许触发器
中断请求信号 请求CPU再次输出数据
端口B方式1作输出:
PB7~PB0
INTEB
外设响应信号 表示外设已经接收到数据 ACKB OBFB
PC2
PC1
输出缓冲器满信号 表示CPU已经输出了数据
PC0
INTRB
中断允许触发器
中断请求信号 请求CPU再次输出数据
(1)一旦数据写入输出端口, / OBF (Output Buffer Full,输出缓冲器满信号) 为低,对外部设备表明数据在8255输出端 口。 (3)外部设备使/ ACK (Acknowledge) 为低,读取端口数据。 / ACK 有效使/ OBF为1,表明缓冲器不满。
8255 PA0 PA7 PC5
键盘 D0 D7
PC4
DAV
键盘上按下一个键,/DAV有效大约1us, 将数据锁入A口。 用户可以查询PC5为高后,读取A口数据。
(3)端口A方式1作输出:
外设响应信号 表示外设已经接收到数据 ACKA
PA7~PA0
INTEA
PC6 PC7
OBFA
INTRA
输出缓冲器满信号 表示CPU已经输出了数据
并行口的“并行”含义不是指接口与系统 总线一侧的并行数据线而言,而是指接口 与I/O 设备或被控对象一侧的并行数据线。 并行接口适用于近距离传送的场合。由于 各种I/O 设备和被控对象多为并行数据线 连接,CPU 用并行口来组成应用系统很方 便,故使用十分普遍,如打印机接口、 A/D、D/A 转换器接口。
8.2 可编程并行通信接口芯片8255A Intel 8255A 是一个通用的可编程的并行接 口芯片,它有三个并行I/O 端口,可以通过 软件编程来设置其工作方式。CPU 通过 8255A 与外设相连接,是目前应用最广的 一种并行输入输出方式。
8.2.1 8255A 的主要特征 1. 8255A 有两个8 位(端口A 与端口B)和 两个4 位(端口C 高/低4 位)的并行输入/输 出端口。 2.端口A 有三种工作方式:方式0、方式 1、方式2;端口B 口有两种工作方式:方
8255A 的工作控制字为8AH。其初始化的 程序段为: MOV DX,303H ;8255A 控制端口地址 MOV AL,8AH OUT DX,AL ;方式控制字 ;送到控制口
设8255A 的控制端口地址为303H,若要把 端口C 中的PC3 位置成高电平,则按位置 位/复位控制字为:00000111B 或07H; 程序段为: MOV DX,303H MOV AL,07H OUT DX,AL ;使PC3=1 的控制字 ;送到控制口
另一种是串行接口,它是在一根线上以数 如CRT、键盘及调制解调器接口等。
据位为单位与I/O设备或通信设备传送信息,
实现并行通信的接口就是并行接口,并行 接口的特点是: 并行接口最基本的特点是在多根数据线 上以数据字节为单位与I/O 设备或被控对 象传送信息。 在并行接口中,一般都要求在接口与外 设之间设置并行数据线的同时,至少还要 设置两根联络信号,以便互锁异步握手方 式的通信。
二、方式1 方式1 是一种选通I/O 方式,端口A 和端口 B 仍作为两个独立的8 位I/O 数据通道。可 单独与外设相连,通过编程分别设置它们 为输入端口或输出端口。
端口C 有6 条引线被用来实现数据传送所
需要的握手信号和中断请求输出信号,有
固定的时序关系。其余2 位仍可作为一般 I/O 使用。
⑶ INTR (Interrupt Requst),中断请求信 号,高电平有效。表示数据被外设接收。 INTR 置位的条件是OBF/ =1、ACK/ =1 且 INTE =1。 ⑷ INTE (Interrupt Enable),中断允许信 号,高电平有效。它用于控制中断允许或
中断屏蔽。
8255A工作在方式1下的输出时序
三、方式2 (双向选通方式) 方式2 是方式1 的输入与输出方式的组合。 这种方式只适合于端口A。
在方式2 下,外设在8 位数据线上进行双
向通信,既能往CPU 发送数据,又能从 CPU 接收数据。
当端口A 工作在方式2 时,端A 口的8 根线 作为数据线,端口C 的5 根线作为联络线, 端口C 余下的3 根线可用于端口B 的方式1 工作或用于数据的输入。 8255A 工作在方式2 时,既可以采用查询 方式又可以采用中断方式与CPU 交换数据。
在并行接口中,每次以8 位或16 位为单 位进行同时传送。 并行接口的优点是传输速率高,但由于需 要多根数据线,因此不适合远距离数据传 输,一般用于近距离传送的场合。
实现串行通信的接口就是串行接口,其特 点如下: 计算机和外设之间只使用一根信号线 传输信息,数据在一根数据信号线上一位 一位地进行传输,每一位数据都占据一个 固定的时间长度。 串行通信在一根线上既要传送数据, 还要传送联络信号。 串行通信速度慢。
在方式0 下,不能采用中断方式和CPU 交换数据,一般用于无条件I/O 和查询式 I/O,选用查询式I/O方式时,一般要选用 A、B、C 三个端口中的任意一位作为外 设的状态信息位,实现查询式I/O。
方式0 的特点: ⑴两个端口A、B 和端口C 的高低4 位均可 作为输入或输出,各端口之间没有必然的 关系。 ⑵端口A、B、C 输出均有锁存能力。 ⑶端口A、B、C 均为单向I/O,一次初始 化只能指定端口作为输入或输出,不能指 定端口同时既作输入又作输出。
8255A 包括3 个8 位输入输出端口
(port)。每个端口都有一个数据输入寄 存器和一个数据输出寄存器。 输入时端口有三态缓冲器的功能,输出时 端口有数据锁存器功能。
8.2.4 8255A 工作方式控制字和编程 8255A 有三种基本工作方式: 方式0 基本输入/输出方式,查询方 式,A、B、C 三个端口均可工作在方式0。 方式1 选通输入/输出方式,中断方 式,A、B 两个端口可工作在方式1。 方式2 双向输入/输出方式,中断方 式,只有端口A 才能工作在方式2。
第8章 串/并行通信与接口
第8章 串并行通信与接口
教学重点
串、并行接口的特点 8255A的工作方式和编程 8255A的0、 1方式及其应用 8251A、8250的初始化编程
教学难点
8255A方式1、方式2与CPU的 连接和应用 8251A与CPU的连接和应用
微型计算机与I/O设备的接口按照数据传 送格式的不同,可分为并行接口和串行 接口两种。
在使用8255A 时,可通过指令向控制端口
中写入控制命令来决定它的工作方式。
8255A 有两种控制字:
工作方式选择控制字 端口C 的按位置位/复位控制字
工作方式控制字格式
二、按位置位/复位控制字(D7=0) 可以对端口C(PC7~PC0)进行位操作, 这是通过向控制口写入按位置位/复位的控 制字来实现的。 端口C 的这个功能可用于设置方式1 的中 断允许,可以设置外设的启停等。按位置 位/复位命令字格式如图。
PB7~PB0
INTEB
PC2 PC1
PC0
INTRB
中断允许触发器
中断请求信号 请求CPU接收数据