串并行通信和接口技术_第1页
串并行通信和接口技术_第2页
串并行通信和接口技术_第3页
串并行通信和接口技术_第4页
串并行通信和接口技术_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

关于串并行通信和接口技术2计算机与外设的通信方式1、并行方式2、串行方式数据各位通过信号线同时传输数据一位一位的通过同一信号线传输用的传输线多用的传输线少速率高速率低适于近距离传输适于远距离传输目录6.1概述第2页,共118页,2024年2月25日,星期天36.2串行接口和串行通信一、串行接口1、适用场合:外设和计算机按串行方式进行通信。目录第3页,共118页,2024年2月25日,星期天可编程串行接口的典型结构保存传输状态CPU给接口的控制信息保存CPU送外设的数据保存外设送CPU的数据第4页,共118页,2024年2月25日,星期天5二、串行通信数据传送方式(1)单工方式发送器接收器只允许数据按一个固定方向传输。1、按数据传输时发送过程和接收过程的关系划分(2)半双工方式输入输出使用同一通路,需分时传输。发送器/接收器A发送器/接收器B第5页,共118页,2024年2月25日,星期天6(3)全双工方式接收和发送采用不同的通路,A、B可同时发送和接收,两方资源完全独立。发送器/接收器A发送器/接收器B(1)同步通信1)概念:将要传输的数据组成一信息块(帧),每信息块开头加上同步字符,在约定的波特率下,使数据一个接一个的从发送端到接收端。2、按时钟对通信过程的定时方式划分第6页,共118页,2024年2月25日,星期天2)基本特点(2)数据流中字符与字符间和字符内的各位间都同步;(3)发送端和接收端须用同一时钟信号同步。(1)以一个数据块(帧)为传输单位,每块开头用同步字符指示。~~~~同步字符数据数据数据校验字符第7页,共118页,2024年2月25日,星期天3)优点4)缺点:硬件电路复杂。(2)适于传大量的数据(1)传送效率高同步要求每个数据内各位都按预定频率传送,数据间不允许有间隙,若有用同步字符填充,收发时钟严格同步。第8页,共118页,2024年2月25日,星期天9(2)异步通信1)概念

将要传输的数据分成小段,发送端在约定的波特率下发送数据,接收端按约定的波特率接收,不需发同步信号。2)基本特点(2)串行异步通信以字符为单位进行传输,其通信协议是起止

式异步通信协议。(1)字符之间异步,字符内各位基本同步。二、串行通信数据传送方式第9页,共118页,2024年2月25日,星期天10标准(起止式)异步通信协议格式起始位——每个字符开始传送的标志,起始位采用逻辑0电平。起始位校验位停止位空闲位数据位低位高位字符0/10/10/10/110111…数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送。校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。停止位—表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位。空闲位——传送字符之间的逻辑1电平,表示没有进行传送。标识态第10页,共118页,2024年2月25日,星期天3)优点4)缺点对时钟同步要求不严格。接收到起始位后,只要在一个字符传输时间内收发器保持同步就能正确接收。传送效率低。控制信息至少占总信息的20%。注:通信时,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题。第11页,共118页,2024年2月25日,星期天12三、串行通信的传输率1、概念1)传输率:每秒钟传输的二进制数据的位数,又称波特率。2)发送时钟:异步方式通信时,发送端需用时钟决定每一位

对应的时间长度,该时钟称发送时钟。国际上规定的标准波特率:110、300、600、1200、1800、

2400、

4800、9600、19200。4)波特率因子:接收时钟或发送时钟频率与位传输率的比。注:接收时钟或发送时钟频率可以是位传输率的16、32或64倍。3)接收时钟:异步方式通信时,接收端需用时钟测定每一位

的时间长度,该时钟称接收时钟。第12页,共118页,2024年2月25日,星期天例1、在一串行通信系统中,传送速率为960字符每秒,每个字符是10位,则波特率为多少?960×10=9600bit/s(bps)2、例例2、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为多少个?

1200/(1+7+1+1)=120个。

第13页,共118页,2024年2月25日,星期天例3、同步传输:设每个字符包含7个信息位,波特率为1200bps,用4个同步字符作为信息帧头部,但不用奇偶校验,每个信息帧包含100个字符,每秒钟能传输的字符数最大可达到多少个?传输100个字符所用的时间:7(100+4)/1200=0.6067s。则每秒钟能传输的字符数可达到:100/0.6067=165个。结论:在同样的传输率下,同步传输时实际字符传输率要比

异步传输时高。

