串并行通信及其接口技术市公开课一等奖省赛课获奖课件_第1页
串并行通信及其接口技术市公开课一等奖省赛课获奖课件_第2页
串并行通信及其接口技术市公开课一等奖省赛课获奖课件_第3页
串并行通信及其接口技术市公开课一等奖省赛课获奖课件_第4页
串并行通信及其接口技术市公开课一等奖省赛课获奖课件_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章串并行通信

及其接口技术串并行通信及其接口技术第1页

§7.1串行通信和串行接口

§7.2可编程串行通信接口8251A

§7.3并行通信和并行接口

§7.4可编程并行通信接口8255A

教学重点为:

串并行接口用途;

8251A功效结构与工作原理、初始化流程;

8255A控制字;

8255A工作方式;第7章串并行通信及其接口技术串并行通信及其接口技术第2页串并行通信及其接口技术第3页4串并行通信及其接口技术第4页ISA插槽PCI插槽AGP插槽北桥芯片组南桥芯片组内存插槽CPU插槽IDE接口软驱接口并口连接器串口连接器ROMBIOS鼠标键盘USB接口主板电源插座串并行通信及其接口技术第5页6PCI插槽北桥芯片组南桥芯片组内存插槽CPU插槽IDE接口鼠标键盘USB接口主板电源插座Intel“4”系列原装主板串并行通信及其接口技术第6页

微机与I/O设备接口按照数据传送方式不一样,可分为:并行接口和串行接口两种。7.0串行通信接口与并行接口概述CPUI/O接口外设串或并图(a)并行和串行概念串并行通信及其接口技术第7页CPU并行接口串行外设数据输出串行接口译码器与逻辑控制ABCB并行外设DBDB(8根)图(b)并行接口和串行接口结构、功效示意图数据输入地串并行通信及其接口技术第8页7.1.1串行通信包括几个问题7.1串行通信和串行接口串行通信:将数据分解成二进制位用一条信号线,一位一位次序传送方式。在传输过程中,每一位数据占据一个固定时间长度。数据各位依次由源抵达目标地→慢数据线少、抗干扰能力强→远程,费用低01101010

RD目TD源串行通信适于长距离、中低速通信串并行通信及其接口技术第9页1.按传输方式分:全双工、半双工、单工全双工:双根传输线,能够同时发送和接收半双工:单根传输线,不能同时发送和接收单工:单根传输线只用作发送或只用作接收2.按时钟定时分:同时、异步同时通信:收发双方采取同一个时钟信号来定时

多个字符组成一个数据块(或称信息帧、信息组),在每一个数据块前附加一个或两个同时字符或标识符,最终以校验字符结束在传送过程中发送端和接收端使用同一时钟信号进行控制使每一位数据均保持位同时。同时通信一个信息帧含有多个或上千字符。同时字符字符1字符2……字符n校验字符数据块串并行通信及其接口技术第10页异步通讯:收发双方不用统一时钟来定时

每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身各位,接着传输校验位,最终以停顿位结束该字符传输。所以一次传输起始位、字符各位、校验位、停顿位组成一组完整信息,称为异步通信一个信息帧(Frame),只含一个字符。帧与帧之间可有任意个空闲位。为了确保异步通信正确,必须在收发双方通信前约定字符格式、传送速率、时钟和校验方式等。

普通以若干位表示一个字符,收发是以字符为独立通信单位,一个字符一个字符地传输,两个字符之间传输间隔是任意。这么,为确保正确区分字符,每个字符前后要用若干位作为分隔位来进行识别。串并行通信及其接口技术第11页起始位——每个字符开始传送标志,起始位采取逻辑0电平数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位停顿位——表示该字符传送结束。停顿位采取逻辑1电平,可选择1、1.5或2位空闲位——传送字符之间逻辑1电平,表示没有进行传送图7.1标准异步通信数据格式串并行通信及其接口技术第12页异步通信数据格式总结说明:①无信息传输(或间隔)时,输出必须为“1”状态(标识态);②1到0跳变作为字符开始——起始位;③起始位后为5~8位数据位,低位在前,高位在后;④数据位后为奇偶校验位,可设为奇或偶校验,也可不设;⑤最终有1、1.5或2位停顿位,均为“1”串并行通信及其接口技术第13页传输速率

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

