7.1 概述 7.2cpu 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4...

51
7.1 概概 7.2 CPU 概概概概概 概概概概 7.3 概概概概概概 / 概概概 8253 7.4 概概概概概概概概概 7.5 概概概概 7.6 DMA 概概概 8237 7.7 D/A 概 A/D 概概概概 概概概 概概 / 概概概概

Upload: drake-vincent

Post on 02-Jan-2016

176 views

Category:

Documents


6 download

DESCRIPTION

第七章 输入 / 输出接口. 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5 并行接口 7.6 DMA 控制器 8237 7.7 D/A 和 A/D 转换技术. 7.4 串行通讯和串行接口. 串行通信基础 可编程串行通信接口 8250 可编程串行通信接口 8251. 一、串行通信基础. 串行通信的概念. 所谓串行通讯是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

7.1 概述7.2 CPU 与外设数据传送的方式7.3 可编程计数器 / 定时器 8253

7.4 串行通讯和串行接口7.5 并行接口7.6 DMA 控制器 8237

7.7 D/A 和 A/D 转换技术

第七章 输入 / 输出接口

Page 2: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

7.4 串行通讯和串行接口

•串行通信基础•可编程串行通信接口 8250•可编程串行通信接口 8251

Page 3: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

一、串行通信基础串行通信的概念

所谓串行通讯是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。

“ 串行”是指外设与接口电路之间的信息传送方式, CPU 与接口之间仍按并行方式工作。

Page 4: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的概念

Page 5: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

信息传输的检错和纠错

•串行数据在传输过程中,由于干扰可能引起信息的出错如何发现传输中的错误,叫检错。发现错误后,如何消除错误,叫纠错

•最简单的检错方法是奇偶校验,即在传送字符的各位之外,再传送 1 位奇 / 偶校验位。可采用奇校验或偶校验。

奇校验:所有传送的数位(含字符的各数位和校验位)中, 1 的个数为奇数偶校验:所有传送的数位(含字符的各数位和校验位)中, 1 的个数为偶数

Page 6: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

信息传输的检错和纠错

奇偶校验能够检测出 1 位误码,但是不能纠错。

串行数据传输方式

全双工方式通讯双方能同时进行发送和接收操作

Page 7: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行数据传输方式

半双工方式只有 1 根数据线传送数据信号,要求通讯双方的发送和接收由电子开关切换。

单工方式

只允许数据按照一个固定的方向传送

Page 8: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

传输速率

在串行通讯中,用波特率来描述数据的传输速率波特率,即每秒钟传送的二进制位数,简写为 bps

接收时钟 / 发送时钟是波特率的倍数,称为波特率因子。例如波特率因子为 32 ,则 32 个时钟脉冲移位 1 次。

例:波特率 =9600bps ,波特率因子 =16 ,则接收时钟和发送时钟频率 =9600×16=153600Hz

Page 9: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

信号的调制和解调

数字信号的频带宽,而普通通信线路频带较窄,如电话线频带范围仅 300~3400Hz

所以采用普通通信线路进行远程数据通信时,需要在发送端用调制器( Modulator )把数字信号转换为模拟信号,模拟信号经通信线路传送到接收方,接收方再以解调器( Demodulator ),把模拟信号变为数字信号。

大多数情况下,调制器和解调器合在一个装置中,称为调制解调器—— Modem

Page 10: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

在通讯中, Modem 起着传输信号的作用,是一种数据通讯设备,简称 DCE接收设备和发送设备称为数据终端设备,简称 DTE 。

信号的调制和解调

Page 11: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的类型

串行通讯可以分为两种类型:同步通讯、异步通讯异步通讯一个字符一个字符地传输,每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身的各位,接着传输校验位,最后以停止位结束该字符的传输。一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为帧( Frame )帧与帧之间可有任意个空闲位

Page 12: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

异步通讯

异步通讯可以采用正逻辑或负逻辑异步通讯的信息格式起始位 逻辑 0 1 位数据位 逻辑 0 或 1 5 位、 6 位、 7 位、 8 位校验位 逻辑 0 或 1 1 位或无停止位 逻辑 1 1 位、 1.5 位或 2 位空闲位 逻辑 1 任意数量

Page 13: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

异步通讯

例:传送 8 位数据 45H ( 0100,0101B ),奇校验,1 个停止位,则信号线上的波形为

Page 14: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

同步通讯

靠同步字符完成收发双方同步

多个字符成组传送,在每组信息的开始,加上同步字符,字符组和同步字符以及需要的其他字符构成一个信息帧

同步字符 字符 1 字符 2 …… 字符 n 校验字符

数据块

Page 15: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

在串行通信中, DTE 和 DCE 之间的连接要符合接口标准

计算机通信中使用最普遍的是 RS-232C 标准