第14页,共118页,2024年2月25日,星期天15四、串行接口标准RS-232CRS-232C标准(协议)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000bit/s范围内的通信。现在的台式PC机一般有两个RS-232串行口COM1和COM2,通常COM1使用的是9针D形连接器,而COM2使用的是25针连接器。第15页,共118页,2024年2月25日,星期天161、RS-232C的电气特性注:负逻辑规定电平信号电平标准低电平(逻辑0):+5V~+15V高电平(逻辑1):-5V~-15V实际常用±12V或±15V2、RS-232C标准与TTL标准之间的转换标准TTL电平高电平(逻辑1):+2.4V~+5V低电平(逻辑0):0V~0.4V接口MC1489MC1488RS-232-C输入RS-232-C输出TTL输入TTL输出第16页,共118页,2024年2月25日,星期天176.3可编程串行通信接口8251A一、8251A的基本性能

1、通过编程,可工作于同步方式和异步方式。

同步方式可用5~8位代表字符;可外部同步,也可内部同步;可自动插入同步字符;允许增加奇偶校验位进行校验;波特率为0~64Kbps。目录第17页,共118页,2024年2月25日,星期天18一、8251A的基本性能异步方式5~8位/字符;用1位作为奇偶校验;能选择1、1.5、2位停止位;可检查假启动;可产生中止字符;能自动检测和处理中止字符;波特率可为0~19.2Kbps;时钟频率为波特率的1、16、64倍。第18页,共118页,2024年2月25日,星期天19一、8251A的基本性能2、完全双工工作,具有双缓冲的发送器和接收器。4、输入输出电路为TTL电平。

3、具有奇偶校验、溢出和帧错误检测等功能电路。

注:8251A接口电平与EIARS-232-C所要求的电平不同,所以互相连接时,必须增加驱动级和接收电路。第19页,共118页,2024年2月25日,星期天20二、8251A的基本原理

1、8251A编程结构第20页,共118页,2024年2月25日,星期天212、8251A的功能结构第21页,共118页,2024年2月25日,星期天双向三态的8位数据缓冲器。与系统数据总线相连。第22页,共118页,2024年2月25日,星期天配合数据总线缓冲器工作,接收来自系统控制总线的信号。1):片选信号。2):控制/数据信号。3):写控制信号。4):读控制信号。5)CLK:内部定时信号。6)RESET:复位信号。第23页,共118页,2024年2月25日,星期天提供了一组通用控制信号,使8251可直接与调制解调器连接。第24页,共118页,2024年2月25日,星期天接收串行数据,并进行串并转换。配合接收缓冲器工作,管理有关接收的所有功能。1)异步方式,芯片复位后,先检查输入信号中有效的“1”,

检测到后,搜索有效的低电平来确定起始位;2)消除假启动干扰;3)对接收到的信号奇偶校验,根据校验结果设置状态位;4)异步方式下,检测停止位,根据检测结果设置状态位。第25页,共118页,2024年2月25日,星期天配合发送缓冲器工作,控制和管理所有和发送有关的功能。(1)异步方式下,为数据加上起始位、校验位和停止位;(2)同步方式下,插入同步字符,在数据中插入校验位。

把并行数据加上相应的控制信息,转换成串行数据输出。第26页,共118页,2024年2月25日,星期天273、8251A的发送和接收(1)检测起始位1)异步接收方式设数据接收时钟频率是数据传输频率的16倍。起始检测确定已检测到起始位起始位RXCRXDT16T8T备注:无数据传送时,RxD线上是高电平。如在RxD线上检测到低电平,启动接收控制电路中的内部计数器计数,计数脉冲为8251A接收器时钟脉冲。当计数进行到相当于半个数位传输时间时(如时钟脉冲为波特率的16倍时,则计到第八个脉冲相当与半个数位传输时间),再对RxD线检测,如仍为低,则确认为一有效起始位。如8251A在检测起始位时,半个数位传输时间后,没有再检测到低电平,而是测到高电平,8251A就把刚才检测到的信号看成干扰脉冲,再重新开始检测RxD线上是否出现低电平。第27页,共118页,2024年2月25日,星期天采样数据起始检测确定已检测到起始位起始位RXCRXDT16T16T8T每隔一字符传输时间,对RxD进行一次采样,数据送移位寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。(2)8251A进行常规采样并进行字符装配(3)通知CPU接收数据并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个数据,可以取用。第28页,共118页,2024年2月25日,星期天298251A异步接收数据传输格式注:对于少于8位的数据,8251A将高位补0。

第29页,共118页,2024年2月25日,星期天302)8251A异步发送方式(2)8251A由TxD线把串行数据送出。8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停止位,由TxD把数据送出。注:数据及起始位、校验位、停止位总是在发送时钟TxC的下降沿从8251A发出,数据传输的波特率为发送时钟频率的1、1/16或者1/64,具体决定于编程时给出的波特率因子。(1)程序置TxEN(允许发送)有效。

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

第30页,共118页,2024年2月25日,星期天318251A异步发送数据传输格式注:对于少于8位的数据,8251A将高位补0。

