当前位置:文档之家› 计算机接口技术 第六章

计算机接口技术 第六章

第 六 章 可编程序并行接口芯片和串行接口芯片

6.1 可编程接口芯片概述

6.1.1 片选概念
同内存储器的读/写操作相仿,必须要有一个地址信号选中接口芯片后,才能使该接口芯片进入电路工作状态,实现数据的输入/输出。CPU的8条地址线A7~A0形成地址,通过地址译码器输出接到接口芯片的选通端 ,又称片选端 ,如图6-1所示。 端是控制接口芯片进入电路工作状态的引脚端。片选端究竟是高电平有效(标为CE)还是低电平有效(标为 )由接口芯片决定。只有 (或CE)被选中后,CPU才能通过该芯片与对应的I/O设备传送数据。

手写板图示0601-01

6.1.2 读/写概念
接口芯片的地址码经译码后接通芯片的片选端 (或CE),对读操作而言,使输入口信息由数据总线进入CPU,数据何时读入CPU、由 (读信号)控制。
各控制信号的时序关系为:当地址信息稳定后,读信号 有效,通知接口芯片,片选信号 已稳定,输入口已与数据总线接通,CPU可进行I/O设备的读操作。 、 及数据总线DB构成输入口的必备引脚,如图所示。

手写板图示0601-02

手写板图示0601-03
同理对于输出口,当CPU对接口进行输出数据的操作时,发出 (写信号)有效。
这样, 、 以及数据总线构成输出口的必备引脚,如图所示。在输入/输出接口中,有时采用RD/ (或R/ )引脚,当RD/ =“H”时,为输入(读),RD/ =“L”时,为输出(写)。上述接口芯片的各种信号都由CPU的输入/输出指令产生。
以输入指令为例:
IN AL,口地址
CPU内的指令寄存器和指令译码器分析此指令代码后,知道是I/O设备的读操作,就将口地址(8位)送上地址总线A7~A0,经CPU外的地址译码器译码后,产生片选信号,送输入口 (或CE)端,同时还将M/ =“L”和 =“L”信号送到输入口,输入口把输入设备的数据送上数据总线,由CPU读入AL。

手写板图示0601-04

6.1.3 可编程接口的概念
目前所用的接口芯片大部分是多通道、多功能的。所谓多通道就是指一个接口芯片一面与CPU连接,另一面可接几个外设,所谓多功能是指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。

手写板图示0601-05
从硬件角度看,各通道在芯片内部通过开关S0,S1, …,Sn与总线相接;各电路单元(用以实现不同的接口功能)通过各种开关电路相互连接。在接口芯片中,各硬件单元不是固定接死的,可由用户在使用中选择,即通过计算机的指令来选择不同的通道和不同的电路功能,称为“编程控制”。接口电路的组态(即电路工作状态)可由计

算机指令来控制的接口芯片称为“可编程序接口芯片”。
接口芯片中有一个寄存器,用来存放控制电路组态的控制字节,称为控制字寄存器,控制字节的2位代码可控制4种状态,8位代码可控制256种状态。

6.1.4 “联络”的概念
CPU通过外设接口芯片同外设交换信息时,接口芯片和外设间常常需要有一定的“联络”信号,以保证信息的正常传送。通常采用两个“联络”信号: (选通信号)和RDY(就绪信号),如图6-4所示。

手写板图示0601-06
RDY=“H”表示接口芯片中输入寄存器已空,可接受外设信息以实现外设与接口的输入操作。
=“L”表示接口选通,是外设向接口发出的,外设把数据送上接口芯片端口后,用 信号有效打入接口芯片输入寄存器,在 的后沿,把RDY信号拉为“L”,表明输入寄存器已有数据。
以输入接口为例:

手写板图示0601-07
RDY=“L”正是接口与外设的通信标志,外设接收RDY=“L”后,暂不送数据,CPU发出读数指令( =L),读入该数据,并使RDY置“H”。然后,又开始新一轮的输入操作。其时序见图6-5。在输入接口中,RDY信号也有用IBF(输入缓冲器满)表示的。若是输出接口,则:RDY=“H”,表示接口中的输出寄存器已有数据,通知外设来取数; =“L”,表示端口数据已为外设接收,且已处理,CPU可送新数据到接口寄存器, 的后沿使RDY变为“L”。在输出接口中,RDY信号也有用 (输出缓冲器满)表示, 信号也有用 (响应)表示的。

手写板图示0601-08

6.1.5 接口芯片的引脚概述
接口芯片是CPU与外设之间的界面,它一方面要与CPU打交道,要接收CPU进行输入/输出所发出的一系列信息;另一方面又要与外设打交道,要向外设收发数据及一些联络信号等,因此通用的接口芯片大致可包括如图6-6所示的那些引脚(INT为中断请求线)。

手写板图示0601-09

6.2 可编程并行接口芯片8255A

6.2.1 8255A的结构和引脚功能
1.8255A的内部结构
8255A的结构见图6-7,由四部分组成:
(1)数据总线缓冲器。一个三态8位双向缓冲器,用作8255A同系统数据总线相连时的缓冲部件,CPU通过执行输入/输出指令来实现对缓冲器发送或接收数据。8255A的控制字和状态字也是通过该缓冲器传送的。
(2)三个8位端口PA、PB和PC。8255A有三个8位端口PA、PB和PC,各端口都可由程序设定为各种不同的工作方式。

手写板图示0601-10

手写板图示0601-11
端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器;
端口B(PB口)有一个8位数据输入缓冲器和一个

8位数据输入/输出、锁存/缓冲器;
端口C(PC口)有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。
通常PA口与PB口用作输入/输出的数据端口,PC口用作控制或状态信息的端口,也可用作一个8位数据口或两个4位的数据口。在方式字的控制下,PC口可以分成两个4位的端口,每个端口包含一个4位锁存器,可分别同端口A和端口B配合使用,可以用作控制信号输出,或作为状态信号输入。
(3)A组和B组的控制电路。这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读/写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。
A组控制部件用来控制PA口和PC口的高4位(PC7~PC4)
B组控制部件用来控制PB口和PC口的低4位(PC3~PC0)
(4)读/写控制逻辑。用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的A1、A0和控制总线的有关信号( 、 、RESET等),向8255A的A、B两组控制部件发送命令。
2.8255A的引脚功能
8255A采用40条引脚的双列直插式(DIP)封装,其引脚信号有:
:片选信号(输入)
:读信号(输入)
:写信号(输入)
A1、A0:片内寄存器选择信号(输入)
D7 ~ D0:与CPU侧连接的数据线(双向)
PA7~PA0:A口外设数据线(双向)
PB7 ~PB0:B口外设数据线(双向)
PC7~PC0:C口外设数据线(双向)
RESET:复位信号(输入)