PC 机上的 COM1 、 COM2 接口,就是 RS-232C 接口,使用 9 针和 25 针连接器

Page 16: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

Page 17: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准TDX 发送RDX 接收SG 信号地DSR DCE 准备好DTR DTE( 即微机接口电路,如 8250/8251) 准备好RTS DTE 请求 DCE 发送CTS DCE 允许 DTE 发送 , 该信号是对 RTS 信号的回答。DCD 数据载波检出

当本地 DCE 收到对方的 DCE 设备送来的载波信号时,使 DCD 有效,通知 DTE 准备接收,并且由 DCE将接收到的载波信号解调为数字信号,经 RXD 线送给 DTE 。

RI 振铃信号当 DCE 收到交换机送来的振铃呼叫信号时,使该信号有效,通知 DTE已被呼叫。

Page 18: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

RS-232-C 采用负逻辑,且信号电平与 TTL 不兼容

串行接口芯片 8250 、 8251均使用 TTL 电平,应使用电平转换电路与 RS-232C 连接器连接。MC1488 : TTL 电平→ RS232 电平 (用于发送方)MC1489 : TTL 电平← RS232 电平 (用于接收方)

Page 19: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

Page 20: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

采用 Modem(DCE) 和电话网通信时的信号连接

Page 21: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准采用专用线通讯时的信号连接

Page 22: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

无 Modem 的标准连接

Page 23: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

无 Modem 的最简连接

Page 24: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

串行通信的接口标准

无 Modem 时,最大通讯距离的计算:

RS-232C 标准规定:当误码率小于 4% 时,要求导线的电容值应小于 2500PF 。

普通导线的电容值约为 170PF/M 。

则允许距离 L=2500PF/ ( 170PF/M ) =15M

Page 25: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

二、可编程串行异步通信接口 8250

8250芯片引脚定义和功能 P. 252

8250

INTRPT

8259OUT2#

IRQ4

CPUINT

INTR

8250 中断请求信号与 CPU 的连接

Page 26: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

二、可编程串行异步通信接口 8250

8250芯片的内部结构和寻址方式

P. 254

8250内部控制状态寄存器的功能

P. 255

Page 27: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8250内部控制状态寄存器的功能

除数寄存器

8250 使用 1.8432MHz 的基准时钟输入信号,通过内部分频产生发送时钟频率和接收时钟频率。波特率因子固定为 16 ,所以16* 波特率 =1843200/ 分频系数分频系数即为除数除数 = 1843200/(16* 波特率 )

Page 28: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8250 通信编程

P. 257

P. 260

8250应用举例

Page 29: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

三、可编程串行通信接口 8251

通过编程,可以实现异步通讯协议或面向字符的同步通讯协议,波特率:同步方式下: 0-64Kbps;异步方式下: 0-19.2Kbps 。

同步方式下,每字符为 5 , 6 , 7 , 8 位,能自动检测同步字符,自动添加奇偶校验。

异步方式下,每字符可为 5 , 6 , 7 , 8 位,自动增加起始位、停止位和校验位。

Page 30: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 的结构

模式寄存器:决定工作于同步或异步模式以及接收和发送的字符格式同步字符寄存器:存放同步模式下的同步字符

Page 31: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 的引脚信号

C/D#: 该信号一般连至地址线 A0 ,用于选择控制端口 / 数据端口。数据输入输出寄存器合用一个端口,控制寄存器与状态寄存器合用一个端口。TxE :通知 CPU 发送移位寄存器空。此时,在状态寄存器的 TxE 位置 1 。 CPU 可以查询 TxE 信号或状态寄存器的 TxE 位TxRDY:告诉 CPU , 8251已准备好发送, CPU 可以为其提供需要发送的字符RxRDY: 通知 CPU , 8251已从外部设备收到一个字符,等待 CPU读取。 CPU 可以查询该信号,或把该信号作为中断请求信号。

Page 32: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

SYNDET: 同步检测信号,只用于同步方式TXC 、 RXC:8251没有内置的波特率发生器,必须由外部产生建立波特率的时钟信号, TXC 、 RXC 通常与 8253连接

8251 的引脚信号

Page 33: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 的命令字与初始化编程

模式寄存器的格式

Page 34: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 的命令字与初始化编程

控制寄存器与状态寄存器的格式

Page 35: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 的命令字与初始化编程

8251 与 CPU 的数据交换

查询方式 / 中断方式

采用查询方式,在数据交换前应读取状态寄存器。

状态寄存器 D0=1 , CPU 可以向 8251 数据端口写入数据,完成串行数据的发送状态寄存器 D1=1 , CPU 可以从 8251 数据端口读出数据,完成一帧数据的接收

Page 36: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 的命令字与初始化编程

流程

Page 37: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8251 编程示例