串行通信不论收发都必须有时钟脉冲信号对传送数据进行定位和同时控制。接收时钟/发送时钟是波特率倍数——波特率因子。【例】:波特率=9600bps,波特率因子=16,则接收时钟和发送时钟频率=9600×16=153600Hz波特率因子=16,表明16个时钟脉冲传送1位。3.串行通信传输率国际上要求标准波特率:110、300、600、1200、1800、2400、4800、9600、19200。串并行通信及其接口技术第14页设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停顿位,假如波特率为1200bps,那么,每秒钟能传输最大字符数为1200/10=120个。以1200bps波特率工作,用4个同时字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用时间为7(100+4)/1200=0.6067s,这就是说,每秒钟能传输字符数可到达100/0.6067=165个。例1:异步传输过程

例2:同时传输过程可见,在一样传输率下,同时传输时实际字符传输率要比异步传输时高。串并行通信及其接口技术第15页7.1.2串行接口图7.2可编程串行接口经典结构串并行通信及其接口技术第16页7.2可编程串行通信接口8251A7.2.08251A基本性能①经过编程,8251A能够工作在同时方式,波特率0~64K,也能够工作在异步方式,波特率0~19.2K;②同时方式下能够用5~8位来表示字符,允许增加1位奇偶校验位,能自动检测同时字符,实现收发同时;③异步方式下用5~8位来表示字符,1位可选奇偶校验位,1位开启位,依据需要可设置1、1.5或2位停顿位;④全双工、双缓冲发送器和接收器;⑤含有奇偶、溢出和帧错误检测功效;⑥输入输出电路为TTL电平。串并行通信及其接口技术第17页8251A功效结构7.2.18251A基本工作原理图7.3串并行通信及其接口技术第18页模式存放器决定工作于同时或异步模式以及接收和发送字符格式同时字符存放器存放同时模式下同时字符偶地址端口奇地址端口串并行通信及其接口技术第19页3.8251A发送和接收(1)检测起始位1)异步接收方式设数据接收时钟频率是数据传输频率16倍。起始检测确定已检测到起始位起始位RXCRXDT16T8T串并行通信及其接口技术第20页采样数据起始检测确定已检测到起始位起始位RXCRXDT16T16T8T每隔一字符传输时间,对RxD进行一次采样,数据送移位存放器移位,并进行奇偶校验和去掉停顿位,得到并行数据。(2)8251A进行常规采样并进行字符装配串并行通信及其接口技术第21页注:对于少于8位数据,8251A将高位补0。

(3)通知CPU接收数据并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个数据,能够取用。8251A异步接收数据传输格式串并行通信及其接口技术第22页2)8251A异步发送方式(2)8251A由TxD线把串行数据送出。8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停顿位,由TxD把数据送出。注:数据及起始位、校验位、停顿位总是在发送时钟TxC下降沿从8251A发出,数据传输波特率为发送时钟频率1、1/16或者1/64,详细决定于编程时给出波特率因子。(1)程序置TxEN(允许发送)有效。

检测到外设送来CTS(请求发送信号响应信号)有效,开始发送。

串并行通信及其接口技术第23页8251A异步发送数据传输格式注:对于少于8位数据,8251A将高位补0。

串并行通信及其接口技术第24页3)8251A同时接收方式单同时字符8251检测RxD线,当RxD线出现一数据位时,接收送移位存放器移位,并与同时字符存放器内容比较,如不等,继续接收,比较。相等时,8251ASYNDET引脚为高电平,表示同时已经实现。(1)搜索同时字符双同时字符检测到第一个同时字符后,再继续检测今后输入移位存放器内容是否与第二个同时字符存放器内容相同,不一样重新比较第一个同时字符;相同,则认为同时已经实现。内同时(a)串并行通信及其接口技术第25页(b)外同时

经过在同时输入端SYNDET加一高电位实现同时。当SYNDET端出现一个高电平,而且维持一时钟接收周期,8251A认为已经完成同时。(2)数据同时传输

接收器利用时钟信号对RxD采样,把收到数据送移位存放器。当收到数据位到达要求一个字符位数时,将移位存放器内容送输入缓冲存放器,且发出RxRDY信号,表示收到一数据。

串并行通信及其接口技术第26页8251A同时接收数据传输格式串并行通信及其接口技术第27页4)8251A同时发送方式(2)发送同时字符

依据编程要求,发送器先发送一个或两个同时字符。注:如发送数据时,CPU来不及提供新数据,8251A发送器会自动插入同时字符,由TxD送出。(3)发送数据块

发送数据块时,发送器依据要求对数据块中数据加上奇偶校验位或不加。(1)程序置TxEN(允许发送)有效

