微机原理第七章串行通信接口技术PPT课件

上传人:新** 文档编号:571447357 上传时间:2024-08-10 格式:PPT 页数:83 大小:1.32MB
返回 下载 相关 举报
微机原理第七章串行通信接口技术PPT课件_第1页
第1页 / 共83页
微机原理第七章串行通信接口技术PPT课件_第2页
第2页 / 共83页
微机原理第七章串行通信接口技术PPT课件_第3页
第3页 / 共83页
微机原理第七章串行通信接口技术PPT课件_第4页
第4页 / 共83页
微机原理第七章串行通信接口技术PPT课件_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《微机原理第七章串行通信接口技术PPT课件》由会员分享,可在线阅读,更多相关《微机原理第七章串行通信接口技术PPT课件(83页珍藏版)》请在金锄头文库上搜索。

1、可编程串行通信接口芯片可编程串行通信接口芯片8251A在串行通信时,收发双方要解决的问题在串行通信时,收发双方要解决的问题: :n以何种速率进行数据的发送和接收(以何种速率进行数据的发送和接收(波特率波特率)n采用何种数据格式(采用何种数据格式(帧格式帧格式)n接收方如何得知一批数据的开始和结束(接收方如何得知一批数据的开始和结束(帧同步帧同步)n接收方如何从位流中正确地采样到位数据(接收方如何从位流中正确地采样到位数据(位同步位同步)n接收方如何判断收到数据的正确性(接收方如何判断收到数据的正确性(数据校验数据校验)n收发出错时如何处理(收发出错时如何处理(出错处理出错处理)串行通信的基本概

2、念串行通信的基本概念全双工方式全双工方式站站A站站B站站A站站B站站A站站B半双工方式半双工方式单工方式单工方式1. 数据传送方向数据传送方向2. 串行通信的两种基本方式串行通信的两种基本方式(1)异步通信及其协议)异步通信及其协议所谓的异步通信,是指通信中两个字符的时间间所谓的异步通信,是指通信中两个字符的时间间隔是不固定的,而同一字符中的相邻代码间时间隔是不固定的,而同一字符中的相邻代码间时间间隔是固定的间隔是固定的n串串行行异异步步通通信信以以字字符符为为单单位位进进行行传传输输,用用起起始始位位表表示示字字符符的的开开始始,用用停停止止位位表表示示字字符符结结束束,其其通通信信协协议议

3、是是起起止止式式异异步步通通信信协协议议n串串行行通通信信时时的的数数据据、控控制制和和状状态态信信息息都都使使用同一根信号线传送用同一根信号线传送n收收发发双双方方必必须须遵遵守守共共同同的的通通信信协协议议(通通信信规规程程),才才能能解解决决传传送送速速率率、信信息息格格式式、位同步、字符同步、数据校验等问题位同步、字符同步、数据校验等问题(2)同步通信及其协议)同步通信及其协议同步通信以一个数据块为传输单位,每个数据块附同步通信以一个数据块为传输单位,每个数据块附加加1个或个或2个同步字符,最后以校验字符结束个同步字符,最后以校验字符结束 同步通信协议有多种,常用的有面向比特的高级数据

4、链路同步通信协议有多种,常用的有面向比特的高级数据链路控制协议控制协议HDLC(High-Level Data Link Control)。)。IBM系列系列微机中常用的同步数据链路控制协议微机中常用的同步数据链路控制协议SDLC(Synchronous Data Link Control)则是)则是HDLC的子集的子集n同同步步通通信信的的特特点点是是不不仅仅字字符符内内部部保保持持“同同步步”,而且字符与字符之间也是同步的。,而且字符与字符之间也是同步的。n在在这这种种通通信信方方式式下下,收收/发发双双方方必必须须建建立立准准确确的的位位定定时时信信号号,也也就就是是收收/发发时时钟钟的

5、的频频率率必必须须严格地一致。严格地一致。n每个字符不增加任何附加位,而是连续发送每个字符不增加任何附加位,而是连续发送3. 波特率与收波特率与收/发时钟发时钟n串行传输速率也称串行传输速率也称波特率波特率(Baud Rate)n每秒传输的二进制位数每秒传输的二进制位数bpsn字字符符中中每每个个二二进进制制位位持持续续的的时时间间长长度度都都一一样样,为为数数据据传输速率的倒数传输速率的倒数(1)串行传输速率)串行传输速率字符速率与波特率两者关系字符速率与波特率两者关系 字符速率:每秒钟传输的字符数。字符速率:每秒钟传输的字符数。波特率:指单位时间内传送二进制数据的波特率:指单位时间内传送二

6、进制数据的位数。单位为:位数。单位为:b/s例例: : 异步传输过程异步传输过程 设每个字符对应设每个字符对应1 1个起始位、个起始位、7 7个信息位、个信息位、1 1个个奇偶校验位和奇偶校验位和1 1个停止位,如果波特率为个停止位,如果波特率为1200bps1200bps,那么,每秒钟能传输的最大字符数为,那么,每秒钟能传输的最大字符数为1200/101200/10120120个个例例2:2:同步传输同步传输 用用1200bps1200bps的的波波特特率率工工作作,用用4 4个个同同步步字字符符作作为为信信息息帧帧头头部部,但但不不用用奇奇偶偶校校验验,那那么么 , 传传 输输 10010

7、0个个 字字 符符 所所 用用 的的 时时 间间 为为7(100+4)/12007(100+4)/12000.6067s0.6067s,这这就就是是说说,每每秒秒钟钟能能传传输输的的字字符符数数可可达达到到100/0.6067100/0.6067165165个。个。可可见见,在在同同样样的的传传输输率率下下,同同步步传传输输时时实际字符传输率要比异步传输时高实际字符传输率要比异步传输时高。 (2) 发送发送/接收时钟接收时钟发送发送/接收时钟频率与接收时钟频率与波特率之间的关系为:波特率之间的关系为:发送发送/接收时钟频率接收时钟频率=n 发送发送/接收接收波特率波特率例:要求传输速率为例:要

8、求传输速率为1200 bps当选择当选择n=16时,时,表明一位数字信号中有表明一位数字信号中有16个时个时钟脉冲,故发送钟脉冲,故发送/接收时钟频率为:接收时钟频率为: 1200 16=19.2kHz其中其中n称为波特因子,一般称为波特因子,一般n=1,16,32,64 n调制和解调调制和解调 长长距距离离通通信信时时,常常需需要要利利用用电电话话线线路路,它它的的频频带带则则只只有有300Hz300Hz3400Hz3400Hz。为为了了通通过过电电话话线线路路传传输输数数字字信信号号,必必须须先先把把数数字字信信号号转转换换为为适适合合在在电电话话线线路路上上传传送送的的模模拟拟信信号号,

9、这这就就是是调调制制;经经过过电电话话线线路路传传输输后后,在在接接收收端端再再将将模模拟拟信信号号转转换换为数字信号,这就是解调。为数字信号,这就是解调。 n调制方法调制方法 : 移频键控(移频键控(FSKFSK) 移相键控移相键控PSK PSK 振幅键控(振幅键控(ASKASK)4. 信号的调制解调信号的调制解调nRS-232CRS-232C信号定义的说明信号定义的说明 RS-232CRS-232C的的2525个个插插脚脚仅仅定定义义2222个个。在在微微机机通通信信中中,通通常常使使用用的的RS-232CRS-232C接接口口信信号号只只有有9 9根根引引脚脚(P299,P299,图图7

10、-377-37)5. RS232C接口接口nRS-232CRS-232C总线的电气规范总线的电气规范nRS-232CRS-232C标准与标准与TTL标准之间的转换标准之间的转换常常用用于于将将TTLTTL电电平平转转换换为为RS-232CRS-232C电电平平的的芯芯片片,除除MC1488MC1488外外还还有有7518875188,7515075150等等;用用于于将将RS-232CRS-232C电电平平转转换换为为TTLTTL电电平,除平,除MC1489MC1489外,还有外,还有7518975189,7515475154等等nRS-232CRS-232C的应用的应用n使用使用MODEMM

11、ODEM连接连接n直接连接直接连接n三线连接三线连接n计计算算机机通通常常使使用用UART来来实实现现数数据据的的串串/并并和和并并/串转换串转换nUART的基本原理(的基本原理(P301,图图7-39、7-40)nUART的工作过程的工作过程n常用的错误标志常用的错误标志n奇偶校验错奇偶校验错n帧错误帧错误n溢出(丢失)错误溢出(丢失)错误6. 通用异步收发器通用异步收发器(UART)可编程异步通信接口可编程异步通信接口INS82508250的基本功能:的基本功能:n全双工、双缓冲器接收和发送全双工、双缓冲器接收和发送n15种波特率,种波特率,50-9600bpsn可编程的异步通信格式可编程

12、的异步通信格式n提供奇偶、溢出和帧校验等错误检测提供奇偶、溢出和帧校验等错误检测n片内具有优先权中断控制逻辑片内具有优先权中断控制逻辑8250的内部结构的内部结构8250芯片引脚定义与功能芯片引脚定义与功能(1)面向CPU一侧的引脚(1)n数据线数据线D7 D0 :在:在CPU与与8250之间交换信息之间交换信息n地址线地址线A0A2:寻址寻址8250内部寄存器内部寄存器n片片选选线线:8250设设计计了了3个个片片选选输输入入信信号号CS0、CS1、CS2*和和一一个个片片选选输输出出信信号号CSOUT。3个个片片选选输输入入都都有有效效时时,才才选选中中8250芯芯片片,同同时时CSOUT

13、输出高电平有效。输出高电平有效。n地地址址选选通通信信号号ADS*:当当该该信信号号低低有有效效时时,锁锁存存上上述述地地址址线线和和片片选选线线的的输输入入状状态态,保保证证读读写写期期间间的地址稳定的地址稳定(1)处理器接口引脚(2)n读控制线读控制线n数数据据输输入入选选通通DISTR(高高有有效效)和和DISTR*(低低有有效效)有一个信号有效,有一个信号有效,CPU从从8250内部寄存器读出数据内部寄存器读出数据n相当于相当于I/O读信号读信号n写控制线写控制线n数数据据输输出出选选通通DOSTR(高高有有效效)和和DOSTR*(低低有有效效)有一个有效,有一个有效,CPU就将数据写

14、入就将数据写入8250内部寄存器内部寄存器n相当于相当于I/O写信号写信号n8250读读写写控控制制信信号号有有两两对对,每每对对信信号号作作用用完完全全相相同,只不过有效电平不同而己同,只不过有效电平不同而己(1)处理器接口引脚(3)n驱驱动动器器禁禁止止信信号号DDIS:CPU从从8250读读取取数数据据时时,DDIS引引脚脚输输出出低低电电平平,用用来来禁禁止止外外部部收收发发器器对对系系统统总总线线的的驱驱动动;其其它它时时间间,DDIS为高电平为高电平n主复位线主复位线MR:硬件复位信号硬件复位信号RESETn中中断断请请求求线线INTRPT:8250有有4级级共共10个个中中断断源

15、源,当当任任一一个个未未被被屏屏蔽蔽的的中中断断源源有有请请求求时,时,INTRPT输出高电平向输出高电平向CPU请求中断请求中断(2)面向外设引脚信号8250数据装置准备好数据装置准备好DSR*数据终端准备好数据终端准备好DTR*发送数据发送数据SOUT接收数据接收数据SIN请求发送请求发送RTS*允许发送允许发送CTS*信号地信号地GND载波检测载波检测RLSD*振铃指示振铃指示RI*(3)时钟信号n时钟输入引脚时钟输入引脚XTAL1:8250的基准工作时钟的基准工作时钟n时钟输出引脚时钟输出引脚XTAL2:基准时钟信号的输出端基准时钟信号的输出端n波波特特率率输输出出引引脚脚BAUDOU

16、T*:基基准准时时钟钟经经8250内内部部波波特特率率发发生生器器分分频频后后产产生生发发送送时时钟钟,为为波波特特率率16倍倍n接接收收时时钟钟引引脚脚RCLK:接接收收外外部部提提供供的的接接收收时时钟钟信信号号;若若采采用用发发送送时时钟钟作作为为接接收收时时钟钟,则则只只要要将将RCLK引脚和引脚和BAUDOUT*引脚直接相连引脚直接相连(4)输出线nOUT1*和和OUT2*:n两个一般用途的输出信号两个一般用途的输出信号n由由调调制制解解调调器器控控制制寄寄存存器器的的D2和和D3使使其其输输出出低电平有效信号低电平有效信号n复位使其恢复为高复位使其恢复为高8250的寄存器及编程方法

17、的寄存器及编程方法n8250内内部部有有10个个可可访访问问的的寄寄存存器器,除除数数寄寄存存器器是是16位位的的,占占用用两两个个连连续续的的8位位端端口口n内内部部寄寄存存器器用用引引脚脚A0A2来来寻寻址址;同同时时还还要要利利用用通通信信线线路路控控制制寄寄存存器器的的最最高高位位,即即除除数数寄寄存存器器访访问问位位DLAB的的0和和1两两种种状状态态,来来区区别别公公用用1个个端端口口地地址址所所访访问问的的两两个个寄存器寄存器8250内部寄存器端口地址适配器地址适配器地址DLAB A2A1A0访问寄存器名称访问寄存器名称3F8H00 0 0接收数据寄存器(读)接收数据寄存器(读)

18、发送保持寄存器(写)发送保持寄存器(写)3F9H 00 0 1中断允许寄存器中断允许寄存器3F8H 10 0 0波特率除数锁存寄存器(低字节)波特率除数锁存寄存器(低字节)3F9H 10 0 1波特率除数锁存寄存器(高字节)波特率除数锁存寄存器(高字节)3FAH 0 1 0中断识别寄存器中断识别寄存器3FBH 0 1 1线路控制寄存器线路控制寄存器3FCH 1 0 0MODEM控制寄存器控制寄存器3FDH 1 0 1线路状态寄存器线路状态寄存器3FEH 1 1 0MODEM状态寄存器状态寄存器(1) 发送保持寄存器THR(3F8H) :“写写”包含将要串行发送的并行数据包含将要串行发送的并行数

19、据 CPU发送保持寄存器发送保持寄存器发送移位寄存器发送移位寄存器同步控制同步控制8250SOUT(1) 接收缓冲寄存器RBR (3F8H) :“读读”存放串行接收后转换成并行的数据存放串行接收后转换成并行的数据CPU接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器同步控制同步控制8250SIN(2)波特率除数寄存器BRD(3F8H,3F9H)除数寄存器保存设定的分频系数除数寄存器保存设定的分频系数BRD基准时钟频率基准时钟频率(16波特率)波特率)起起 始始 位位时钟时钟(RCLK)数据线数据线(SIN)T16 T16 T8 T例:计算波特率为例:计算波特率为1200bps1200b

20、ps的波特率除数。的波特率除数。当当使使用用UARTUART的的内内部部时时钟钟为为1.8432MHz1.8432MHz时时(或由外部通过(或由外部通过XTALXTAL1 1引脚输入),引脚输入),BRD=1843200/BRD=1843200/(161612001200)=0060H=0060H(3) 通信线路控制寄存器LCR(3FBH)DLABD6 D5 D4 D3D2D1 D0寄存器选择寄存器选择0 正常值正常值1 除数寄存器除数寄存器中止字符中止字符0 无作用无作用1 发送中止字符发送中止字符校验位设置校验位设置0 无校验位无校验位001 设置奇校验设置奇校验011 设置偶校验设置偶校

21、验101 校验位为校验位为1111 校验位为校验位为0停止位个数停止位个数0 1位位1 1.5位(数据位为位(数据位为5位时)位时)1 2位(数据位为位(数据位为68位时)位时)数据位个数数据位个数00 5位位01 6位位10 7位位11 8位位指定串行异步通信的字符格式指定串行异步通信的字符格式例例:通通信信线线路路控控制制寄寄存存器器(LCRLCR)的的编编程程,设设置置发发送送数数据据字字长长为为8 8位位,2 2位位停停止止位位,偶偶校校验验,其程序段为:其程序段为:MOV DXMOV DX,3FBH 3FBH ;LCRLCR的地址的地址MOV ALMOV AL, 00011111B

22、00011111B ;LCRLCR内容数内容数;据格式参数;据格式参数 OUT DX OUT DX,ALAL(4)通信线路状态寄存器LSR(3FDH)0D6 D5 D4 D3D2D1 D0为为1,表示发送移位寄存器空;,表示发送移位寄存器空;当数据由发送保持寄存器移入当数据由发送保持寄存器移入发送移位寄存器时,该位为发送移位寄存器时,该位为0提供串行异步通信的当前状态提供串行异步通信的当前状态供供CPU读取和处理读取和处理为为1,表示发送保持寄存器空,表示发送保持寄存器空,当当CPU将字符写入发送保持将字符写入发送保持寄存器后,该位为寄存器后,该位为0为为1,表示正在传输中止字符,表示正在传输

23、中止字符为为1,表示出现帧错误,表示出现帧错误为为1,表示出现奇偶错,表示出现奇偶错为为1,表示出现溢出错,表示出现溢出错为为1,表示接收数据缓冲器收到,表示接收数据缓冲器收到一个数据,既接收数据准备好;一个数据,既接收数据准备好;当当CPU读走数据后,该位为读走数据后,该位为0为为1使使DTR*引脚为低引脚为低否则为高否则为高 (5)MODEM控制寄存器MCR(3FCH)设置设置8250与数据通信设备之间与数据通信设备之间联络应答的输出信号联络应答的输出信号0 0 0LOOP OUT2OUT1RTS DTR为为1使使RTS*引脚为低引脚为低否则为高否则为高 为为1使使OUT1*引脚为低引脚为

24、低否则为高否则为高 为为1使使OUT2*引脚为低引脚为低否则为高否则为高 为为1使使8250为循环工作方式为循环工作方式否则为正常工作方式否则为正常工作方式例例:要要使使MCRMCR的的DTRDTR,RTSRTS有有效效,OUTOUT1 1,OUTOUT2 2以及以及LOOPLOOP无效,则编程如下:无效,则编程如下:MOV DX,3FCH ;MCR的地址,的地址, MOV AL,00000011B ;MCR的控制字的控制字 OUT DX,AL例例:要要对对82508250通通过过自自发发自自收收进进行行诊诊断断,则则程程序序为为: :MOV DX ,3FCH ;MCR的地址的地址MOV AL

25、,00010011B ;LOOP位置位置“1”OUT DX,AL(6)MODEM状态寄存器MSR(3FEH)n反映反映4个控制输入信号的当前状态及其变化个控制输入信号的当前状态及其变化nMSR高高4位位中中某某位位为为1,说说明明相相应应输输入入信信号号当当前前为为低有效,否则为高电平低有效,否则为高电平nMSR低低4位位中中某某位位为为1,则则说说明明从从上上次次CPU读读取取该该状状态态字字后后,相相应应输输入入信信号号已已发发生生改改变变,从从高高变变低或反之低或反之nMCR低低4位位任任一一位位置置1,均均产产生生调调制制解解调调器器状状态态中中断断,当当CPU读读取取该该寄寄存存器器

26、或或复复位位后后,低低4位位被被清零清零(7)中断允许寄存器IER (3F9H)n8250设计有设计有2个中断寄存器和个中断寄存器和4级中断级中断n4级级中中断断的的优优先先权权,是是按按照照串串行行通通信信过过程程中中事件的紧迫程度安排的、是固定不变的事件的紧迫程度安排的、是固定不变的n用户可利用中断允许或禁止进行控制用户可利用中断允许或禁止进行控制n中中断断允允许许寄寄存存器器的的低低4位位控控制制8250这这4级级中中断是否被允许断是否被允许n某位为某位为1,则对应的中断被允许,则对应的中断被允许n否则,被禁止否则,被禁止8. 中断识别IIR(3FAH)保存正在请求中断的优先权最高保存正

27、在请求中断的优先权最高的中断级别编码的中断级别编码0 0 0 0 0ID1 ID0IP0 有中断有中断1 无中断无中断ID1ID0优先权优先权中断类型中断类型1 11 00 10 01234 接收线路状态接收线路状态 接收数据准备好接收数据准备好 发送保持寄存器空发送保持寄存器空 调制解调器状态调制解调器状态3. 8250应用举例写通信控制字写通信控制字D7=1写除数低写除数低8位位写通信控制字写通信控制字写除数高写除数高8位位写写MODEM控制字控制字写中断允许字写中断允许字 结束结束n8250的初始化过程的初始化过程例例:82508250端端口口地地址址为为3F8H3F8H3FFH3FFH

28、,若若82508250以以波波特特率率9600bps9600bps,进进行行异异步步通通信信,每每字字符符8 8位位,1 1位位停停止止位位,采采用用奇奇校校验验,允许所有中断,试编程初始化。允许所有中断,试编程初始化。解:解:MOVMOV DXDX,3FBH 3FBH ;82508250线路控制寄存器地址送线路控制寄存器地址送DXDX MOV ALMOV AL,80H80H;置置DLAB=1DLAB=1,设设置置除除数数寄存器寄存器 OUT DX OUT DX,ALALMOV DXMOV DX,3F8H 3F8H ;除数寄存器地址送;除数寄存器地址送DXDX MOV AL MOV AL,0C

29、H0CH ;波特率为;波特率为9600bps 9600bps OUT DX OUT DX,ALAL ;送除数低;送除数低8 8位位 INC DX INC DXMOV ALMOV AL,00H00H ;送除数高;送除数高8 8位位OUT DXOUT DX,ALALMOVMOV DXDX,3FBH 3FBH ;82508250控制寄存器地址送控制寄存器地址送DXDXMOV ALMOV AL,00001011B 00001011B ;8 8位数据,奇校验,位数据,奇校验,1 1位停止位位停止位OUT DXOUT DX,AL AL MOVMOV DXDX,3F9H 3F9H ;中断允许寄存器地址送;中

30、断允许寄存器地址送DXDX MOV ALMOV AL,0FH 0FH ;设置中断允许控制字,允许所有中断;设置中断允许控制字,允许所有中断OUT DXOUT DX,AL AL MOVMOV DXDX,3FCH 3FCH ;设置;设置MODEMMODEM控制字控制字 MOV ALMOV AL,0FH0FHOUT DXOUT DX,AL AL ;OUT1*,OUT2*OUT1*,OUT2*均为均为0 0 n8250查询方式发送查询方式发送初始化初始化8250读读LSRD5=1?发送一个字符发送一个字符发完?发完?结束结束YYNNn查询方式接收查询方式接收初始化初始化82508250读读LSRD0=

31、1?接收一个字符接收一个字符收完?收完?结束结束YYNN有错?有错?NY错误处理错误处理例例:两两台台PCPC机机用用RS-232CRS-232C串串口口采采用用零零MODEMMODEM方方式式实实现现近近距距离离串串行行通通信信。数数据据传传送送波波特特率率为为9600bps9600bps,数数据据格格式式为为8 8位位/ /每每字字符符,1 1位位停停止止位位,奇奇校校验验,双双机机82508250端端口口地地址址均均为为2F8H2F8H2FFH2FFH。试试编编写写发发送送和和接接收收程程序序,其其功功能能如下:如下:通信双方执行程序后,均等待键盘输入字符通信双方执行程序后,均等待键盘输

32、入字符双双方方只只要要按按下下一一个个键键,键键值值在在本本机机当当前前光光标标处处显显示示,而且传送到对方,在对方当前光标处显示出来而且传送到对方,在对方当前光标处显示出来双双方方只只要要按按下下ESCESC键键,则则停停止止程程序序的的执执行行,返返回回到到DOSDOS状态状态通通信信双双方方如如果果出出现现通通信信错错误误,则则屏屏幕幕显显示示“?”,并继续等待键入新字符或接收新字符并继续等待键入新字符或接收新字符MOV DX,2FBH ;82508250控制寄存器地址送控制寄存器地址送DXDXMOV AL,80H ;置;置DLAB=1DLAB=1,设置除数寄存器,设置除数寄存器OUT

33、DX,ALMOV DX,2F8H ;除数寄存器地址送;除数寄存器地址送DXDXMOV AL,0CH;波特率为;波特率为9600bps9600bps OUT DX,AL ;送除数低;送除数低8 8位位INC DXMOV AL,00H;送除数高;送除数高8 8位位OUT DX,AL MOV DX,2FBH ;82508250控制寄存器地址送控制寄存器地址送DXDX MOV AL,0BH ;8 8位数据,奇校验,位数据,奇校验,1 1位停止位位停止位 OUT DX,AL MOV DX,2FCH;设置;设置MODEM控制字控制字 MOV AL,03H;RTS,CTS有效有效 OUT DX,AL MOV

34、 DX,2F9H;禁止中断;禁止中断 MOV AL,00H OUT DX,ALFOREVER:MOV DX,2FDHIN AL,DX ;读线路状态寄存器;读线路状态寄存器TEST AL,1EH JNZ ERROR ;有错,转错误处理程序有错,转错误处理程序TEST AL,01H ;查接收缓冲器是否满查接收缓冲器是否满JNZ RECEIVETEST AL,20H ;查发送缓冲器是否空查发送缓冲器是否空JNZ FOREVER ;为空则发送字符;为空则发送字符MOV AH,01H ;读键盘缓冲器内容读键盘缓冲器内容;若有键按下,则;若有键按下,则ZF=0ZF=0,且,且AL=AL=字符码字符码INT

35、 16HJZ FOREVERMOV AH,00H ;AL=字符字符ASCII码码 INT 16HMOV DX,2F8HOUT DX,ALMOV AH,02H ;显示字符;显示字符MOV DL,ALINT 21HCMP AL,27 ;若按下若按下ESCESC键,则退出键,则退出 JNZ NEXT MOV AH,4CH INC 21HNEXT:JMP FOREVERRECEIVE:MOV DX,2F8H ;接收数据;接收数据 IN AL,DX AND AL,7FH ;检查是否;检查是否ESC CMP AL,27 JNZ DISP ;不是;不是ESC,则显示,则显示 MOV AH,4CH ;是;是E

36、SC,退出,退出 INT 21H DISP: PUSH AX MOV BX,0;显示字符;显示字符 MOV AH,14 INT 10H POP AX CMP AL,0DH ;处理回车;处理回车 JNZ FOREVER MOV AL,0AH MOV BX,0 MOV AH,14 INT 10H JMP FOREVER ERROR:MOV DX,3F8H IN AL,DXMOVAL,? MOV BX,0 MOV AH,14 INT 10H JMP FOREVERn8250中断方式通信中断方式通信n中断通信方式初始化中断通信方式初始化n修改中断向量:按使用的端口COM1或COM2,接管中断0CH或中

37、断0BH(保存原中断向量,将新的中断向量替换上去,注意程序结束时恢复原中断向量)n确定通信协议:设置波特率及数据传输格式,设置中断允许寄存器相应位的允许或禁止n开放通信中断:对8259A中断控制器的屏蔽寄存器编程(OCW1),允许中断IRQ4或IRQ3n通信中断服务程序通信中断服务程序n首先读中断识别寄存器IIR,判断中断源,然后转向对应的处理子过程(程序)。n当中断识别寄存器D2D1=11时,表明接收出错中断,需要再读取线路状态寄存器,分析错误原因,再进行错误处理n可能出现多个中断源同时引发中断。因此,每处理完一种中断源后,应继续读取中断识别寄存器,检测D0是否为“0”,当D0=0时,表明还

38、有未决中断,应该继续分析中断源并进行中断处理。n中断程序返回的条件是中断识别寄存器的D0=1。可编程串行通信接口芯片可编程串行通信接口芯片8251A8251A基本性能:基本性能:n全双工、双缓冲器全双工、双缓冲器n两种传送方式:同步和异步传送两种传送方式:同步和异步传送n同同步步传传送送:58位位/字字符符,内内部部或或外外部部同同步步,可自动插人同步字符可自动插人同步字符n异异步步传传送送:58位位/字字符符,时时钟钟速速率率为为通通信信波波特率的特率的1、16或或64倍倍n可可自自动动产产生生、检检测测和和处处理理终终止止字字符符,可可产产生生1、1.5或或2位的停止位位的停止位n波波特特

39、率率在在同同步步方方式式时时为为064Kbps,异异步步方方式时为式时为019.2Kbpsn出出错错检检测测:具具有有奇奇偶偶、溢溢出出和和帧帧错错误误等等检检测测电路电路8251A的内部结构:的内部结构:(1) 8251A与与CPU接口信号接口信号 1 1、片选信号片选信号 CS*CS*为低电平时,为低电平时,8251A8251A被选中被选中2 2、数据信号数据信号 D7D7D0D0与系统的数据总线相连与系统的数据总线相连 3 3、读写控制信号读写控制信号 RD*RD*为读信号为读信号WR*WR*为写信号为写信号C/D*C/D*为控制为控制/ /数据信号数据信号RESETRESET复位复位C

40、LKCLK时钟时钟8251A的接口信号的接口信号(2)8251A与外部设备之间的连接信号与外部设备之间的连接信号 1.发送器发送器1)TxRDY(Transmitter Ready):发送器准备好,高电平有效):发送器准备好,高电平有效2)TxEMPTY(Transmitter Empty):发送器空,高电平有效):发送器空,高电平有效3)TxD:发送数据线:发送数据线4)TxC:发送器输入时钟:发送器输入时钟2.接收器接收器1)RxD:接收数据线:接收数据线2)RxRDY:接收器准备好:接收器准备好3)SYNDET:同步检测:同步检测4)RxC:接收器输入时钟:接收器输入时钟3.与调制器的接