控制信号 、 、 以及A1、A0的组合可以实现对三个数据口(PA、PB、PC)和控制口(控制字寄存器)的读写操作,如表所示。

手写板图示0601-12

6.2.2 8255A的工作方式
1.方式0基本输入输出
方式0下,每一个端口都作为基本的输入输出口,C口的高4位和低4位以及A口、B口都可以独立地设置为输入口或输出口。4个口的输入/输出可以有16种组合方式,且都可以由方式控制字确定。 8255A在方式0工作时,CPU可以采用无条件读写方式与8255A交换数据。如果把C口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可以通过对C口的读写,实现A口与B口的查询方式工作。8255A工作于查询方式时,可任选PC口低4位和高4位的各一条线作为接口同外设之间的一对联络信号线。

手写板图示0601-13

手写板图示0601-14

手写板图示0601-15
(1)方式0的基本功能
方式0是一种基本输入/输出工作方式。常用于无条件(简单)传送,也可用于应答(查询)传送。其基本功能为:
1)2个8位端口A,B和2个4位

端口 C;
2)任一个端口可以作为输入或输出;
3)输出是锁存的,输入只有缓冲能力没有锁存功能;
4)各个端口的输入、输出可以有16种不同组合。

手写板图示0601-16
(2)方式0连接方法
1)简单的输入/输出
在方式0下,简单的输出/输出认为外设始终作好了准备随时可以提供或者接收数据。任意一个端口都可以直接作为外设接口,作为数据端口,不需要状态端口,且均可由CPU 用简单的输入或输出指令来进行读或写。
2)方式0的应答输入/输出
在方式0工作时,也可采用应答式传送,此时,通常端口A和B可分别作为一个数据端口。使用端口 C 的某些位作为两个数据端口应答用的控制和状态信号线。至于C口中哪些线充当何种应答功能是不固定的,可以由用户自行指定。

手写板图示0601-17
2.方式1——选通输入输出(应答式输入输出)
方式1下将3个端口分成A、B两组,A、B两个口仍作为数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。在8255A中规定的联络信号是3位,两个数据口共用去C口的6位,剩下的两位仍可以作数据位使用。
A、B两个口的工作状态是由CPU写控制字时设定的,一旦方式已定,就把所用C口的联络信号位也确定了。方式1可以工作于查询方式和中断方式。

手写板图示0601-18
(1)方式1的输入。A、B两个口都设置为方式1输入时的情况如图6-8(a)所示。
由图可见A口所用的三个联络信号占用C口的PC3、PC4、PC5三引脚,而B口则用了PC0、PC1和PC2三个引脚。联络信号的作用如图:

手写板图示0601-19
① :输入的选通信号,低电平有效。由外设提供,为低电平时,就把输入的数据信号(PA7~PA0或PB7~PB0)送入A端口(或B端口)的数据锁存器。
②IBF:输入缓冲器满信号,高电平有效。由8255A输出,有效时,用以通知外部设备输入的数据已写入缓冲器。
③INTR:中断请求信号,高电平有效。当外部设备要向CPU传送数据或请求服务时,8255A就用INTR端的高电平向CPU提出中断请求。当 、IBF和INTE都为高电平时,表明数据锁存器内已写入了数据,若此时INTE=1,则使INTR成为高电平,输出到CPU。CPU响应中断,在 控制下从8255A中读取数据时, 的下降沿使INTR复位,它的上升沿又使IBF复位,使外设知道可以进行下一字节输入,见图6-8(b)。
④INTE:中断允许信号。A端口用PC4位的置/复位控制,B端口用PC2位的置/复位控制。只有当PC4或PC2置“1”时,才允许对应的端口送出中断请求。INTE对应于接口中的一个中断允许触发器,PC4或PC2=1,就是使该触发器置

1。
PC7、PC6可以用作数据传输,用方式控制字的D3位来设置它的输入/输出。
方式1的输入过程如下(A口):
当外设准备好数据,在送出数据的同时,送出一个选通信号 。8255A的A口数据锁存器在 下降沿控制下将数据锁存。8255A向外设送出高电平的IBF,表示锁存数据已完成,暂时不要再送数据。如果PC4=1(INTE=1),这时就会使INTR变成高电平输出,向CPU发出中断请求。CPU响应中断,执行IN指令时, 信号的下降沿清除中断请求,而 结束时的上升沿则使IBF复位到零。外设在检测到IBF为零后,可以开始输入下一个字节。
(2)方式1的输出。 A口、B口在方式1用作输出时,两组的联络信号如图所示。其联络信号的作用如下:
① :输出缓冲器满信号;低电平有效。由8255A输出,当其有效时,表示CPU已经将数据输出到指定的端口,通知外设可以将数据取走。
② :响应信号,低电平有效。由外设送来,有效时表示8255A数据已经为外设所接收。
③INTR:中断请求信号,高电平有效。当外设接收了由CPU送给8255A的数据后,8255A就用INTR端向CPU发出中断请求,请求CPU再输出后面的数据。INTR是在INTE=1的条件下,当 ,OBF和INTE都为高电平时,才能被置成高电平。由 的上升沿清除
④INTE:中断允许信号。A口的INTE由PC6置/复位,B口的INTE由PC2置/复位。
PC4、PC5位可以由控制字的D3设置为输入或输出数据用。

手写板图示0601-20
3.方式2——双向选通输入输出
通过8位数据线与外设进行双向通信的方式,既能发送,又能接收数据。工作时可以用中断方式,也可以用查询方式与CPU联系。
方式2只限于A组使用,它用A口的8位数据线,用C口的5位进行联络。工作时输入、输出数据都能锁存。

手写板图示0602-01