检测到外设送来CTS(请求发送信号响应信号)有效,开始发送。

串并行通信及其接口技术第28页8251A同时发送数据传输格式串并行通信及其接口技术第29页30

8251A芯片共有28个引脚,其中:有17个引脚是与系统相连接,有6个是与外部设备相连接,另外,还有3个时钟输入端,1个电源端,1个接地端。

7.2.28251A外部信号TXRDY为“1”条件是:发送缓冲器空CTSTXEN=1串并行通信及其接口技术第30页

1.用错位连接结合软件方法实现8位接口芯片与16位CPU总线连接

在硬件上将地址总线A1与8251AA0(即C/D)引脚相连接,在软件设计时用连续偶地址代替端口奇/偶地址,就处理了8位接口芯片与16位数据总线连接;即就是将8位接口芯片与16位数据总线低8位数据线相连接。

(见前8251A与系统连接示意图)

7.2.38位接口芯片与CPU总线连接串并行通信及其接口技术第31页表7.1CPU总线与8位接口错位连接小结CPU字长数据线位数选最低字节错位连接低位地址初值相邻地址差值8088168A0-A0A0=0180861616A0=0A1-A0A1A0=002803863232A1A0=0A2-A0A2A1A0=0004Pentium3264A2A1A0=0A3-A0A3A2A1A0=00008软件上,用连续偶地址代替奇偶地址串并行通信及其接口技术第32页

2.用硬件方法实现8位外设与16位数据总线连接

两个硬件电路:(1)检测控制电路:检测并识别奇地址端口输入/输出指令,确认是奇地址I/O指令时开启高/低字节复制器,并控制数据复制方向。(2)高/低字节复制器:执行IN指令时,将外设来数据复制至数据总线高8位;执行OUT指令时,将CPU高8位数据复制至数据总线低8位。串并行通信及其接口技术第33页347.2.48251A存放器及其初始化流程8251A初始化约定: ①复位后,第一次给奇地址端口写入值作为模式字 ②如要求为同时模式,那么,接下来往奇地址端口写入是同时字符。假如是双同时,则先后两次写入同时字符。

③接下来,只要不是复位命令,CPU给奇地址写入是控制字,给偶地址端口写入是要发送数据。

1.8251A初始化8251A使用前必须进行初始化,以确定工作方式、传送速率、字符格式以及停顿位长度等;改变8251A工作方式时必须再次进行初始化编程;串并行通信及其接口技术第34页2.模式存放器格式8251A编程包含两个方面内容:由CPU发出控制字,即模式命令字和操作命令控制字

由8251A向CPU送出状态字

模式字是在对8251A进行初始化时,用程序命令写入且只需写一次。用于要求8251A工作方式:串并行通信及其接口技术第35页3.控制存放器格式

控制字是在模式字之后写入,用来控制8251A工作,使其处于要求状态以及准备发送或接收数据,可进行屡次写入操作。控制字和模式字共用一个奇地址端口,且又无特征标志,8251A是依据写入先后次序来加以区分,即先写入是模式字,后写入是控制字。串并行通信及其接口技术第36页比如:

由控制字格式可知,8251A复位命令是给奇地址端口写入40H。即复位命令程序段是:MOVAL,40HOUT奇地址端口,AL串并行通信及其接口技术第37页4.状态存放器格式

状态存放器用来存放8251A状态字,用来反应8251A状态信息,可供CPU读取查询。串并行通信及其接口技术第38页【例】假设8251A端口地址为:82H、80H,按以下要求对8251A进行初始化。(1)异步工作方式,1个停顿位,采取偶校验,7个数据位,波特率因子为16。(2)允许接收和发送数据,使错误位全部复位。(3)查询8251A状态字,当接收准备就绪时则从8251A输入数据,不然等候。7.2.58251A编程举例1.异步方式举例串并行通信及其接口技术第39页 MOV AL, 40H OUT 82H, AL ;对8251A进行复位 MOV AL, 01111010B OUT 82H, AL ;写模式字 MOV AL, 00010101B OUT 82H, AL ;写控制字WAIT: IN AL, 82H ;读取状态字 AND AL, 02H ;检验RxRDY是否为1 JZ WAIT ;RxRDY不为1,等候 IN AL, 80H ;RxRDY为1,读取数据初始化程序段:串并行通信及其接口技术第40页7.2.58251A编程举例2.同时方式举例【例】假设8251A端口地址为:42H、40H,按以下要求对8251A进行初始化。(1)同时工作方式,2个同时字符16H,内同时,采取偶校验,7个数据位。(2)使8251A对同时字符进行搜索,使错误位全部复位,开启发送器和接收器,通知调制/解调器CPU已准备好进行数据传输。串并行通信及其接口技术第41页 MOV AL, 01000000H OUT 42H, AL ;对8251A进行复位 MOV AL, 00111000B OUT 42H, AL ;写模式字 MOV AL, 00010110B OUT 82H, AL ;写同时字符 MOV AL, 00010110B OUT 82H, AL ;写同时字符 MOV AL, 10110111B OUT 82H, AL ;写控制字初始化程序段:串并行通信及其接口技术第42页【练习】对8251A进行初始化。