41、口接号与调制器的接口接号1)DTR:数据终端准备好:数据终端准备好2)RTS:请求发送:请求发送3)DSR:数据装置准备好:数据装置准备好4)CTS:清除传送:清除传送8251A的编程的编程n8251A的编程模型(的编程模型(P312, 图图7-52)n8251A的读写操作的读写操作8251A的工作过程的工作过程(P315,图图7-56)(1 1)方式命令字)方式命令字 (2 2)操作命令字)操作命令字( (用于控制发用于控制发/ /收,数据传送方向收,数据传送方向) )(3 3)状态寄存器格式)状态寄存器格式例:若要查询例:若要查询8251A8251A接收器是否准备好,可用下接收器是否准备好

42、,可用下列程序实现:列程序实现: MOV DX,3F9H ;状态口;状态口NEXT: IN AL,DX ;读状态口;读状态口 AND AL,02H ;查询;查询D D1 1=1=1? JZNEXT;未准备好,转;未准备好,转NEXTNEXT等待等待 MOV DX,3F8H ;数据口地址送;数据口地址送DXDX IN AL,DX 8251A应用举例应用举例1.异步方式下初始化程序例例:设设8251A8251A工工作作于于异异步步方方式式,波波特特率率系系数数为为1616,具具有有7 7位位数数据据位位,1 1 位位停停止止位位,偶偶校校验验,发发送送、接接收收允允许许,设设端端口口地地址址为为3