手写板图示0602-02
当A组在方式2下工作时,B组可以在方式0(此时只能采用无条件传送)或方式1工作。
方式2的联络信号如图6-10(a)所示,其作用如下:
(1)INTR:中断请求信号,高电平有效。输入输出都用这个信号向CPU申请中断。
(2) :输出缓冲器满,低电平有效。作为对外设的一种选通信号,表示CPU已经将数据送到端口A。
(3) :来自外设的响应信号,低电平有效。有效时启动A口的三态输出缓冲器送出数据;否则,输出缓冲器处于高阻态。
(4)INTE1:与 有关的中断允许触发器,由PC6置/复位。
(5) :选通输入,低电平有效。来自外设的选通信号,有效时,将输入数据选通送入锁存器。
(6)IBF:输入缓冲器满,高电平有效。有效时,表明数据已经送入锁存器。


(7)INTE2:与IBF有关的中断允许触发器,由PC4置/复位控制。
方式2的时序图见下图


手写板图示0602-03
方式1和方式2时,中断允许信号INTE的操作位如下表所示。
方 式 操作位A口 操作位B口
1 输入 PC4 PC2
1 输出 PC6 PC2
2 输入 PC4
2 输出 PC6

手写板图示0602-04

手写板图示0602-05

6.2.3 8255A的初始化
在使用8255A时,首先要由CPU对8255A写入控制命令字,有2种控制命令字:一个是方式选择控制字,另一个是C口按位置位/复位控制字,8255A的各种工作方式都要由控制命令字来设定,这个设置过程称为“初始化”。
1.方式选择控制字(D7=1)

手写板图示0602-06
方式选择控制字的格式如图6-11所示:

手写板图示0602-07
工作方式选择控制字
工作方式选择控制字的格式及每位定义如下:
1 D6 D5 D4 D3 D2 D1 D0

特征位 A口方式 端口 A 端口 C
高 4 位 B口方式 端口 B 端口 C
低 4 位
0 0 =方式 0
0 1 =方式 1
1×=方式 2 0=输出
1=输入 0=输出
1=输入 0=方式 0
1=方式 1 0=输出
1=输入 0=输出
1=输入

手写板图示0602-08

手写板图示0602-09

手写板图示0602-10

手写板图示0602-11
2.C口按位置/复位控制字(D7=0)
图6-12是当控制字用作C口置位/复位控制字时,各位的功能规定。

手写板图示0602-12
C 口按位置位/复位控制字
C 口按位置位/复位控制字的格式及每位定义如下:
0 D6 D5 D4 D3 D2 D1 D0

特征位 D6 ~ D4 位 未 用 D3 ~ D1 是 位 选 择
0 0 0 = C 口 0 位
0 0 1 = C 口 1 位
……
1 1 1 = C 口 7 位 1 = 置位
0 = 复位
因为C口共有8个二进制位,要确定对其中某一位进行操作,就要在控制字中指定该位的编号。图中用了D3D2D1 3位的编码与PC口的某一位相对应,对指定位进行的操作则由D0确定,如D0=1时,将指定位置“1”。D0=0则将指定位置“0”。D7=0为置位/复位控制字标志,D6~D4为无关项。例如:
若D0=0,D3D2D1=101,则C端口的第5位PC5置“0”;
若D0=1,D3D2D1=001,则C端口的第1位PC1置“1”。

手写板图示0602-13
例 用程序将PC口的第7位置“1”,第3位置“0”,设控制口的地址为0EBH。
[答疑编号10060201:针对该题提问]
第7位的编码为D3D2D1=111,使之置1的控制字编码为:00001111B=0FH;
第3位的编码为D3D2D1=011,使之置0的控制字编码为;00000110B=06H。
程序:
MOV AL,0FH ;设置PC,为“1”的控制字送AL
OUT 0EBH,AL ;将控制字送8255A控制寄存器
MOV AL,06H ;设置PC3为“0”的控制字送AL
OUT 0EBH,AL ;将控制字送8255A控制寄存器
注意:写入C口按位置/复

位字对PC某一位置0或置1时,PC口其他位不受影响。
在选通方式工作时,利用C口的按位置位/复位功能设置INTE可以控制8255A能否提出中断。

手写板图示0602-14

6.2.4 8255A的应用举例
1.开关接口
8255A用作开关接口的接口电路如图6-13所示。

其中PA口用作输入数据口,无状态口,也无中断逻辑,是一个工作于方式0采用无条件传送的输入接口。
设8255A的端口地址为60H~63H,要求完成如下功能:每隔5分钟从PA口读入8个开关的状态存入2000H:3000H开始的数据区,工作10小时结束。
则可写出完成该功能的控制程序如下:
MOV AX,2000H
MOV DS,AX ;段
MOV BX,3000H ;偏移
MOV CX,120 ;循环次数
MOV AL,10010000B ;(90H) 8255A初始化
OUT 63H,AL ;A口方式0,输入

手写板图示0602-15

手写板图示0602-16
LOP:IN AL,60H ;读入开关状态
MOV [BX],AL ;保存
INC BX ;调整指针
CALL DELAY5M ;延时5分钟的子程序
DEC CX
JNZ LOP ;120×5=600分钟
MOV AH,4CH ;返回DOS
INT 21H

手写板图示0602-17

手写板图示0602-18

手写板图示0602-19

2.LED接口
8255A用作控制发光二极管的接口电路如图。

手写板图示0603-01
图中PA口用作输出数据口,未使用状态口和中断逻辑,是一个工作方式0采用无条件传送的输出接口。
设8255A的端口地址为60H~63H,要求开始时LED7点亮(发光),每隔5秒钟,发光灯移向上一个LED,依次点亮LED 6,LED 5,…,LED 0。然后再点亮LED 7 ……周而复始,共工作10小时结束。则可写出完成该功能的控制程序如下:



手写板图示0603-02


MOV AL,10000000B ;(80H) 8255A初始化
OUT 63H,AL ;A口方式0 输出
MOV CX,7200 ;900×8=7200次
MOV AL,7FH ;最高位先亮
LOP: OUT 60H,AL ;数据送A口地址
ROR AL,01H ;准备下一位
CALL DELAY5S ;延时5秒子程序
LOOP LOP ;7200×5=36000秒
MOV AH,4CH ;返回DOS
INT 21H
3.打印机接口
(1)并行接口标准(Centronics)
并行接口的点阵式打印机的标准规定了一个36芯的连接器,对每个引脚信号作了明确的规定,如表6-4所示。


手写板图示0603-03