1.

设8251A工作于内同时方式,8个数据位,无校验,一个同时字符(均为24H);

2.同时要求8251A进行同时字符搜索,允许接收和发送数据,使错误位全部复位。

3.假设8251A端口地址为:00E2H、00E0H。串并行通信及其接口技术第43页答案初始化程序段: MOV AL,40H OUT 0E2H,AL ;对8251A进行复位 MOV AL,10001100H OUT 0E2H,AL ;写模式字 MOV AL,24H OUT 0E2H,AL ;写第一个同时字符 OUT 0E2H,AL ;写第二个同时字符 MOV AL,10010101B OUT 41H,AL ;写控制字

串并行通信及其接口技术第44页7.2.58251A编程举例3.利用状态字举例编程实现CPU接收80个字符,字符输入后放在BUFFER所指内存缓冲区。8251A工作于异步方式,波特率因子为16,7个数据位,偶校验,2个停顿位。8251A端口地址:50H,52H。MOVAL,0FAH;11111010BOUT52H,AL;设置模式字MOVAL,35H;00110101BOUT52H,AL;设置控制字MOVDI,0;变址存放器初始化MOVCX,80;计数器初始化BEGIN:INAL,52H

;读状态字TESTAL,02H

;测试JZBEGIN

;RXRDY=0转INAL,50H;读取字符MOVBX,OFFSETBUFFERMOV[BX+DI],AL;保留字符INCDI ;修改缓冲区指针INAL,52H;读取状态字TESTAL,38H;测试有没有错误JNZERRORLOOPBEGIN

;无错且不够80个继续接收JMPEXIT

;如满80个字符,则结束ERROR:CALLERR_OUT;调用犯错处理程序EXIT:串并行通信及其接口技术第45页8251A与CPU之间通常采取查询或中止方式传输数据。若采取中止方式,两个状态信号TxRDY和RxRDY经过一个或非门接到CPU外中止输入。其余

、RESET都是同名端相连。在编程时,先对8251A初始化,输入命令字后就能够进行数据传送。在得到中止申请后,经过调用状态字来检测是接收申请(RxRDY=1)还是发送申请(TxRDY=1),然后转至对应中止服务程序进行处理即可。在接收处理时,若要判定传输是否犯错,也只需读取状态字,检测错误标志位PE等。这么,能够很方便地实现双工通信。7.2.68251A使用实例【例】试用8251A为8086CPU与CRT终端设计一串行通信接口。假设:8251A端口地址为52H、50H。要求:(1)异步工作方式,1个停顿位,8个数据位,采取奇校验,波特率因子为16;(2)CPU用查询方式将显示缓冲区字符“GOOD”送CRT显示。显示缓冲区在数据段,首地址为H。串并行通信及其接口技术第46页8251与CPU数据交换查询方式/中止方式采取查询方式,在数据交换前应读取状态存放器。

状态存放器D0=1,CPU能够向8251数据端口写入数据,完成串行数据发送状态存放器D1=1,CPU能够从8251数据端口读出数据,完成一帧数据接收采取中止方式,8251没有单独中止请求引脚:

TxRDY引脚能够作为发送中止请求

RxRDY引脚能够作为接收中止请求收发均采取中止方式时,TxRDY、RxRDY能够经过或门与系统总线中止请求线连接。在CPU响应中止转到ISP中时,再对状态存放器进行查询,以区分是发送中止还是接收中止串并行通信及其接口技术第47页(1)硬件连接:8086CPU与CRT终端接口连接如图所表示。

8251A信号都是TTL电平,而CRT信号为RS-232-C电平,故经过1488将8251A输出变为RS-232-C电平,再送给CRT;反过来,CRT输出信号经过1489将变为TTL电平,再送给8251A。串并行通信及其接口技术第48页DATA SEGMENTDISBUF DB