43、F8H3F8H和和3F9H3F9H,试编程初始化。,试编程初始化。分分析析:根根据据题题目目要要求求,可可以以确确定定方方式式命命令令字字为为:01111010B01111010B, 即即 7AH7AH。 而而 操操 作作 命命 令令 字字 为为00110111B00110111B,即,即37H37H初始化程序如下:初始化程序如下:MOV DXMOV DX,3F9H 3F9H MOV ALMOV AL,7AH7AH;送方式命令字;送方式命令字OUT DXOUT DX,ALALMOV ALMOV AL,37H37H ;设操作命令字;设操作命令字OUT DXOUT DX,ALAL2.同步方式下初始

44、化程序例例:设设8251A8251A工工作作于于同同步步方方式式,控控制制口口的的端端口口地地址址为为3F9H3F9H,采采用用双双同同步步字字符符,奇奇校校验验,7 7 位位数数据据位位,试试编程初始化。编程初始化。分析:根据题目要求,可以确定方式命令字为分析:根据题目要求,可以确定方式命令字为00011000B,即,即18H。而操作命令字为。而操作命令字为10110111B即即B7H。它使。它使8251A对同步字符进行对同步字符进行检索;同时使状态寄存器中检索;同时使状态寄存器中3个出错标志复位;此外,个出错标志复位;此外,使使8251A的发送器启动,接收器也启动;控制字还的发送器启动,接