手写板图示0603-04
(2)采用程序查询方式(方式

0)的接口
图6-16为采用8255A作为打印机接口的例子,图中,PA口作为向打印机输出的数据口,工作于方式0,采用程序查询的控制方式。由PC0产生控制信号 ,PC7读取外设状态BUSY,8255A的端口地址为90H~93H。则要求从内存2000H:3000H开始取出100个数据送打印机打印的控制程序为:


手写板图示0603-05


MOV AX,2000H ;数据段
MOV DS,AX
MOV BX,3000H ;数据区首址(偏移地址)
MOV CX,100 ;字节数
MOV AL,10001000B ; (88H) 8255A初始化88H:A口方式0输出,C口上输入,C口下输出
OUT 93H,AL ;8255A控制口
LOP: IN AL,92H ;读C口
TEST AL,80H ;判D7位
JNZ LOP ;BUSY (忙)
MOV AL,[BX] ;若不忙,取数据
OUT 90H,AL ;A口输出

MOV AL,01H ;产生 (0 000 000 1)
OUT 93H,AL ;设PC0=1
MOV AL,00H
OUT 93H,AL ;设PC0=0
MOV AL,01H
OUT 93H,AL ;设PC0=1
INC BX ;下一字符的地址
LOOP LOP ;CX=CX-1,不为0返回
MOV AH,4CH ;返回DOS
INT 21H
(3)采用程序中断方式(方式1)的接口
图6-17为8255A采用中断控制方式的打印机接口,图中PB口作为向打印机输出的数据口,工作于方式1采用程序中断的控制方式。8255A工作于方式1输出时,规定8255A PB口同外设之间的联络信号为 由PC1输出, 由PC2输入,中断请求INTR由PC0输出送IR2,本接口电路中未用 而是选用PC7产生打印机所要求的 。

 手写板图示0603-06


设8255A的口地址同图6-16,即90~93H,则该接口的初始化程序段为:
MOV AL,10000100B;(84H) PB口方式1输出,PCH输出
OUT 93H,AL
MOV AL,00000101B;(05H) INTEB=PC2,置INTEB=1(开中)
OUT 93H,AL

手写板图示0603-07






(4)也可用单稳态电路产生选通信号 ,则接口电路如下图所示。


手写板图示0603-08

4.键盘接口
键盘是计算机系统中最常用的一种输入设备。有两类键盘:编码键

盘和非编码键盘。
编码键盘能自动提供对应于被按键的编码信息,如ASCII码,并能同时产生一个选通脉冲通知微处理器。还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但需要较多的硬件,价格较贵。
非编码键盘由一组开关组成,提供行和列的键盘矩阵。其全部工作,包括按键的识别、按键代码的产生、防止串键和消去抖动等问题,都靠软件来实现。所需要的硬件较少,价格也便宜,一般用作单板机的键盘。
键盘输入信息的过程可归纳为三步:
(1)检测是否有键按下;
(2)查出按下的是哪一个键;
(3)将该键所代表的信息翻译成计算机能识别的内部代码,如ASCII码或其他预先约定的编码。
在键盘输入过程中,由于按键的断开与闭合都要经过几毫秒的抖动之后才能真正接触,因而应采取措施以保证在按键稳定后才检测键的信息(消抖)。
在按键时,用户可能因偶尔同时按下一个以上的键而造成编码出错,称之为串键。此时需要硬件或软件来进行处理。
第二步、第三步可以用硬件也可以用软件来完成。如用硬件完成,则称为编码键盘,如用软件来完成,则称为非编码键盘。
图6-19为非编码键盘和微处理器的接口电路。图中8255A端口A工作在方式0,用作输出口,端口B也工作在方式0、用作输入口。在按下一个键时,与它对应的行和列短接,形成了通路,通过查找闭合键所在的行和列的位置,程序就能决定被按下的键所代表的代码(称为“键号”,本例中键号为0~63)。
 
手写板图示0604-01
检测键盘输入过程如下:端口A送全“0”到8根行线上,CPU再从端口B读入8根列线上的信息。如果读入的信息为全“1”(高电平),则表示目前尚无键闭合;否则,表示现在已有按下的键。为进一步查找闭合键所在的行和列的编码,CPU在端口A的PA0引线上送出低电平信号,其余(PA7~PA1)引线上输出高电平信号。CPU再次通过B端口读入列线上的电平信号,并判断是否为全“1”。如果是全“1”,则表示在第0行上无键闭合;否则,表示闭合键在第0行上,再进一步找出读入的字节数据中“0”所在的位,即按下的键所在的列的位置。
在第0行上无键闭合的情况下,则依次对行1,行2,……行7进行上述操作,找出被按下的键所在行和列的编号。由此,可以通过软件的办法,找到被按下的键所代表的编码,称为行扫描法。
使用行扫描方式寻找按下键的编号(键号)的程序如下:
PORTA EQU 0FFF8H ;8255A的A口
PORTB

EQU 0FFFAH
PORTC EQU 0FFFCH
PORTCN EQU 0FFFEH
MOV DX,PORTCN ;置8255A端口A、B工作在方式0
MOV AL,10000010B ;端口A为输出口,端口B为输入口。
OUT DX,AL
WAITK: MOV DX,PORTA ;等待键闭合
MOV AL,0 ;行码送全“0”
OUT DX,AL
MOV DX,PORTB ;读列码
IN AL,DX
CMP AL,0FFH;
JZ WAITK ;无键按下,继续等待
MOV BL,0 ;扫描键盘矩阵,送键号初值
MOV BH,11111110B ;置初始扫描模式—行码送FEH
MOV CX,8
FND ROW: MOV AL,BH ;送行码
MOV DX,PORTA
OUT DX,AL
ROL BH,1 ;修改行码
MOV DX,PORTB ;读列码
IN AL,DX
CMP AL,0FFH
JNZ FNDCOL ;有键按下,查列号
ADD BL,8 ;无键按下,指向下一行键号初值
LOOP FNDROW ;8行扫描未完,送下一行扫描码
JMP DONE ;8行扫描完,无键按下
FNDCOL: ROR AL,1 ;查哪一列有键按下
JNC RIGHT ;查到按下键的键号
INC BL ;键号加1,查下一列
JMP FNDCOL
RIGHT: … ;按下键的编号在BL中
DONE: … ;无键闭合
5.7段LED显示器接口
发光二极管是一种当外加电压(阳极电压接高电位)超过额定电压时发生击穿,并因此能产生可见光的器件。数码显示管通常由多个发光二极管来组成7段或8段笔画显示器,当段组合发亮时,便可显示某一数码或字符。7段代码的各位(bit0~bit7)用作a~g和DP的输入。如图所示的7段L