第31页,共118页,2024年2月25日,星期天323)8251A的同步接收方式单同步字符8251检测RxD线,当RxD线出现一数据位时,接收送移位寄存器移位,并与同步字符寄存器的内容比较,如不等,继续接收,比较。相等时,8251A的SYNDET引脚为高电平,表示同步已经实现。(1)搜索同步字符双同步字符检测到第一个同步字符后,再继续检测此后输入的移位寄存器的内容是否与第二个同步字符寄存器的内容相同,不同重新比较第一个同步字符;相同,则认为同步已经实现。内同步(a)第32页,共118页,2024年2月25日,星期天(b)外同步

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

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

第33页,共118页,2024年2月25日,星期天348251A同步接收数据传输格式第34页,共118页,2024年2月25日,星期天354)8251A的同步发送方式(2)发送同步字符

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

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

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

第35页,共118页,2024年2月25日,星期天368251A同步发送数据传输格式第36页,共118页,2024年2月25日,星期天37三、8251A的对外连接信号8251A对外连接信号8251A与CPU之间的信号

8251A与外设之间的信号。

1、8251A与CPU之间的信号

1)数据信号D7~D0:双向数据线,与系统总线相连,传输数据、

编程命令及状态信息。

2)片选信号CS:CPU的地址信号译码后得到。

CS=0:可以对8251A进行读写;

CS=1:数据总线处于高阻态。第37页,共118页,2024年2月25日,星期天381、8251A与CPU之间的信号3)读/写控制信号(1)RD:为低,表示CPU正从8251A读数据或状态信息。(2)WR:为低,表示CPU正往8251A写数据或控制字。(3)C/D:控制/数据信号CPU往8251写控制命令011CPU从8251读状态信息101CPU中数据82510108251中数据CPU100操作WRRDC/D第38页,共118页,2024年2月25日,星期天391、8251A与CPU之间的信号4)收发联络信号(1)TxRDY:发送器准备好。通知CPU8251A已经准备好从CPU接收字符。CPU得到TxRDY有效后,往8251A写数据,8251A得到数据后,使TxRDY变为低。当CTS为低,TxEN为高,且发送缓冲器空时,TxRDY有效,可作为中断请求信号,也可作为查询方式的联络信号。第39页,共118页,2024年2月25日,星期天40(2)TxE:发送器空信号。8251A无字符发送时,TxE为高,实际上指示了一次发送动作的结束。当8251A收到CPU发来的字符时,TxE变为低。注:在同步发送时,如CPU没及时往8251A送字符,TxE会变成高电平,发送器在输出线上插入同步字符,以填补空隙。1、8251A与CPU之间的信号(3)RxRDY:接收器准备好。表示8251A已经从外设接收到一个数据,等待CPU来读取。CPU从8251A读取数据后,RxRDY变为低电平。可作为中断请求信号,也可作为查询方式的联络信号。第40页,共118页,2024年2月25日,星期天(4)SYNDET:同步检测信号,仅用于同步方式。8251A内同步:输出信号。

单同步字符:

检测到同步字符,变为高电平;

双同步字符:

检测到第二个同步字符的最后一位后,在该位的中间变为高电平,表示已达到同步。8251A外同步:输入信号。如果从SYNDET端输入一个正跳变的信号,并且维持一时钟接收周期,8251A认为已经完成同步,8251A在RXC的下一个下降沿开始装配字符。注:复位:SYNDET变为低电平;内同步:CPU执行一次读操作后,变为低电平;外同步:其电平状况决定于外部信号。第41页,共118页,2024年2月25日,星期天422、8251A与外设之间的信号1)数据信号(1)TxD:发送器数据信号端。CPU送往8251A的并行数据被转化为串行数据后,通过TxD端发送给外设。(2)RxD:接收器数据信号端。接收外设送来的串行数据,经转换为并行数据后由CPU接收。第42页,共118页,2024年2月25日,星期天432)收发联络信号(1)DTR:数据终端准备好信号。(2)DSR:数据设备准备好。由8251A送往外设,CPU通过命令(使命令指令的bit1置1)可使DTR变为有效电平,通知外设CPU已经准备就绪。外设送往8251A的信号,表外设已准备好。当DSR端出现低电平时,会在8251A的状态寄存器第七位上反映出来,CPU通过状态寄存器实现对DSR信号的检测。2、8251A与外设之间的信号第43页,共118页,2024年2月25日,星期天44(3)RTS:请求发送。8251A送给外设的信号。CPU通过编程命令使RTS变为有效电平,以通知外设,CPU请求发送数据。(4)CTS:准许发送。外设送给8251A的信号,外设对RTS信号的应答。当该信号有效时,8251A才能发送数据。2、8251A与外设之间的信号备注:为什么提供四个联络信号?/DTR和/RTS是CPU通过8251A送往外设的,CPU通过软件对控制寄存器中的DTR位和RTS位置1就可以使8251A的/DTR和/RTS引脚输出有效电平,所以/DTR和/RTS是CPU对外设的控制信号。/DSR和/CTS是外设通过8251A传递给CPU的状态信号。当外设和/DSR端相连时,往此引脚送一低电平,就会影响8251A状态寄存器的DSR位,CPU可通过软件对DSR位进行检测。/CTS端电平的高低会影响TxRDY端的电平,TxRDY是8251A送给CPU的状态信号。使用时/CTS必须为低,其它三个信号可以悬空不用。即使CPU和外设之间不需传递任何联络信号,也要将/CTS端接地。因为只有/CTS为低,才能使TxRDY为高,CPU才能往8251A发送数据。如果8251A仅工作在接收状态,/CTS也可悬空。