例:编写 8251 异步模式下的接收和发送程序,完成 256 个字符的发送和接收,设端口地址: 208H , 209H ,波特率因子 16 , 1 起始位, 1 停止位,无奇偶校验,每字符 8 位。

Page 38: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

MOV DX,209HMOV AL,40H ;复位命令。OUT DX , ALMOV AL , 01001110B ;模式字MOV DX , ALMOV AL , 0011 , 0111B;控制字OUT DX , ALMOV CX , 256 ;发送 256 字节NEXT :MOV DX 209HIN AL , DX;状态字AND AL , 01H; TXRDY?JZ NEXTMOV AL , CLMOV DX , 208HOUT DX , AL;发送LOOP NEXT

发送程序

Page 39: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

接收程序 接收 256 字节,放在 buf 中Data segmentbuf DB 256 dup(?)Data ends┆MOV DX,209HMOV AL,40H;复位OUT DX , ALMOV AL , 0100,1110B;模式字OUT DX , ALMOV AL , 0011,0111B;控制字OUT DX , ALMOV CX , 256;接收 256 字节MOV SI , 0NEXT :MOV DX , 209HIN AL , DX;状态字

AND AL , 02H; RXRDY?JZ NEXTMOV DX , 208HIN AL , DX;接收 1 字符MOV buf[SI] , ALINC SILOOP NEXT

Page 40: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

7.5 并行接口

•并行接口的特点•可编程并行通信接口芯片 8255

Page 41: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

一、并行接口的特点

并行接口是在多根数据线上,以字节 / 字为单位与I/O 设备交换数据

Page 42: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

二、可编程并行通信接口芯片 8255

8255芯片引脚定义与功能

P. 244

8255寻址方式

P. 246

8255没有状态寄存器

Page 43: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8255 的控制字

方式选择控制字

Page 44: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

端口 C 置位 /复位控制字 P. 248

注意: C 口控制字虽然是对端口 C 操作,但应写入到控制口地址,而不是写入到 C 数据口

Page 45: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8255 的控制字

编程举例:设 A 、 B 、 C 数据口地址分别位 60H 、 61H 、62H 、控制口端口地址 63H1 : A 口方式 0 ,输出、 B 口方式 0 ,输入, C 口高 4位输出, C 口低 4 位入

MOV AL , 10000011BOUT 63H , AL

2 : PC7 置 1 , PC3 置 0MOV DX , 63HMOV AL , 0000,1111B; PC7 置 1OUT DX , ALMOV AL , 0000,0110B; PC3 置 0OUT DX , AL

Page 46: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8255 的工作方式 0

P. 246

8255 作为打印机接口,工作于方式 0

Page 47: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

程序设计:设 PA 、 PB 、 PC 口地址分别为 0D0H 、 0D2H 、 0D4H 控制口地址: 0D6H

MOV AL , 81H;OUT 0D6H , ALMOV AL , 0DH;① PC6 置 1 , 0DH=0000,1101OUT 0D6H, ALLPST :IN AL , 0D4H;读 PC 口AND AL , 04D;② 打印机忙否( PC2 =BUSY=?)JNZ LPST ; PC2=1 ,打印机忙,等待MOV AL, CLOUT 0D0H, AL;③ CL 中的字符送 PA 口MOV AL, 0CHOUT 0D6H, AL;④ 置 PC6=0 ,即 =0; 00001100=0CHINC ALOUT 0D6H, AL;置 PC6=1 ,即 =1 , 00001101=0DH┆

Page 48: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8255 的工作方式 1——选通输入输出方式

P. 247

Page 49: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

主程序:

MAIN : MOV AL , 0A0H ;方式选择控制字OUT 0C6H , ALMOV AL , 01H ;OUT 0C6H , ALCLI ;替换中断向量前关中断MOV AH , 25H ;替换中断向量的典型方式MOV AL , 0BH ; IR3 的类型码为 0BHMOV DX , OFFSET ROUTINTRPUSH DSMOV AX , SEG ROUTINTRMOV DS , AXINT 21HPOP DSMOV AL , 0DH ; PA 方式 1 输出,“置 PC6=1 的操作”OUT 0C6H , AL ;使 8255 允许中断( INTEA=1 )STI ; CPU 开中断┆

假 设:A 口地址 0C0HB 口地址 0C2HC 口地址 0C4H控制口 0C6H

Page 50: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

中断处理程序

ROUTINTR :MOV AL , [DI] ; DI 为打印字符缓冲区地址OUT 0C0H , ALMOV AL , 00H ;置 PC0=0OUT 0C6H , ALINC AL ;置 PC0=1

┆IRET

Page 51: 7.1 概述 7.2CPU 与外设数据传送的 方式 7.3 可编程计数器 / 定时器 8253 7.4 串行通讯和串行接口 7.5  并行接口 7.6 DMA 控制器 8237

8255 的工作方式 2——选通双向传输方式

P. 249