ED实际上包含8个LED(7段字形加上小数点DP)。



图6-21为8位LED显示器接口电路,共有8个7段发光二极管的器件。为了减少所用
器件的数量,这个电路可以和两个8位并行输出口连接。8个显示器共用同一组段代码输出线,但通过数位选择线,在任何时间内只有一个显示器能够显示其代码。
例如,在图中8个显示器上显示8位十六进制数,每个显示器显示其中的一位数。
为了实现这一功能,可让每个显示器接通2ms,以显示其对应的数,并且保证周而复始地逐个显示这8位数。这样,人们看上去好像8个显示器都在同时显示。
现选用8255A作为8位数字显示电路和微处理器的接口芯片,端口A和B都用作方式0的输出端口,端口A的输出提供数位驱动器的选择信号——位选码,端口B输出8位段选码(字形码),提供段驱动器的7段代码信息。在8个显示器上重复显示一个双字的16进制数例如12345678H的程序为(8255A各端口地址同上例):

手写板图示0604-02




定义十六进制数字符的7段代码表
… ;数据段
SSEGCODE DB 0C0H ;0
DB 0F9H ;1
DB 0A4H ;2
DB 0B0H ;3
DB 99H ;4
DB 92H ;5
DB 82H ;6
DB 0F8H ;7
DB 80H ;8
DB 98H ;9
DB 88H ;A
DB 83H ;B
DB 0C6H ;C

手写板图示0604-03




DB 0A1H ;D
DB 86H ;E
DB 8EH ;F
FOURBYTE EQU THIS BYTE ;改变类型见P81③
DBLWORD DD 12345678H ;定义双字

MOV AL,10000000B ;设置工作方式
MOV DX,0FFFEH
OUT DX,AL

CLD ;DF=0,递增
AGAIN: MOV CX,4
MOV

SI,OFFSET FOURBYTE
MOV AH,11111110B ;位选码
LOOPDISP: LODSB ;AL←[SI],SI=SI+1
MOV DI,AX
AND AL,0FH ;取低四位


MOV BX,OFFSET SSEGCODE
XLAT SSEGCODE ;查表,取段选码
MOV DX,0FFFAH ;B口地址
OUT DX,AL ;送段选码
MOV AL,AH ;取位选码
MOV DX,0FFF8H ;A口地址
OUT DX,AL ;送位选码
PUSH CX
MOV CX,NDELAY ;延时2ms的
IDLE: NOP ;延时常数
NOP
LOOP IDLE
MOV AL,0FFH

OUT DX,AL ;禁止显示
MOV AX,DI
MOV CL,4
SHR AL,CL ;逻辑右移4位,取高四位
MOV BX,OFFSET SSEGCODE
XLAT SSEGCODE ;查表
MOV DX,0FFFAH ;送段码
OUT DX,AL
ROL AH,1 ;数位左移一位
MOV AL,AH
MOV DX,0FFF8H ;A口
OUT DX,AL
MOV CX,NDELAY ;延时2ms

IDLE2: NOP
NOP
LOOP IDLE2
ROL AH,1 ;数位再左移一位
MOV AL,0FFH
OUT DX,AL ;关显示
POP CX ;共四次
LOOP LOOPDISP ;一遍共显示8位
JMP AGAIN ;循环显示
6.打印机接口2
(1)打印机的工作过程及接口电路。打印机接口1是一个最简化的打印机接口原理图,实际工作的打印机接口是一个较复杂的电路,必须使用Centronics接口标准中的大部分接口信号线,打印机的实际工作过程如下:
当接通打印机电源后,在打印机控制电路中的CPU控制下,先完成初始化,然后打印机开始处于接码状态,接受由主机送来的信息,并进行判断。若是功能码,则进入相应的处理;若是字符码,则送入字符缓冲器。再从点阵字库中找出相应的字符点阵信息存入打印码缓冲区。当接收的数据为打印命令(如回车、换行符等)或一行缓冲打印码已满,则进入打印过程。
打印机接口电路也称打印机适配器,

可以用锁存器、三态缓冲器等器件实现,也可用通用的可编程并行接口芯片实现。图6-22就是用8255A作为接口电路的逻辑图。

手写板图示0605-01
图中,8255A的PA口工作于方式1,并为数据输出端口,用于传送主机送来的数据信息DATA1~DATA8。此时,PC6、PC7和PC3分别规定为配合方式1工作的 、 和INTR信号。PC4定义为输入,作为打印机送来的SLCT状态信息。8255A的B组工作于方式0,PB口作为输出控制口,利用PB3~PB0产生 、 、 和 控制信号,而PC2~PC0.用作输入状态口,分别定义为打印机的PE、 和BUSY状态信号。图中非门用于增强驱动能力和缓冲作用。
(2)8255A的应用编程。图6-22所示的打印机接口电路可采用程序控制I/O方式或中断控制I/O方式实现数据的输出传送。若采用中断控制I/O方式,中断请求INTRA应连接到中断优先控制器8259A的IR输入端,作为一个中断源,由8259A产生中断类型码,以便CPU响应本中断请求时,自动进入打印中断服务程序。下面就是采用中断控制I/O方式时,8255A的初始化程序段和打印中断服务程序。
①8255A的初始化程序段。若8255A的I/O端口地址为2C0H~2C3H,则8255A的初始化程序段如下:
MOV DX,02C3H ;写方式控制字。A组方式1,PA
MOV AL,10101001B ;输出,PC4、PC5为输入,B组方
OUT DX,AL ;式0,PB输出,PC2~PC0为输入
MOV AL,00001101B ;使INTEA=1,允许PA口中断
OUT DX,AL
MOV DX,02C1H(B口) ;使 (自动走纸) 、 (被选择)为
MOV AL,00001100B ;低电平 , (初始化)和 (选通)为 高电平
OUT DX,AL




②打印机中断服务程序。打印机中断服务程序的任务是从主机的打印数据缓冲区中输出一个字符到打印机。假定输出数据的有效地址已存于BX中,则中断服务程序如下所示:
PRINT PROC NEAR
PUSH AX ;保护寄存器
PUSH DX
MOV DX,02C0H ;PA口地址
MOV AL,[BX] ;读取一个打印数
OUT DX,AL ;据,送入PA口