45、收器也启动;控制字还通知通知8251A,CPU当前已经准备好进行数据传输。当前已经准备好进行数据传输。 MOV DX,3F9H ;命令端口地址给命令端口地址给DXDXMOV AL,00011000B ;方式命令字;方式命令字OUT DX,AL MOV AL,16HOUT DX,AL ;送第一个同步字符;送第一个同步字符16H16HOUT DX,AL ;送第二个同步字符;送第二个同步字符16H16HMOV AL,B7H ;设置操作命令字;设置操作命令字OUT DX,AL 3.3.两台微机之间进行双机串行通信的举例两台微机之间进行双机串行通信的举例例:通过例:通过8251A实现两台微机相互通信的实

46、现两台微机相互通信的硬件连接图如图硬件连接图如图8-25所示。利用两片所示。利用两片8251A通过标准串行接口通过标准串行接口RS-232C实现实现两台两台8086微机之间的异步串行通信。设微机之间的异步串行通信。设两台微机中两台微机中8251A的命令端口地址为均的命令端口地址为均3F9H,数据端口地址均为,数据端口地址均为3F8H。 分分析析:设设系系统统采采用用查查询询方方式式控控制制串串行行通通信信的的过程。过程。初始化程序由两部分组成:初始化程序由两部分组成:将将一一方方定定义义为为发发送送方方,发发送送方方CPUCPU查查询询到到TxRDYTxRDY有有效效时时,则则CPUCPU向向