47H,4FH,4FH,44H,0DH,0AH;GOOD字符ASCⅡ码COUNT DB$-DISBUFDATA ENDS ┋ MOV AL,

40H OUT 52H,AL ;对8251A进行复位 MOV AL,01011110B ;写入模式字 OUT 52H,AL MOV AL,00110011B ;写控制字 OUT 52H,AL MOV BX,OFFSET

DISBUF ;显示缓冲区首址 MOV CX,COUNTWAIT: IN AL,52H

AND AL,01H ;判断TxRDY是否为1,不为1,等候 JZ WAIT MOV AL,ES:[BX] ;为1,则输出数据 OUT 50H,AL INC BX DEC CX JNZ WAIT HLT(2)软件设计首次对8251A初始化,先送3个00H,再送1个40H串并行通信及其接口技术第49页【例】经过8251A实现两台微机相互通信硬件连接图如图所表示。利用两片8251A经过标准串行接口RS-232C实现两台8086微机之间异步串行通信。设两台微机中8251A命令端口地址均为3F9H,数据端口地址均为3F8H。

串并行通信及其接口技术第50页分析:设系统采取查询方式控制串行通信过程。初始化程序由两部分组成:①将一方定义为发送方,发送方CPU查询到TxRDY有效时,则CPU向8251A并行输出一个待发送字节数据;②将对方定义为接收方,接收方CPU查询到RxRDY有效时,则从8251A输入一个已接收到字节数据,直到全部数据传送完成为止。串并行通信及其接口技术第51页L1: MOV DX,3F9H

IN

AL,DX AND AL,01H ;查询TxRDY是否有效

JZ L1 ;无效则等候

MOV DX,3F8H MOV

AL,[DI] ;向8251A输出一个字节数据

OUT

DX,AL

INC

DI ;修改地址指针

LOOP L1

;未传送完,则继续下一个

HLTSTART: MOV DX,3F9H MOV AL,7FH ;模式字(异步方式,8位数据,一位停顿位

OUT DX,AL ;偶校验,波特率因子为64,允许发送) MOV AL,11H ;操作命令字(错误复位,发送允许)

OUT DX,AL MOV DI,1000H ;设置地址指针

MOV CX,40H ;设置计数器初值发送程序以下:串并行通信及其接口技术第52页BEGIN: MOV

DX,3F9H MOV AL,7FH ;异步方式,8位数据,1位停顿位

OUT

DX,AL ;偶校验,波特率因子64,允许接收

MOV AL,14H ;操作命令字(错误复位,接收允许)

MOV

DX,AL MOV SI,H ;设置地址指针

MOV CX,40H ;设置计数器初值L2: MOV DX,3F9H IN AL,DX ;读取状态字 TEST AL,38H ;查询接收器是否有错

JNZ ERR ;有错则转错误处理

AND AL,02H

;无误则查状态位D1(RxRDY)

JZ L2

;接收未准备好则等候

MOV DX,3F8H IN AL,DX

;接收准备好,则接收1个字节数据

MOV [SI],AL INC SI ;修改接收数据区地址

LOOP L2 JMP L3ERR: CALL ERR-OUT(略)L3: MOV AX,4C00H ;已接收完,返回DOS

INT 21H接收程序串并行通信及其接口技术第53页并行通信并行通信:是指将组成一组数据各位同时进行传送一个通信方式。比如一组8位数据或16位数据同时传入或传出。并行通信优点是传输速度快,信息率高;缺点是电缆耗损高。并行通信适合用于数据传输率较高、传输距离较短场所。适合场所:

(1)外部设备与微机之间进行近距离、大量和快速信息交换比如:微机与并行接口打印机、磁盘驱动器(2)微机系统中最基本信息交换方法比如:系统板上各部件之间,接口电路板上各部件之间7.3并行通信和并行接口串并行通信及其接口技术第54页并行接口:实现并行通信接口称为并行接口。按照信息传送方向,分为:输入接口、输出接口和输入/输出接口按照可编程性分类:不可编程并行接口和可编程并行接口。不可编程并行接口:接口工作方式及功效由硬件连接来设定,不能用软件编程方法改变,接口工作方式固定不变。比如8位双向三态缓冲驱动器74LS245、8位三态数据锁存器74LS373等。多用于组成功效比较简单接口电路。可编程并行接口:普通由可编程通用接口芯片组成,这些芯片除了含有硬件连接接口性能外,最主要就是可由编程人员经过编程来进行设定芯片性能。如有Zilog企业Z80PIO,Intel8255A等。因而可编程接口含有广泛适应性和很高灵活性,在微机系统中得到广泛应用。2.并行I/O接口串并行通信及其接口技术第55页3.并行接口与外设连接图7.10并行接口连接外设示意图串并行通信及其接口技术第56页并行接口输入数据过程外设将数据送到“数据输入线”,经过“输入数据准备好”状态线通知并行接口,接口将数据锁存到“输入缓冲器”,经过“数据输入响应”线通知外设,接口数据缓冲器已满,不要再送数据,同时将“状态存放器”对应位置1,便于CPU查询和接口向CPU发中止请求之用。CPU从接口将数据取走后,接口将“数据输入准备好”、“数据输入回答”信号去除,方便外设输入下一个数据。

并行接口输出数据过程接口“数据输出缓冲器”空,置“数据输出准备好”状态线为1,收到CPU发数据,将之复位清0,数据经过“数据输出”线送外设,由“数据输出准备好”线通知外设取数据。外设取走数据,将“数据输出准备好”信号线置1,方便CPU输出下一个数据。4.并行接口工作原理串并行通信及其接口技术第57页7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号1.数据端口A、B、C

8255A三个数据端口都是8位,而各有特点。(1)端口A

是一个独立8位数据I/O口,它内部有对数据输入/输出锁存功效。(2)端口B

是一个独立8位数据I/O口,对输入数据不锁存,仅对输出数据锁存。串并行通信及其接口技术第58页(3)端口C

能够看作是一个独立8位I/O口;也能够看作是两个独立4位I/O口。还能够用作A口和B口控制信号。对输出数据进行锁存,对输入数据不锁存。7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号串并行通信及其接口技术第59页2.A组控制和B组控制

这两组控制部件有两个功效:即一是接收芯片内部总线上控制字;二是接收来自读/写控制逻辑电路读/写命令,据此而决定两组端口工作方式和读/写操作。7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号串并行通信及其接口技术第60页3.读/写控制逻辑电路

负责管理8255A数据传输过程。它接收CS及来自地址总线信号A1、A0和控制总线信号RESET、RD、WR,将它们组合后,得到对A组控制部件和B组控制部件控制命令,并将命令送给这两个部件,再由它们完成对数据、状态和控制信息传输。7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号串并行通信及其接口技术第61页4.数据总线缓冲器是一个双向三态8位数据缓冲器。8255A正是经过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A控制字都是经过该部件传递。7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号串并行通信及其接口技术第62页7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号串并行通信及其接口技术第63页8255A复位后,全部I/O均处于输入状态,内部存放器都被去除7.4可编程并行通信接口8255A7.4.1

8255A内部结构和外部信号串并行通信及其接口技术第64页7.4可编程并行通信接口8255A7.4.2

8255A控制字控制字分为两类方式选择控制字C端口按位置1/置0控制字8255A有三种基本工作方式:方式0、方式1、方式2图7.158255A方式选择控制字串并行通信及其接口技术第65页端口C置1/置0控制字

端口C置1/置0例子MOV AL,0FH ;对PC7置1控制字MOV DX,00EEH ;控制口地址送DXOUT DX,AL ;对PC7进行置1操作MOV AL,06H ;对PC3置0控制字OUT DX,AL ;对PC3进行置0操作图7.13端口C置1/置0控制字串并行通信及其接口技术第66页7.4.38255A工作方式1.方式0

也叫基本输入输出方式。

特点:

(1)三个端口都可作为独立输入或输出口,各端口间没有必定关系。(2)由端口A、端口B和端口C高4位、低4位,这4个端口能够有16种不一样组合。(3)这种方式下,输出可锁存数据,输入是不锁存。方式0使用场所: 同时传输和查询式传输。串并行通信及其接口技术第67页使用场所

同时传送时,发送方和接收方由同一时序信号来管理,所以双方相互知道对方动作,不需要应答信号。即CPU不需要查询外设状态,对接口要求很简单,只要能传送数据就行,此时8255A三个数据端口能够实现三路数据传送。

查询传送时,普通将A、B口常作为数据口,把C口两部分用来输出一些控制信号和接收一些状态信号,这么端口C用来配合端口A和B工作。串并行通信及其接口技术第68页方式1又称为选通输入/输出方式。特点:

(1)端口A和端口B能够分别作为输入端口或输出端口。(2)假如端口A和端口B只有一个工作于方式1,端口C中就有3位被要求为配合方式1工作信号,这时,另一个端口和端口C其它位可工作于方式0。(3)假如端口A和B都工作在方式1,那么端口C则有6位分别作为A口和B口应答联络信号,而且其排列是固定,剩下2位可工作于方式0。串并行通信及其接口技术第69页方式1时输入端口对应控制信号图7.14串并行通信及其接口技术第70页STB:选通信号输入端。它是由外设送往8255A,当STB有效时8255A端口A或B输入缓冲器接收到一个来自外设8位数据。方式1输入组态和应答信号功效

IBF:“输入缓冲器满”信号。它是8255A输出状态信号,当IBF有效时,表示当前已经有一个新数据进入端口A或B缓冲器中。此信号是对STB响应信号,它能够由CPU经过查询C口PC5或PC1位取得。当CPU查PC5(或PC1)=1时,便能够从A口(或B口)读入数据。IBF信号是由STB信号使其置位,而由读信号RD上升沿使其复位。

INTR:是8255A送往CPU中止请求信号。当选通信号STB=1,置IBF=1,且端口处于中止允许状态(INTE=1)时,将INTR端置位高电平,向CPU发出中止请求信号。当CPU响应中止读入数据端口数据时,由RD信号下降沿使INTR复位。串并行通信及其接口技术第71页方式1时输出端口对应控制信号串并行通信及其接口技术第72页方式1使用场所

对方式1,要求一个端口作为输入口同时,自动要求了相关控制信号,尤其要求了对应中止请求信号。这么,在许多采取中止方式进行输入输出场所,假如外设能为8255A提供选择信号或数据接收应答信号,那么,常使8255工作于方式1。用方式1工作比用方式0愈加方便有效。串并行通信及其接口技术第73页

3.方式2

也叫双向传输方式,含有以下特点:(1)只适合用于端口A,相当于双向方式1传输。(2)端口C用5条线作为A口联络信号,而且排列是固定。串并行通信及其接口技术第74页方式2使用场所

方式2是一个双向工作方式,假如一个并行外部设备既能够作为输入设备,又可作为输出设备,而且输入输出动作不会同时进行,那么,将这个外设和8255A端口A相连,并使它工作在方式2,就非常适当。比如,软盘驱动器就是这么一个外设。串并行通信及其接口技术第75页(1)要求

为某应用系统配置一个并行打印机接口,而且经过接口CPU采取查询方式把存放在BUF缓冲区256个字(ASCII码)送去打印。(2)分析因为打印接口直接面向对象是打印机接口标准,而不是打印机本身,所以打印机接口要按照接口标准要求进行设计。相关打印机接口标准信号线定义和工作时序以下。DATA0~DATA7STROBEBUSYACK并行打印机接口数据传送时序7.4.4

8255A应用举例1.8255A工作于方式0例子

串并行通信及其接口技术第76页

采取查询方式时,打印机与CPU之间传送数据过程是:①首先查询BUSY。若BUSY=1,打印机忙,则等候;若BUSY=0,打印机不忙,则送数据。②经过并行接口把数据送给标准插座DATABIT1~DATABIT8数据线上,此时数据并未送入打印机。③再送出一个数据选通信号DATASTROBE-(负脉冲)给标准插座1号引脚,把数据线上数据打入到打印机内部缓冲器。④打印机在收到数据后,经过插座11号引肢发出“忙”(BUSY=1)信号,表明打印机正在处理输入数据。⑤最终在10号引脚上送出一个回答信号ACK-给主机,表示上一个字符已经处理完成。串并行通信及其接口技术第77页(3)设计接口电路设计包含硬件接口电路和软件驱动程序两部分。①打印机接口电路。打印机接口电路原理框图如图所表示。该电路设计思绪是:按照并行打印接口标准对打印机接口信号线定义,最基本信号线需要8根数据线(DATABIT1~8)CPU

PA0~7PC7PC2地

地BUSYSTBDATA0~71112~98255A打印机插座8255A并行打印机接口电路框图串并行通信及其接口技术第78页1根控制线(STB),1根状态线(BUSY)和1根地线。选取8255APA口作数据口输出8位打印数据,工作方式为0方式。②接口驱动程序。其程序流程图如右图所表示。驱动程序程序段以下:结束8255A初始化BUSY=0?送数送STB内存+1字节数-1送完?开始YNYN串并行通信及其接口技术第79页CODE SEGMENT ASSUMECS:CODE,DS:CODE ORG 100HSTART:

MOVAX,CODE MOVCS,AX MOVDS,AX MOVDX,203H ;8255A命令口 MOVAL,10000001B ;工作方式字 OUTDX,AL ;(A口0方式,输出,C4~C7输出,C0~C3输入)串并行通信及其接口技术第80页MOV AL,00001111B ;PC7位置高,使STB--=1OUTDX,ALMOV SI,OFFSETBUF ;打印字符内存首地址MOV CX,OFFH ;打印字符个数MOV DX,202H ;PC口地址IN AL,DX ;查BUSY=0?(PC2=0)AND AL,04H ;00000100BJNZ L ;忙,则等候;不忙,则向A口送数MOV DX,200H ;PA口地址MOV AL,[SI] ;从内存取数OUT DX,AL ;送数据到A口MOV AL,203H ;8255A命令口MOV AL,00001110B ;置STB-信号为低(PC7=0)串并行通信及其接口技术第81页 OUT DX, AL NOP ;负脉冲宽度(延时) NOP MOV AL, 00001111B ;置STB-为高 OUT DX, AL INC SI ;内存地址加1 DEC CX ;字符数减1 JNZ L ;未完,继续 MOV AX, 4C00H ;已完,退出 INT 21HBUF DB 256个ASCII字符代码CODE ENDS END START串并行通信及其接口技术第82页

设8255A工作于方式0,A端口地址0D0H,B端口地址0D2H,C端口地址0D4H,控制端口,0D6H。PP: MOV AL,81H OUT 0D6H,AL ;方式字

MOV AL,0DH OUT 0D6H,AL ;PC置0/置1方式字LPST: IN AL,0D4H ;查状态

AND AL,04HJNZ LPST MOV AL,CLOUT 0D0H,AL ;输出字符送缓冲区

MOV AL,0CHOUT 0D6H,AL ;STB产生负脉冲INC ALOUT 0D6H,AL ;STB置1串并行通信及其接口技术第83页2.8255A工作于方式1例子1

图7.188255A作为中止方式打印机接口示意图串并行通信及其接口技术第84页8255A工作于方式1输出方式,A端口地址0C0H,B端口地址0C2H,C端口地址0C4H,控制端口地址0C6H;中止IR3类型号为0BH,中止向量地址0002CH。程序以下:MAIN: MOV AL,0A0H OUT 0C6H,AL ;A口输出 MOV AL,01 OUT 0C6H,AL ;PC0为1 XOR AX,AX MOV DS,AX MOV AX,H MOV WORDPTR[002CH],AX MOV AX,1000H MOV WORDPTR[002EH],AX;设置中止向量1000: MOV AL,0DH OUT 0C6H,AL ;PC6为1,允许中止 STI

串并行通信及其接口技术第85页中止处理子程序主要程序段:TINTR: MOV AL, [DI] ;取字符送接口缓冲区 OUT 0C0H,AL MOV AL, 00 OUT 0C6H,AL ;PC0为0产生选通信号 INC AL OUT 0C6H,AL ;PC0为1撤消选通信号 … IRET 串并行通信及其接口技术第86页(1)要求在甲乙两台微机之间并行传送1K字节数据。甲机发送,乙机接收。甲机一侧8255A采取1方式工作,乙机一侧8255A采取0方式工作。两机CPU与接口之间都采取查询方式交换数据。(2)分析

双机均采取可编程并行接口芯片8255A组成接口电路,只是8255A工作方式不一样。此时,双方8255A把对方视为I/O设备。(3)设计 硬件连接: 依据上述要求,接口电路连接如图所表示。 软件编程: 接口驱动程序包含发送与接收两个程序。2.8255A工作于方式1例子2

串并行通信及其接口技术第87页0方式1方式8255APA0~7PC7PC3PC4~6PC0~2PB0~7PA0~7PC7PC6PC3PC0~2、4~5PB0~7未用8255A甲(发送)CPU乙(接收)CPUACKOBF两种方式并行传送接口电路框图串并行通信及其接口技术第88页甲机发送程序段:MOV DX,203H ;8255A命令口MOV AL,10100000B ;初始化工作方式字OUT DX,ALMOV AL,00001101B ;置发送中止允许INTEA=1OUT DX,AL ;PC6=1MOV SI,OFFSETBUFS ;设置发送数据区指针MOV CX,3FFH ;发送字节

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论