MOV DX,02C1H ;输出选通脉冲
IN AL,DX
OR AL,01H ;PB0为1, 为0
OUT DX,AL
AND AL,OFEH ;PB0为0, 为1
OUT DX,AL
INC BX ;下一字符地址
POP DX ;恢复寄存器内容
POP AX
IRET ;中断返回
PRINT ENDP ;子过程结束
7.LED/开关接口
8086CPU通过8255A同开关与7段LED显示器的接口如图6-23所示;开关设置的二进制信息由8255A的PB口输入,经程序转换为对应的7

段LED的段选码(字形码)后,通过PA口输出,由7段LED显示开关二进制状态值(用十六进制表示),试编制其控制程序(8255A的端口地址为0FFF8H,0FFFAH,0FFFCH和0FFFEH)。
[答疑编号10060501:针对该题提问]

手写板图示0605-02
解题分析:
(1)8255A的负载能力较小,所以输出口PA经驱动器同7段LED显示器连接。
(2)8255A设置为方式0工作,PA口用于输出,PB口用于输入。
(3)由给定的8255A端口地址可见,8255A的端口地址选择线A0A1分别同地址锁存器输出的A1、A2相连,每个端口有两个端口地址,如PA口为0FFF8H和0FFF9H,通常使用0FFF8H(即未参加译码的地址线A0为0的地址)。

(4)按题意可写出控制程序如下:
ORG 2000H
MOV AL,82H ⑴
MOV DX,0FFFEH ⑵
OUT DX,AL ⑶
RDPORTB: MOV DL,0FAH ⑷
IN AL,DX ⑸
AND AL,0FH ⑹
MOV BX,OFFSET SSEGCODE ⑺
XLAT ⑻
MOV DL,0F8H ⑼



OUT DX,AL ⑽
MOV AX,56CH ⑾
DELAY: DEC AX ⑿
JNZ DELAY ⒀
JMP RDPORTB ⒁
HLT ⒂
ORG 2500H
SSEGCODE DB 0C0H,0F9H, 0A4H, 0B0H
DB 99H, 92H, 82H, 0F8H
DB 80H, 98H, 88H, 83H
DB 0C6H,0A1H, 86H, 8EH



(5)程序分析。指令⑴~⑶设置8255A工作方式,方式选择字为82H=1 00 0 0 0 10B,工作于方式0,PA口输出、PB口输入,控制口地址为0FFFEH;
指令⑷、⑸读入PB口信息——即4位开关提供的状态信息,这里PB口的地址为0FFFAH,修改地址寄存器DX时,只需修改DL为FAH,因高8位FF与控制口0FFFEH相同;
指令⑹屏蔽掉寄存器AL的高4位,因为从PB口读入的信息中只有低4位有效,高4位为随机值必须去除;
指令⑺将地址指针BX指向段选码(字形码)表的首地址;
指令⑻查表,取出对应的段选码XLAT的功能是[BX+AL]→AL,执行XLAT指令后,AL中的内容为指令⑹执行后PB口读入的4位二进制状态值对应的段选码值;
指令⑼、⑽将查表所得之段选码送PA口由7段LED显示器显示;
指令⑾~⒀为延时程序段,使一次读入的信息,保持显示一段时间;

指令⒁转到指令⑷读入4位开关的新状态,进入新一轮的显示操作。
从ORG 2500H开始为段选码表。

手写板图示0605-03


(6)讨论。
①如果PA口与7段LED显示器之间的驱动器改为反相器,则程序中的段选码表必须修改为:
SSEGCODE DB 3FH,06H,5BH,4FH,66H ,6DH,7DH,07H
DB 7FH,67H,77H,7CH,39H,5EH,79H,71H
而控制程序可以不变。
②如果要求7段LED显示器循环显示0~F 这16个数字,每个数字显示5秒钟,显示20遍。则控制程序为:
ORG 2000H
MOV AL,80H ;设置方式选择字
MOV DX,0FFFEH ;PB口不用
OUT DX,AL
MOV BX,20 ;循环20次
DISPLOP: LEA DI,SSEGCODE ;段选码表
MOV CX,16 ;显示字符个数
LOP: MOV AL,[DI] ;显示字符送PA口
MOV DL,0F8H
OUT DX,AL




INC DI ;修改显示指针
CALL DELAY5S ;延时5秒子程序
LOOP LOP ;每遍循环16次
DEC BX ;修改大循环指针,大循环20次
JNZ DISPLOP
HLT
ORG 2500H
SSEGCODE: DB 0C0H,0F9H,0A4H,0B0H,
DB 99H,92H,82H,0F8H
DB 80H,98H,88H,83H,0C6H,
DB 0A1H,86H,8EH

6.2.5 16位系统中的并行接口
在16位微机系统中,要求实现16位数据的传送和处理,可以使用2片8255A芯片来构成一个16位数据的输入与输出,同16位系统中的内存接口相似。图6-24是实现16位数据传送的一个例子。
该电路用于8086最小方式的微机系统,8255A芯片最多可有16片,分为两组挂到系统总线上,每组都有自己的地址译码器74LS138,上面一组8255A的端口地址在奇地址边界上,下面一组8255A的端口地址在偶地址边界上,每片8255A芯片最多可提供3个8位端口,即PA、PB和PC,这些端口可由软件设置用作输入或输出。这样,每一组最多可有192条I/O线。

手写板图示0605-04
图6-24中,上面一组的138地址译码器的控制端 接 , 接M/ ;下面一组的138地址译码器的控制端 接A0, 接M/ 。地址总线A5~A3接138地址译码器的输入端C、B、A,经译码后产生的输出信号 ,分别接8255A芯片的片选信号 ;地址总线A2、A1作为8255A的A1、A0信号,以实现片内端口(PA、PB、PC口以及控制口)的寻址。这样8086可以对每个端口进行字节信息传送,也可对上下各一个端口组成的两个端口进行偶地址字的传送(只需一个总线周期)。

6.3 串行接口芯片