47、8251A8251A并并行行输输出出一个待发送的字节数据;一个待发送的字节数据;将将对对方方定定义义为为接接收收方方,接接收收方方CPUCPU查查询询到到RxRDYRxRDY有有效效时时,则则从从8251A8251A输输入入一一个个已已接接收收到到的的字字节节数数据据,直直到到全全部部数数据据传传送送完完毕毕为为止。止。发送程序如下:发送程序如下:STARTSTART:MOV MOV DXDX,3F9H3F9HMOV MOV ALAL,7FH7FH;异步方式,;异步方式,8 8位数据,位数据, ;一位停止位,偶校验;一位停止位,偶校验OUT OUT DXDX,ALAL ;波特率因子为;波特率因

48、子为6464,允许,允许 ;发送;发送MOV MOV ALAL,11H11H;操作命令字;操作命令字OUTOUT DX DX,ALALMOV MOV DIDI,1000H1000H ;设置地址指针;设置地址指针MOV MOV CXCX,40H40H ;设置计数器初值;设置计数器初值L1L1: MOV MOV DX DX,3F9H3F9H ININ AL AL,DXDX AND ALAND AL,01H 01H ;查询;查询TxRDYTxRDY是否有效是否有效 JZ L1 JZ L1 ;无效则等待;无效则等待 MOV MOV DXDX,3F8H3F8H MOVMOV AL AL,DIDI ;向;