第44页,共118页,2024年2月25日,星期天453、其它信号1)时钟信号(1)CLK:产生8251A内部定时信号。(2)TxC:发送时钟。控制发送字符的速率。

同步传送时,TxC频率等于字符传输的波特率;异步传送时,TxC频率是字符波特率的1、16或64倍。(3)RxC:接收时钟。控制接收字符的速率。

同步传送时,RxC频率等于字符传输的波特率;

异步传送时,RxC频率是字符波特率的1、16或64倍。2)电源信号(1)Vcc:+5V(2)GND:地线。第45页,共118页,2024年2月25日,星期天46四、8251A的编程1、8位接口芯片和16位数据总线的连接问题

解决方法硬件上,将总线的A1与芯片的C/D相连;软件上,用连续的偶地址代替奇偶地址。CSC/DA1A0系统高位地址线8251A译码器第46页,共118页,2024年2月25日,星期天472、8251A的初始化1)8251A初始化的约定(1)芯片复位后,第一次用奇地址端口写入的值作为方式字进入方式寄存器;(2)如果方式字中规定8251A工作在同步方式,CPU接着往奇地址输出的1或2个字节就是同步字符,写入同步寄存器。(3)随后,只要不是复位命令,不管同步还是异步,CPU用奇地址端口写入的值作为控制字送控制寄存器,用偶地址端口写入的值作为数据送数据输出缓冲寄存器。

第47页,共118页,2024年2月25日,星期天

2)8251A的初始化流程第48页,共118页,2024年2月25日,星期天493、8251A模式寄存器格式1)异步方式下模式寄存器格式D7

D6

D5

D4

D3

D2

D1

D0

S2

S1

EPPENL2

L1

B2

B1

停止位个数:00:无意义01:1位10:1位半11:2位

奇偶校验:×0:无校验位01:奇校验11:偶校验

数据位个数:00:5位01:6位10:7位11:8位

波特率因子:01:BF=110:BF=1611:BF=64时钟频率=波特率×波特率因子

例如:方式指令D1D0=11,接收数据的波特率为1200bps。接收时钟RxC的频率=?RxC的频率=1200×64=76.8KHz第49页,共118页,2024年2月25日,星期天2)同步方式下模式寄存器格式D7

D6

D5

D4

D3

D2

D1

D0

SCSESDEPPENL2

L1

00同步字符数:0:2个1:1个

同步方式:0:内同步1:外同步

奇偶校验:×0:无校验位01:奇校验11:偶校验

数据位个数:00:5位01:6位10:7位11:8位

同步方式标志

同步方式波特率=时钟频率

第50页,共118页,2024年2月25日,星期天514、控制寄存器格式注:D7=1,在内同步方式中,8251A开始搜索同步字符。

发送

允许。0:禁止1:允许

接收允许。0:禁止1:允许

复位错误标志。1:使PE、OE、FE复位(清除出错指示位)

内部复位。1:使8251A复位,返回方式指令发送空白字符。1:强迫TxD为0,发送空白字符

请求发送。1:强迫RTS为0数据终端准备好。1:强迫DTR为0搜索同步字符。1:启动搜索

TxENDTRRxESBPKERRTSIREHD0

D1

D2

D3

D4

D5

D6

D7

第51页,共118页,2024年2月25日,星期天5、状态寄存器格式2)D1=1,接口中已收到一个数据,可由CPU来读取。

当CPU读走一个字符后,该位自动清0。

3)D2=1,表示发送器刚发送一个字符,现为空,等待CPU发

下一个。注:1)当CPU往8251A写入一个字符后,D0位自动清0。

引脚TxRDY为1的条件:数据缓冲器空、CTS=0、TxEN=1第52页,共118页,2024年2月25日,星期天53五、8251A应用举例例1、异步方式下初始化编程编写8251A的初始化程序,使之工作于异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16;清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。8251A端口地址:50H,52H

第53页,共118页,2024年2月25日,星期天D7

D6

D5

D4

D3

D2

D1

D0

S2

S1

EPPENL2

L1

B2

B1

停止位个数:00:无意义01:1位10:1位半11:2位