6.3.1 串行通信概述
采用串行通信的原因主要是为了降低通信线路的价格和简化通信设备,并且可以利用现有的通信线路。目前,随着微型计算机性能的提高和价格的降低,微型计算机在通信领域中的应用日益增多,它不仅可以作为智能终端同其他计算机进行数据通信,而且微型计算机本身也可以带有若干其他的终端(如CRT显示器终端,打印机终端等),以及在微型计算机和微型计算机之间进行数据通信。为此,大多数微型计算机都备有各种串行通信接口,这些接口是由相应的器件和线路实现的。
1.并行通信和串行通信
在计算机领域中,有两种数据通信方式 ——并行传送和串行传送。
(1)并行传送。数据在多条并行1位宽的传输线上同时由源传送到目的。以1字节的数据为例,在并行传送中,1字节的数据通过8条并行传输线同时由源传送到目的。

手写板图示0606-01
(2)串行传送。数据在单条1位宽的传输线上,一位一位地按顺序分时传送,也以1字节的数据为例,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序一位一位地传送。

手写板图示0606-02
(3)并行传送与串行传送的比较
①从距离上看:并行通信适宜于近距离的数据传送,通常小于30m。而串行通信适宜于远距离传送,可以从几米到数千公里。
②从速度上看:在短距离内,并行接口的数据传输速度显然比串行接口的传输速度高得多。另一方面串行和并行数据传送速率与距离成反比。
③从设备、费用上看:随着大规模和超大规模集成电路的发展、逻辑器件价格趋低,而通信线路费用趋高,因此对远距离通信而言,串行通信的费用显然会低得多。另一方面串行通信还可利用现有的电话网络、电视网络和电力网络等来实现远程通信,降低了通信费用。
2.同步通信与异步通信
所谓“串行通信”是指数据是一位一位顺序传送。
在串行通信中有两种基本的通信方式:即异步通信ASYNC和同步通信SYNC。
(1)异步通信。在异步通信中,CPU与外设之间有两项约定:
①字符格式。即字符的编码形式及规定,每个串行字符由以下4个部分组成:
☆1个起始位,低电平;
☆ 5~8个数据位(如ASCII码,则为7位);
☆ 1个奇偶校验位(作为检错用),奇偶校验位是可选项,选奇选偶也是可选项;
☆ 1,1.5或2个终止位(停止位),高电平。
数据传送时先送低位后送高位。

手写板图示0606-03


手写板图示0606-04
起始位

后面紧跟的是要传送字符的最低位,每个字符的结束是1~2个高电平的终止位,起始位至终止位构成一帧。相邻两个字符之间的间隔可以是任意长度的,以便使它有能力处理实时的串行数据。两个相邻字符之间叫空闲位,为高电平。然后,下一个字符的开始,必然以高电平变成低电平起始位的下降沿作为标志。图6-26(a)示出小于最高数据传送率的格式,其最高数据传送率的格式即为在相邻字符之间去除空闲位后的格式,如图6-26(b)所示。
②波特率(Baud Rate)。波特率是指单位时间内传送二进制数据的位数,以位/秒为单位,它是衡量串行数据传送速度快慢的重要标志和参数。
假如数据传送速率是120字符/秒,而每一个字符格式规定包含10位二进制数据(1位起始位、1位终止位、7位数据位、1位奇偶校验位),则传送的波特率为:
10×120=1200位/秒=1200波特
而每个数据位的传送时间Td称为位时间,即为波特率的倒数:
Td=1/1200=0.833 ms
异步通信的传送速度一般在50~19200波特之间,常用于计算机到CRT终端和字符打印机之间的通信等。
(2)同步通信
在异步传送中,每一个字符要用起始位和终止位作为字符开始和结束的标志,占用了一些时间,因而在数据块传送时,为了提高速度,就要设法去掉这些标志,而采用同步传送。此时,在数据块开始处要用同步字符来指明,如图6-27所示。

手写板图示0606-05
同步传送速度高于异步传送速度,可达500千波特。但它要求有完全相同的时钟来实现发送端及接收端之间的同步,故硬件电路比较复杂。通常用于计算机之间的通信或计算机到CRT等外设之间的通信等。
3.串行通信的传送方向
通常串行通信数据在两个站(或设备)A与B之间传送,有单工、半双工、全双工三种传送,如图6-28所示。
(1)单工(Simplex)
仅能进行一个方向的传送,即A只能作为发送器,B只能作为接收器。
(2)半双工(Half-Duplex)
能交替地进行双向数据传送,但两设备之间只有一根传输线,因此两个方向的数据传送不能同时进行。
(3)全双工(Full-Duplex)
A、B之间有两条传输线,能在两个方向上同时进行数据传送。

4.信号的调制与解调
计算机通信传送的是数字信号,如图6-29所示,它要求传送的频带很宽,而计算机在远程通信中通常是通过载波电话(Carrier Telephone)线传送的,不可能有这样宽的频带。

手写板图示0606-06
如果数字信号直接进行通信,经过传输线后必然会产生畸变。如图6-30所示。因此,在发送端

必须采用调制器把数字信号转换为模拟信号,即对载波电话线上载波进行调制;而在接收端又必须用解调器检出发送端来的模拟信号,并恢复为原来的数字信号,如图6-31所示。



手写板图示0606-07
图中Modem即调制解调器,是计算机远程通信中的一种辅助设备。按调制方式,Modem可分三类:即调幅、调频和调相。其中,调频方式是常用的一种调制方式。
调制:在发送时,需要将数字信号(二进制信号)调制成适合在电话线上传输的音频信号。
解调:在接收时,需要将音频信号解调还原成计算机可以接收的数字信号。
调频时,数字信号“1”与“0”被调制成易于鉴别的两个不同频率的模拟信号。

手写板图示0606-08
两个不同频率的模拟信号分别由电子开关控制,在运算放大器的输入端相加,而电子开关由需要传输的数字信号(即数据)来控制。当信号为“1”时,控制1号电子开关导通,送出一串频率较高的模拟信号;当信号为“0”时,控制2号电子开关导通,送出一串频率较低的模拟信号。于是在运算放大器的输出端,就得到了调制后的信号。

5.异步通信规程
在数据传送过程中,为了正确地进行数据传送而制定了各种传送控制规程。串行通信中的控制规程很多,但在微型计算机中主要使用三种通信控制规程,即异步控制规程(ASYNC),同步控制规程(BISYNC)和高级数据链路控制规程(HDLC)。PC系列机中具有异步和同步两种通信功能。目前,对每一种通信控制规程,都有相应的大规模集成电路的接口芯片去实现。
上述三种通信规程中使用最多的是异步通信控制规程。异步的含义是发送器和接收器不共享共用的同步信号,也不在数据中传送同步信号。