49、向8251A8251A输出一个字节数据输出一个字节数据 OUTOUT DX DX,ALAL INCINC DI DI ;修改地址指针;修改地址指针 LOOP L1 LOOP L1 ;未传送完,则继续下一个;未传送完,则继续下一个 HLT HLT接收程序如下:接收程序如下:BEGINBEGIN:MOVMOV DX DX,3F9H3F9HMOV MOV ALAL,7FH7FH ;异步方式,;异步方式,8 8位数据,位数据,1 1位停止位位停止位OUTOUT DX DX,AL AL ;偶校验,波特率因子;偶校验,波特率因子6464,允许接收,允许接收MOV MOV ALAL,14H14H ;操作命令

50、字(置;操作命令字(置ERER,RxE RxE 为为1 1) OUTOUT DX DX,AL AL MOV MOV SISI, 2000H 2000H;设置地址指针;设置地址指针MOVMOV CX CX,40H40H;设置计数器初值;设置计数器初值L2L2:MOV MOV DXDX,3F9H3F9HININ AL AL,DX DX ;读取状态字;读取状态字TESTTEST AL AL,38H 38H ;查询接收器是否有错。;查询接收器是否有错。JNZ JNZ ERR ERR ;有错则转错误处理;有错则转错误处理AND AND ALAL,02H 02H ;无误则查状态位;无误则查状态位D D1 1(RxRDYRxRDY)JZ JZ L2 L2 ;接收未准备好则等待;接收未准备好则等待MOVMOV DX DX,3F8H3F8HIN IN ALAL,DX DX ;接受准备好,则接收;接受准备好,则接收1 1个字个字;节数据;节数据MOVMOVSISI,ALALINCINC SI SI ;修改接收数据区地址;修改接收数据区地址LOOP L2LOOP L2JMP JMP L3L3ERRERR:CALL CALL ERR-OUTERR-OUT(略)(略)L3L3:MOV MOV AXAX,4C00H4C00H;已接收完,返回;已接收完,返回DOSDOSINTINT21H21H

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号