奇偶校验:×0:无校验位01:奇校验11:偶校验

数据位个数:00:5位01:6位10:7位11:8位

波特率因子:01:BF=110:BF=1611:BF=6410101111解:1)确定8251A的模式字

异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16。第54页,共118页,2024年2月25日,星期天2)确定8251A的控制字:清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。发送

允许。0:禁止1:允许

接收允许。0:禁止1:允许

复位错误标志。1:使PE、OE、FE复位(清除出错指示位)

内部复位。1:使8251复位,返回方式指令发送空白字符1:强迫TxD为0,发送空白字符

请求发送。1:强迫RTS为0数据终端准备好。1:强迫DTR为0搜索同步字符1:启动搜索

TxENDTRRxESBPKERRTSIREHD0

D1

D2

D3

D4

D5

D6

D7

00110111MOVAL,0FAH;11111010BOUT52H,AL;设置模式字MOVAL,37H;00110111BOUT52H,AL;设置控制字第55页,共118页,2024年2月25日,星期天56例2、同步方式下初始化编程编写8251A的初始化程序,使之工作于同步方式,同步字符1个,内同步,数据位7位,偶校验。一个同步字符为2AH。搜索同步字符,复位出错标志,启动接收器和发送器,CPU准备好发送,请求信号有效。8251A端口地址:50H,52H。MOVAL,0B8H;10111000BOUT52H,AL;写方式字MOVAL,2AHOUT52H,AL;写同步字符MOVAL,0B7H;10110111BOUT52H,AL;写控制字第56页,共118页,2024年2月25日,星期天57例3、通过检测状态字实现数据接收功能编程实现CPU接收80个字符,字符输入后放在BUFFER所指的内存缓冲区。8251A工作于异步方式,波特率因子为16,7个数据位,偶校验,2个停止位。8251A端口地址:50H,52H。MOVAL,0FAH;11111010BOUT52H,AL;设置模式字MOVAL,35H;00110101BOUT52H,AL;设置控制字MOVDI,0;变址寄存器初始化MOVCX,80;计数器初始化第57页,共118页,2024年2月25日,星期天BEGIN:INAL,52H TESTAL,02H JZBEGIN ;读状态字并测试,RXRDY=0转INAL,50H;读取字符MOVBX,OFFSETBUFFERMOV[BX+DI],AL;传输字符INCDI ;修改缓冲区指针INAL,52H ;读取状态字TESTAL,38H ;测试有无错误JNZERROR LOOPBEGIN ;如没有错,则接收下1个字符JMPEXIT ;如满80个字符,则结束ERROR:CALLERR_OUT;调用出错处理程序EXIT:…第58页,共118页,2024年2月25日,星期天59例4、8251A作为CRT接口的例子

8251A工作于异步模式,波特率因子为16,8位数据,1位停止位,无校验位。8253计数器2输出方波信号作为8251A的接收时钟TxC和发送时钟RxC,编程实现往CRT输出一个字符,要输出的字符事先放在堆栈中。

8251A端口地址:00D8H,00DAH。第59页,共118页,2024年2月25日,星期天第60页,共118页,2024年2月25日,星期天8251A的初始化程序段:INIT:MOVAL,00H;AL清零MOVCX,0003OUT1:MOVDX,00DAHOUTDX,ALLOOPOUT1;往控制端口送3个0MOVAL,40HOUTDX,AL;送40H复位MOVAL,4EH;01001110OUTDX,AL;设模式字MOVAL,27H;00100111B

OUTDX,AL

;设命令字启动

. . .注:8251A的复位约定:

往奇地址端口先送3个00H,再送一个40H。第61页,共118页,2024年2月25日,星期天往CRT输出一个字符的程序段:CHAROUT:MOVDX,00DAHSTATE:INAL,DX ;输入状态字 TESTAL,01 JZSTATE ;不断测试状态位,TXRDY=0转MOVDX,00D8H;数据端口地址送DXPOPAX ;AX中为要输出的字符OUTDX,AL;往端口中输出一个字符第62页,共118页,2024年2月25日,星期天8251A的初始化程序段:INIT:XORAX,AX;AX清零MOVCX,0003MOVDX,00DAHOUT1:CALLKKKLOOPOUT1;往控制端口送3个0MOVAL,40HCALLKKK ;送40H复位MOVAL,4EH;01001110CALLKKK ;设模式字MOVAL,27H;00100111B

CALL KKK ;设命令字启动

. . .KKK:OUTDX,AL;数据输出

PUSHCXMOVCX,0002ABC:LOOPABC;等待输出动作完成