手写板图示0606-09
图示为异步串行通信所使用的位格式。当发送器不工作处于空闲状态时,它维持线路处在连续的“1”状态(高电平的“传号”状态)。发送器可以在任一时刻通过传送起始位,即在线路上放置1个位时间的“空号”状态(低电平),启动一个字符的传送、接着传送数据位(低位在前,高位在后),其后是可供选择的奇或偶检验位(如果选择偶检验,数据位和奇偶位中1的数目应是偶数)。最后,发送器维持线路处在“传号”(MARK)状态,其维持时间可以为1、1.5或2位,把它们称为停止位。
例题:
画出字符“E”的发送波形。要求:7个数据位;一个起始位,奇校验,一个结束位。
[答疑编号10060601:针对该题提问]
分析:E的二进制是100 0101,奇校验位是0,起始位是0,停止

位是1。传送格式如下图:

手写板图示0606-10

s
手写板图示0606-11
从起始位到停止位结束的时间周期称为1帧(FRAME)。在停止位以后,如果有另一个字符要传送,发送器可以立即传送1个新的起始位。否则,发送器一直维持线路处在传号状态。自最后1个停止位起,发送器可以在任一时刻(不需要是位时间的整数倍)传送1个新的起始位。
在大多数微型计算机中,在标准ASCII码的奇偶位之前还可以传送和接收可供选择的第八个数据位。对于第八个数据位,有如下四种情况:不传送、恒为1、恒为0或有用的数据。如果是最后一种情况,则可以产生外加的128种非ASCII字符代码,用以扩充字符组,或用于专门的控制功能,在串行电路中进行传送。
在异步通信中是由时钟信号控制数据的发送和接收的,为了保证数据的正确传送,还必须保证发送和接收的双方有相同的数据传送速率。如前述在一般串行通信中,数据位的传送速率称为波特率(“位速率”)。标准的位速率有
75 位/秒、 110位/秒、 150位/秒、
300位/秒、 600位/秒、 1200位/秒、
2400位/秒、 4800位/秒、 9600位/秒
和19200位/秒。


6.3.2 串行接口原理
本小节以通用异步收发器UART为例,概述串行接口电路的工作原理。
UART是用硬件实现串行通信的通信接口电路。
1.组成
UART由三部分组成:“接收器”用来把串行码转换为并行码;“发送器”用来把并行码转换为串行码;而“控制器”用来接收CPU的控制信号,执行CPU所要求的操作,并输出状态信息和控制信息,UART中发送和接收部分功能图如图6-33所示。

手写板图示0607-01
2.功能
UART的功能是既能接收异步串行输入码并将其转换为CPU所需要的并行码,也能将CPU内部的并行码转换为串行码输出。
在UART工作时,其接收器始终监视着串行输入端,当发现一个起始位时,就开始一个新的字符的接收过程。并在接收过程中,自动检查每个字符的最后的终止位(逻辑“1”),以便得到同步。如果发现终止位为逻辑“0”,则将发出一个出错状态位(帧zhèng错误)。CPU将检测此状态位,并做出相应的处理动作。
UART是用外部时钟来和接收的数据进行同步的。外部时钟的周期Tc和每个数据位的周期Td有以下关系:
Tc=Td/K(K为波特率因子)
其中K=1,16或64。
外部时钟和接收数据的同步如图6-34所示。

手写板图示0607-02

为了检测长距离传送中可能发生的错误,通常增加一个奇偶校验位。UART在发送时,检查每个要传送

的字符中的“1”的个数,自动在奇偶校验位上添上“1”或“0”,使得“1”的总和(包括奇偶校验位)为偶数(偶校验,在奇校验中为奇数)。如下图所示。

手写板图示0607-03
而在接收时,UART检查字符的每一位以及奇偶校验位的“1”的个数。以确定是否发生传送错误(奇偶错误)。见图6-36。

手写板图示0607-04
为了使传送过程更可靠,在UART中还设立了各种出错标志。常用的有以下三种:
(1)奇偶错误(Parity error)。如上所述,在接收时。UART检查接收到的每一个字符的“1”的个数,若不符合要求,则置位这个标志,发出奇偶校验出错信息。
(2)帧错误(Frame error)。若接收的字格式不符合规定(例如,测出停止位为“0”等),则置位帧出错标志,发出帧错误信息。
(3)溢出(丢失)错误(Overrun error)。上述的UART是一种双缓冲器结构。例如在接收时,接受的数据先由移位寄存器移位,把串行的变为并行的,然后送到接收数据寄存器,由CPU的输入指令输至CPU中,若数据已变为并行且已送至接收数据寄存器中时,UART就可以接收另一个新的字符。但是,若已接受到第二个字符的停止位,且要把第二个字符传送到接收数据寄存器中时,CPU还未取走上一个数据,于是就会出现数据丢失,则置位溢出错误标志,由此可见,若数据缓冲器的级数越多,则溢出错误的几率就越少。

6.3.3 可编程通信接口8251 A
Intel 8251A USART是通用同步/异步接收发送器,是专为Intel微处理器设计的,可用作CPU和串行外设的接口电路。
1.8251A的基本性能
(1)可用于同步和异步传送。
(2)同步传送:5~8bit/字符,内部或外部字符同步化,自动插入同步字符。
(3)异步传送:5~8bit/字符,时钟速率为通信波特率的1、16或64倍。
(4)可产生中止字符(Break Character),可产生1、1.5或2位的停止位。可检查假启动位,自动检测和处理中止字符。
(5)波特率:DC~19.2K(异步);DC~64K(同步)。
(6)完全双工、双缓冲器发送器接收器。
(7)误差检测——具有奇偶、溢出和帧错误等检测电路。
(8)与Intel8080、8085、8086、8088CPU兼容。
2.8251A的结构与引脚功能
8251A的结构框图与引脚分布如图所示。其中包括8251A同CPU的接口部分一数据总线缓冲器和读写控制逻辑;发送器和接收器及其控制电路,以及产生RS-232C有关信号的MODEM控制电路。

手写板图示0607-05

8251A内部结构图

手写板图示0607-06

手写板图示0607-07

手写板图示

相关主题
文本预览
相关文档 最新文档