POPCXRET第63页,共118页,2024年2月25日,星期天64习题1、串行通信的类型有哪几种?简述各自的特点。2、什么是波特率因子?什么是波特率?设波特率因子为64,波特率为1200bps,则时钟频率为多少?3、写出标准异步通信数据格式。4、对8251A编程时,必须遵守哪些约定?5、利用状态字进行检测,异步发送256个数据。8251A工作于异步模式,波特率因子为16,7位数据,2位停止位,奇检验。清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。设待发送的字符放在BUFFER标号所指的内存缓冲区。8251A端口地址:80H,82H。第64页,共118页,2024年2月25日,星期天D7

D6

D5

D4

D3

D2

D1

D0

S2

S1

EPPENL2

L1

B2

B1

停止位个数:00:无意义01:1位10:1位半11:2位

奇偶校验:×0:无校验位01:奇校验11:偶校验

数据位个数:00:5位01:6位10:7位11:8位

波特率因子:01:BF=110:BF=1611:BF=6410100111解:1)确定8251A的模式字(0DAH)

异步模式,1个奇校验位,2个停止位,数据位7位,波特率因子16。第65页,共118页,2024年2月25日,星期天2)确定8251A的控制字(37H)

清除出错标志,请求信号有效,发送、接收启动,CPU准备就绪。发送

允许。0:禁止1:允许

接收允许。0:禁止1:允许

复位错误标志。1:使PE、OE、FE复位(清除出错指示位)

内部复位。1:使8251A复位,返回方式指令发送空白字符1:强迫TxD为0,发送空白字符

请求发送。1:强迫RTS为0数据终端准备好。1:强迫DTR为0搜索同步字符1:启动搜索

TxENDTRRxESBPKERRTSIREHD0

D1

D2

D3

D4

D5

D6

D7

00110111第66页,共118页,2024年2月25日,星期天参考答案:

MOVAL,0DAH;11011010BOUT82H,AL;设置模式字

MOVAL,37H;00110111BOUT82H,AL;设置控制字

LEABX,BUFFERMOVCX,100HAGAIN:INAL,82H;取状态字

TESTAL,01H;测试状态位

JZAGAIN;TXRDY=0转

MOVAL,[BX];取一字符

OUT80H,AL;发送字符

INCBX;修改地址指针

LOOPAGAIN;重复100H次DSRSYNDETFEOEPETXERXRDYTXRDY第67页,共118页,2024年2月25日,星期天686.4并行通信和并行接口

一、特点数据各位通过信号线同时传输用的传输线多速率高适于近距离传输第68页,共118页,2024年2月25日,星期天69二、并行接口的典型结构第69页,共118页,2024年2月25日,星期天706.5可编程并行通信接口8255A

6.5.18255A的内部结构1个8位数据输入锁存器1个8位输出锁存器/缓冲器1个8位数据输入缓冲器1个8位输出锁存器/缓冲器1个8位数据输入缓冲器1个8位输出锁存器/缓冲器第70页,共118页,2024年2月25日,星期天71控制端口A和C的高4位的工作方式和读写操作。

控制端口B和C的低4位的工作方式和读写操作。第71页,共118页,2024年2月25日,星期天72双向三态的8位数据缓冲器。与系统数据总线相连管理数据传输过程第72页,共118页,2024年2月25日,星期天736.5.28255A的芯片引脚信号8255芯片引脚信号第73页,共118页,2024年2月25日,星期天74一、和外设一边相连的信号

1、PA7~PA0——A组数据信号;2、PB7~PB0——B组数据信号;3、PC7~PC0——C组数据信号。第74页,共118页,2024年2月25日,星期天75二、和CPU一边相连的信号

1、RESET:复位信号

RESET信号到来时,所有内部寄存器被清除,三个端口被设为输入端口。4、:读信号3、:片选信号5、:写信号6、A1、A0:端口选择信号

00:选中A端口01:选中B端口10:选中C端口11:选中控制口2、D7~D0:数据线,和系统总线相连。第75页,共118页,2024年2月25日,星期天76系统地址线8255AA2A1A0A1A000000选中A端口01001选中B端口10010选中C端口11011选中控制口A1A0A2A1系统地址线8255A第76页,共118页,2024年2月25日,星期天778255的控制信号与传输动作的对应关系A1A0传输说明00001数据从端口A送数据总线00101数据从端口B送数据总线01001数据从端口C送数据总线00010数据从数据总线送端口A00110数据从数据总线送端口B01010数据从数据总线送端口C01110数据从数据总线送控制寄存器0××11D7~D0

高阻01101非法信号组合1××××D7~D0

高阻第77页,共118页,2024年2月25日,星期天786.5.38255A的控制字

一、方式选择控制字

第78页,共118页,2024年2月25日,星期天79例:8255A端口A工作于方式0输出,端口B方式0输入,端口C高四位输出,端口C低四位输入。8255A各端口地址为01E0H~01E6H,请编写出初始化程序。MOVAL,83H;控制字10000011BMOVDX,01E6HOUTDX,AL11000001端口C低四位输入端口B输入端口B方式0端口C高四位输出端口A输出端口A方式0标识位解:1)确定控制字2)写初始化程序第79页,共118页,2024年2月25日,星期天80练习:8255A端口A工作于方式0输入,端口B方式1输入,端口C高四位输出,端口C低四位配合端口B工作。8255A各端口地址为60H~66H,请编写出初始化程序。MOVAL,96H;控制字1001011×BOUT66H,AL×1100011端口C低四位配合B端口B输入端口B方式1端口C高四位输出端口A输入端口A方式0标识位解:1)确定控制字2)写初始化程序第80页,共118页,2024年2月25日,星期天81二、端口C置1/清0控制字

注:该控制字必须写入控制端口第81页,共118页,2024年2月25日,星期天82练习:编写程序段,实现对端口C的PC6位清0,PC2位置1,8255A各端口地址为80H、82H、84H、86H。MOVAL,0CH;控制字0×××1100BOUT86H,ALMOVAL,05H;控制字0×××0101BOUT86H,AL例:编写程序段,实现对端口C的PC7位置1,PC3清0,8255A控制端口地址为00EEH。MOVAL,0FH

;控制字0×××1111BMOVDX,00EEHOUTDX,ALMOVAL,06H

;控制字0×××0110BOUTDX,AL第82页,共118页,2024年2月25日,星期天83利用C口的按位控制特性可以产生负脉冲或方波输出,对外设进行控制。例:利用8255A的PC7产生负脉冲,作为外设的数据选通信号,设8255A各端口地址为80H、82H、84H、86H。参考程序:MOVAL,00001111B;置PC7=1OUT86H,ALMOVAL,00001110B;置PC7=0OUT86H,ALNOP;维持低电平

NOPMOVAL,00001111B;置PC7=1OUT86H,AL第83页,共118页,2024年2月25日,星期天846.5.48255A的工作方式

一、方式01、工作特点

1)两个8位端口,两个4位端口。2)可有16种不同的组合。2、输入/输出时序

1)方式0读取数据条件(1)CPU发读信号前,先发出地址信号,即

使CS、A1、A0有效,启动8255A;(2)数据要领先于读信号第84页,共118页,2024年2月25日,星期天852)输入时序要求读出期间地址保持有效数据必须保持到读信号结束读脉冲宽度至少为300ns

datadata输入数据D0~D7RD

CS,A1,A0第85页,共118页,2024年2月25日,星期天863)输出时序要求地址信号必须提前有效且滞后消失;写脉冲宽度至少有400ns;数据必须在写信号结束前出现在数据总线上,并保持tWD时间第86页,共118页,2024年2月25日,星期天873、方式0的使用场合

(1)同步传送(2)查询式传送发送方和接收方的动作由一个时序信号管理,双方互相知道对方动作,无需联络信号。发送方和接收方需联络信号。第87页,共118页,2024年2月25日,星期天88例:8255作为打印机的接口,工作于方式0,如图所示。MOVAL,81H;100000×1BOUT0D6H,AL;设置工作方式MOVAL,0DH;0×××1101BOUT0D6H,AL;PC6置位LPST:INAL,0D4H;读C端口ANDAL,04H;00000100BJNZLPST

;打印机忙,继续查询,否则打印MOVAL,CLOUT0D0H,AL;待打印字符送端口AMOVAL,0CH;0×××1100BOUT0D6H,AL;PC6清0NOPNOPINCALOUT0D6H,AL;PC6置位

第88页,共118页,2024年2月25日,星期天89练习:8255作为打印机的接口,工作于方式0。GCG2AG2BACSY2BPC0A0PC7BUSYPBA1STBDBA1A6A2A5A7A3A48086CPU74LS1388255A打印机驱动第89页,共118页,2024年2月25日,星期天90当主机要往打印机输出字符时,先查询打印机的忙信号(BUSY),如果打印机忙,则BUSY信号为1,否则为0。当查询到BUSY为0时,可通过8255A往打印机输出一个字符,此时,要将置为低电平,然后再使为高电平,相当于在端输出一个负脉冲(初始状态为高电平),此负脉冲作为打印机的选通信号。现将B端口作为传送字符的通道,工作于方式0;A端口未用;C端口中,PC7作为BUSY信号输入端,PC0作为信号输出端。第90页,共118页,2024年2月25日,星期天91MOVAL,88H

;(100×1000B)OUT96H,ALMOVAL,01H;(0×××0001B)OUT96H,ALMOVSI,OFFSETBUF;打印字符内存首地址MOVCX,100;打印字符个数LPST:INAL,94H

ANDAL,80HJNZLPST2)设在BUF开始的内存缓冲区存放着100个待打印字符,完成8255A初始化程序及把待打印字符送打印机打印的程序。1)写出8255各端口的地址8255各端口的地址:90H,92H,94H,96H

第91页,共118页,2024年2月25日,星期天92MOVAL,[SI]OUT92H,ALMOVAL,00H;0×××0000BOUT96H,ALNOPNOPINCALOUT96H,ALINCSI;内存地址加1DECCX;字符数减1JNZLPST;未完,继续第92页,共118页,2024年2月25日,星期天93二、方式1

1、工作特点

1)可提供一个或两个选通的端口。2)每一选通的端口含一8位数据端口,

三条控制线。3)可输出,可输入。4)C口部分位作为A、B联络信号,

剩余位可做数据位用。第93页,共118页,2024年2月25日,星期天942、方式1输入有关信号规定(A端口)数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBAPC6PC7作I/O口中断允许触发器PC4置1,INTEA=1,A口处于中断允许状态,当STBA=1,IBFA=1时,INTRA有效,向CPU申请中断。PC4复位,INTEA=0,A口处于中断屏蔽状态,INTRA无效。第94页,共118页,2024年2月25日,星期天952、方式1输入有关信号规定(B端口)数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中断允许触发器

PC2置1,INTEB=1,B口处于中断允许状态,当STBB=1,IBFB=1时,INTRB有效,向CPU申请中断。PC2复位,INTEB=0,B口处于中断屏蔽状态,INTRB无效。第95页,共118页,2024年2月25日,星期天962、方式1输入有关信号规定STB:选通信号,低电平有效。外设

8255A的联络信号。

有效时,将输入设备送来的数据锁存至8255A的输入锁存器。IBF:输入缓冲器满信号,高电平有效。

8255A

CPU的联络信号。

有效时,表示数据已锁存在输入锁存器。STB使该信号置位,RD的后沿即上升沿使其复位。第96页,共118页,2024年2月25日,星期天97INTE:中断允许信号,控制中断的允许和屏蔽注:PC4控制A口中断允许与外设来的STBA信号无关,由内部

电路决定。

即将PC4置位,即INTEA=1不等于把STBA置为高电平;

外设使STBA=0不等于INTEA复位。INTR:中断请求信号,高电平有效

8255A

CPU。

可用于向CPU提出中断请求,要求CPU读取外设数据。STB、IBF均为高电平时该信号置位,RD的下降沿使其复位。PC2控制B口中断允许与外设来的STBB信号无关。第97页,共118页,2024年2月25日,星期天983、方式1输入时序第98页,共118页,2024年2月25日,星期天994、方式1输出有关信号规定(A端口)外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器PC6置1,INTEA=1(不等于ACKA=1),A口处于中断允许状态;PC6复位,INTEA=0(不等于ACKA=0),A口处于中断屏蔽状态,INTRA无效。第99页,共118页,2024年2月25日,星期天1004、方式1输出有关信号规定(B端口)外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB中断允许触发器PC2置1,INTEB=1(不等于ACKB=1),B口处于中断允许状态;PC2复位,INTEB=0(不等于ACKB=0),B口处于中断屏蔽状态,INTRB无效。第100页,共118页,2024年2月25日,星期天1014、方式1输出有关信号规定OBF:输出缓冲器满信号,低有效。

8255A

外设的控制信号。有效时,表示CPU已把数据输出给指定的端口,外设可取走。该信号由WR的上升沿置成有效电平,ACK的有效信号使之恢复为高电平。ACK:外设响应信号,低电平有效。外设

8255A的响应信号。

表8255A的端口数据已由外设接收。第101页,共118页,2024年2月25日,星期天102INTE:中断允许信号,控制中断的允许和屏蔽INTR:中断请求信号,高电平有效8255A

CPU。当输出设备已接收数据后,8255A输出此信号向CPU提出中断

请求,要求CPU继续提供数据。ACK、OBF均为高电平时该信号置位,WR的下降沿使其复位。注:PC6控制A口中断允许,与外设来的ACKA信号无关。PC2控制B口中断允许,与外设来的ACKB信号无关。PC4和

PC5可作I/O口用。第102页,共118页,2024年2月25日,星期天1034、方式1输出时序5、方式1的使用场合

与外设有联络信号,与CPU有中断请求信号,适于查询传送和中断传送。第103页,共118页,2024年2月25日,星期天104例:8255A作为打印机的接口,工作于方式1。8255A的PC3连8259A的中断请求输入端IR3,对应的中断类型号为0BH,中断处理子程序的入口地址为1000H:2000H。设待打印的字符放在DI所指向的内存缓冲区。8255A的端口地址为00C0H~00C6H。第104页,共118页,2024年2月25日,星期天105主程序:MAIN:MOVAL,0A0H;1010×0×0BMOVDX,00C6HOUTDX,AL;设置控制字

MOVAL,01HOUTDX,AL;将PC0置1,选通无效

XORAX,AXMOVDS,AXMOVBX,002CHMOVAX,2000HMOV[BX],AXMOVAX,1000H

温馨提示

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

评论

0/150

提交评论