版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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个同步字个同步字符作为信息帧头部,但不用奇偶校验,那符作为信息帧头部,但不用奇偶校验,那么
7、, 传 输么 , 传 输 1 0 01 0 0 个 字 符 所 用 的 时 间 为个 字 符 所 用 的 时 间 为7(100+4)/12007(100+4)/12000.6067s0.6067s,这就是说,每,这就是说,每秒钟能传输的字符数可达到秒钟能传输的字符数可达到100/0.6067100/0.6067165165个。个。可见,可见,在同样的传输率下,同步传输时在同样的传输率下,同步传输时实际字符传输率要比异步传输时高实际字符传输率要比异步传输时高。 (2) 发送发送/接收时钟接收时钟发送发送/接收时钟频率与接收时钟频率与波特率之间的关系为:波特率之间的关系为:发送发送/接收时钟频率接
8、收时钟频率=n 发送发送/接收接收波特率波特率例:要求传输速率为例:要求传输速率为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-23
10、2CRS-232C接口信号只有接口信号只有9 9根引脚根引脚(P299,P299,图图7-377-37)5. RS232C接口接口nRS-232CRS-232C总线的电气规范总线的电气规范nRS-232CRS-232C标准与标准与TTL标准之间的转换标准之间的转换常用于将常用于将TTLTTL电平转换为电平转换为RS-232CRS-232C电平的芯片,除电平的芯片,除MC1488MC1488外外还有还有7518875188,7515075150等;用于将等;用于将RS-232CRS-232C电平转换为电平转换为TTLTTL电电平,除平,除MC1489MC1489外,还有外,还有751897518
11、9,7515475154等等nRS-232CRS-232C的应用的应用n使用使用MODEMMODEM连接连接n直接连接直接连接n三线连接三线连接n计算机通常使用计算机通常使用UART来实现数据的串来实现数据的串/并和并和并并/串转换串转换nUART的基本原理(的基本原理(P301,图图7-39、7-40)nUART的工作过程的工作过程n常用的错误标志常用的错误标志n奇偶校验错奇偶校验错n帧错误帧错误n溢出(丢失)错误溢出(丢失)错误6. 通用异步收发器通用异步收发器(UART)可编程异步通信接口可编程异步通信接口INS82508250的基本功能:的基本功能:n全双工、双缓冲器接收和发送全双工、
12、双缓冲器接收和发送n15种波特率,种波特率,50-9600bpsn可编程的异步通信格式可编程的异步通信格式n提供奇偶、溢出和帧校验等错误检测提供奇偶、溢出和帧校验等错误检测n片内具有优先权中断控制逻辑片内具有优先权中断控制逻辑8250的内部结构的内部结构8250芯片引脚定义与功能芯片引脚定义与功能(1)面向CPU一侧的引脚(1)n数据线数据线D7 D0 :在:在CPU与与8250之间交换信息之间交换信息n地址线地址线A0A2:寻址:寻址8250内部寄存器内部寄存器n片选线:片选线:8250设计了设计了3个片选输入信号个片选输入信号CS0、CS1、CS2*和一个片选输出信号和一个片选输出信号CS
13、OUT。3个片个片选输入都有效时,才选中选输入都有效时,才选中8250芯片,同时芯片,同时CSOUT输出高电平有效。输出高电平有效。n地址选通信号地址选通信号ADS*:当该信号低有效时,锁存:当该信号低有效时,锁存上述地址线和片选线的输入状态,保证读写期间上述地址线和片选线的输入状态,保证读写期间的地址稳定的地址稳定(1)处理器接口引脚(2)n读控制线读控制线n数据输入选通数据输入选通DISTR(高有效)和(高有效)和DISTR*(低有效)(低有效)有一个信号有效,有一个信号有效,CPU从从8250内部寄存器读出数据内部寄存器读出数据n相当于相当于I/O读信号读信号n写控制线写控制线n数据输出
14、选通数据输出选通DOSTR(高有效)和(高有效)和DOSTR*(低有(低有效)有一个有效,效)有一个有效,CPU就将数据写入就将数据写入8250内部寄存器内部寄存器n相当于相当于I/O写信号写信号n8250读写控制信号有两对,每对信号作用完全相读写控制信号有两对,每对信号作用完全相同,只不过有效电平不同而己同,只不过有效电平不同而己(1)处理器接口引脚(3)n驱动器禁止信号驱动器禁止信号DDIS:CPU从从8250读取数读取数据时,据时,DDIS引脚输出低电平,用来禁止外引脚输出低电平,用来禁止外部收发器对系统总线的驱动;其它时间,部收发器对系统总线的驱动;其它时间,DDIS为高电平为高电平n
15、主复位线主复位线MR:硬件复位信号:硬件复位信号RESETn中断请求线中断请求线INTRPT:8250有有4级共级共10个中个中断源,当任一个未被屏蔽的中断源有请求断源,当任一个未被屏蔽的中断源有请求时,时,INTRPT输出高电平向输出高电平向CPU请求中断请求中断(2)面向外设引脚信号8250数据装置准备好数据装置准备好DSR*数据终端准备好数据终端准备好DTR*发送数据发送数据SOUT接收数据接收数据SIN请求发送请求发送RTS*允许发送允许发送CTS*信号地信号地GND载波检测载波检测RLSD*振铃指示振铃指示RI*(3)时钟信号n时钟输入引脚时钟输入引脚XTAL1:8250的基准工作时
16、钟的基准工作时钟n时钟输出引脚时钟输出引脚XTAL2:基准时钟信号的输出端基准时钟信号的输出端n波特率输出引脚波特率输出引脚BAUDOUT*:基准时钟经:基准时钟经8250内部波特率发生器分频后产生发送时钟,为波特内部波特率发生器分频后产生发送时钟,为波特率率16倍倍n接收时钟引脚接收时钟引脚RCLK:接收外部提供的接收时钟接收外部提供的接收时钟信号;若采用发送时钟作为接收时钟,则只要将信号;若采用发送时钟作为接收时钟,则只要将RCLK引脚和引脚和BAUDOUT*引脚直接相连引脚直接相连(4)输出线nOUT1*和和OUT2*:n两个一般用途的输出信号两个一般用途的输出信号n由调制解调器控制寄存
17、器的由调制解调器控制寄存器的D2和和D3使其输出使其输出低电平有效信号低电平有效信号n复位使其恢复为高复位使其恢复为高8250的寄存器及编程方法的寄存器及编程方法n8250内部有内部有10个个可访问的寄存器,除数可访问的寄存器,除数寄存器是寄存器是16位的,占用两个连续的位的,占用两个连续的8位端位端口口n内部寄存器用引脚内部寄存器用引脚A0A2来寻址;同时还来寻址;同时还要利用通信线路控制寄存器的最高位,即要利用通信线路控制寄存器的最高位,即除数寄存器访问位除数寄存器访问位DLAB的的0和和1两种状态,两种状态,来区别公用来区别公用1个端口地址所访问的两个寄个端口地址所访问的两个寄存器存器8
18、250内部寄存器端口地址适配器地址适配器地址DLAB A2A1A0访问寄存器名称访问寄存器名称3F8H00 0 0接收数据寄存器(读)接收数据寄存器(读)发送保持寄存器(写)发送保持寄存器(写)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线路状态寄存器线路状态寄存
19、器3FEH 1 1 0MODEM状态寄存器状态寄存器(1) 发送保持寄存器THR(3F8H) :“写写”包含将要串行发送的并行数据包含将要串行发送的并行数据 CPU发送保持寄存器发送保持寄存器发送移位寄存器发送移位寄存器同步控制同步控制8250SOUT(1) 接收缓冲寄存器RBR (3F8H) :“读读”存放串行接收后转换成并行的数据存放串行接收后转换成并行的数据CPU接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器同步控制同步控制8250SIN(2)波特率除数寄存器BRD(3F8H,3F9H)除数寄存器保存设定的分频系数除数寄存器保存设定的分频系数BRD基准时钟频率基准时钟频率(16
20、波特率)波特率)起起 始始 位位时钟时钟(RCLK)数据线数据线(SIN)T16 T16 T8 T例:计算波特率为例:计算波特率为1200bps1200bps的波特率除的波特率除数。数。当使用当使用UARTUART的内部时钟为的内部时钟为1.8432MHz1.8432MHz时(或由外部通过时(或由外部通过XTALXTAL1 1引脚输入),引脚输入),BRD=1843200/BRD=1843200/(161612001200)=0060H=0060H(3) 通信线路控制寄存器LCR(3FBH)DLABD6 D5 D4 D3D2D1 D0寄存器选择寄存器选择0 正常值正常值1 除数寄存器除数寄存器
21、中止字符中止字符0 无作用无作用1 发送中止字发送中止字符符校验位设置校验位设置0 无校验无校验位位001 设置奇校设置奇校验验011 设置偶校验设置偶校验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位停止位,偶
22、校位停止位,偶校验,其程序段为:验,其程序段为:MOV DXMOV DX,3FBH 3FBH ;LCRLCR的地址的地址MOV ALMOV AL, 00011111B 00011111B ;LCRLCR内容数内容数;据格式参数;据格式参数 OUT DXOUT DX,ALAL(4)通信线路状态寄存器LSR(3FDH)0D6 D5 D4 D3D2D1 D0为为1,表示发送移位寄存器空;,表示发送移位寄存器空;当数据由发送保持寄存器移入当数据由发送保持寄存器移入发送移位寄存器时,该位为发送移位寄存器时,该位为0提供串行异步通信的当前状态提供串行异步通信的当前状态供供CPU读取和处理读取和处理为为1,
23、表示发送保持寄存器空,表示发送保持寄存器空,当当CPU将字符写入发送保持将字符写入发送保持寄存器后,该位为寄存器后,该位为0为为1,表示正在传输中止字符,表示正在传输中止字符为为1,表示出现帧错误,表示出现帧错误为为1,表示出现奇偶错,表示出现奇偶错为为1,表示出现溢出错,表示出现溢出错为为1,表示接收数据缓冲器收到,表示接收数据缓冲器收到一个数据,既接收数据准备好;一个数据,既接收数据准备好;当当CPU读走数据后,该位为读走数据后,该位为0为为1使使DTR*引脚为低引脚为低否则为高否则为高 (5)MODEM控制寄存器MCR(3FCH)设置设置8250与数据通信设备之间与数据通信设备之间联络应
24、答的输出信号联络应答的输出信号0 0 0LOOP OUT2OUT1RTS DTR为为1使使RTS*引脚为低引脚为低否则为高否则为高 为为1使使OUT1*引脚为低引脚为低否则为高否则为高 为为1使使OUT2*引脚为低引脚为低否则为高否则为高 为为1使使8250为循环工作方式为循环工作方式否则为正常工作方式否则为正常工作方式例:要使例:要使MCRMCR的的DTRDTR,RTSRTS有效,有效,OUTOUT1 1,OUTOUT2 2以及以及LOOPLOOP无效,则编程如下:无效,则编程如下:MOV DX,3FCH ;MCR的地址,的地址, MOV AL,00000011B ;MCR的控制字的控制字
25、OUT DX,AL例:要对例:要对82508250通过自发自收进行诊断,则程序通过自发自收进行诊断,则程序为为: :MOV DX ,3FCH ;MCR的地址的地址MOV AL,00010011B ;LOOP位置位置“1”OUT DX,AL(6)MODEM状态寄存器MSR(3FEH)n反映反映4个控制输入信号的当前状态及其变化个控制输入信号的当前状态及其变化nMSR高高4位中某位为位中某位为1,说明相应输入信号当前,说明相应输入信号当前为低有效,否则为高电平为低有效,否则为高电平nMSR低低4位中某位为位中某位为1,则说明从上次,则说明从上次CPU读取读取该状态字后,相应输入信号已发生改变,从高
26、变该状态字后,相应输入信号已发生改变,从高变低或反之低或反之nMCR低低4位任一位置位任一位置1,均产生调制解调器状态,均产生调制解调器状态中断,当中断,当CPU读取该寄存器或复位后,低读取该寄存器或复位后,低4位被位被清零清零(7)中断允许寄存器IER (3F9H)n8250设计有设计有2个中断寄存器和个中断寄存器和4级中断级中断n4级中断的优先权,是按照串行通信过程级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是固定不变的中事件的紧迫程度安排的、是固定不变的n用户可利用中断允许或禁止进行控制用户可利用中断允许或禁止进行控制n中断允许寄存器的低中断允许寄存器的低4位控制位控制82
27、50这这4级中级中断是否被允许断是否被允许n某位为某位为1,则对应的中断被允许,则对应的中断被允许n否则,被禁止否则,被禁止8. 中断识别IIR(3FAH)保存正在请求中断的优先权最高保存正在请求中断的优先权最高的中断级别编码的中断级别编码0 0 0 0 0ID1 ID0IP0 有中断有中断1 无中断无中断ID1ID0优先权优先权中断类型中断类型1 11 00 10 01234 接收线路状态接收线路状态 接收数据准备好接收数据准备好 发送保持寄存器空发送保持寄存器空 调制解调器状态调制解调器状态3. 8250应用举例写通信控制字写通信控制字D7=1写除数低写除数低8位位写通信控制字写通信控制字
28、写除数高写除数高8位位写写MODEM控制字控制字写中断允许字写中断允许字 结束结束n8250的初始化过程的初始化过程例:例:82508250端口地址为端口地址为3F8H3F8H3FFH3FFH,若,若82508250以波特率以波特率9600bps9600bps,进行异步通信,每字符进行异步通信,每字符8 8位,位,1 1位停止位,采用奇校验,允位停止位,采用奇校验,允许所有中断,试编程初始化。许所有中断,试编程初始化。解:解:MOVMOV DXDX,3FBH 3FBH ;82508250线路控制寄存器地址送线路控制寄存器地址送DXDX MOV ALMOV AL,80H80H;置置DLAB=1D
29、LAB=1,设置除数,设置除数寄存器寄存器 OUT DXOUT DX,ALALMOV DXMOV DX,3F8H 3F8H ;除数寄存器地址送;除数寄存器地址送DXDX MOV AL MOV AL,0CH0CH ;波特率为;波特率为9600bps 9600bps OUT DX OUT DX,ALAL ;送除数低;送除数低8 8位位 INC DXINC DXMOV ALMOV AL,00H00H ;送除数高;送除数高8 8位位OUT DXOUT DX,ALALMOVMOV DXDX,3FBH 3FBH ;82508250控制寄存器地址送控制寄存器地址送DXDXMOV ALMOV AL,00001
30、011B 00001011B ;8 8位数据,奇校验,位数据,奇校验,1 1位停止位位停止位OUT DXOUT DX,AL AL MOVMOV DXDX,3F9H 3F9H ;中断允许寄存器地址送;中断允许寄存器地址送DXDX MOV ALMOV AL,0FH 0FH ;设置中断允许控制字,允许所有中断;设置中断允许控制字,允许所有中断OUT DXOUT DX,AL AL MOVMOV DXDX,3FCH 3FCH ;设置;设置MODEMMODEM控制字控制字 MOV ALMOV AL,0FH0FHOUT DXOUT DX,AL AL ;OUT1OUT1* *,OUT2,OUT2* *均为均为
31、0 0 n8250查询方式发送查询方式发送初始化初始化8250读读LSRD5=1?发送一个字符发送一个字符发完?发完?结束结束YYNNn查询方式接收查询方式接收初始化初始化82508250读读LSRD0=1?接收一个字符接收一个字符收完?收完?结束结束YYNN有错?有错?NY错误处理错误处理例:两台例:两台PCPC机用机用RS-232CRS-232C串口采用零串口采用零MODEMMODEM方式实现近方式实现近距离串行通信。数据传送波特率为距离串行通信。数据传送波特率为9600bps9600bps,数据格式,数据格式为为8 8位位/ /每字符,每字符,1 1位停止位,奇校验,双机位停止位,奇校验
32、,双机82508250端口地端口地址均为址均为2F8H2F8H2FFH2FFH。试编写发送和接收程序,其功能。试编写发送和接收程序,其功能如下:如下:通信双方执行程序后,均等待键盘输入字符通信双方执行程序后,均等待键盘输入字符双方只要按下一个键,键值在本机当前光标处显示,双方只要按下一个键,键值在本机当前光标处显示,而且传送到对方,在对方当前光标处显示出来而且传送到对方,在对方当前光标处显示出来双方只要按下双方只要按下ESCESC键,则停止程序的执行,返回到键,则停止程序的执行,返回到DOSDOS状态状态通信双方如果出现通信错误,则屏幕显示通信双方如果出现通信错误,则屏幕显示“?”,并继续等待
33、键入新字符或接收新字符并继续等待键入新字符或接收新字符MOV DX,2FBH ;82508250控制寄存器地址送控制寄存器地址送DXDXMOV AL,80H ;置置DLAB=1DLAB=1,设置除数寄存器,设置除数寄存器OUT 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
34、AL,0BH ;8 8位数据,奇校验,位数据,奇校验,1 1位停止位位停止位 OUT DX,AL MOV DX,2FCH;设置;设置MODEM控制字控制字 MOV AL,03H;RTS,CTS有效有效 OUT DX,AL MOV 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 ;查发送
35、缓冲器是否空查发送缓冲器是否空JNZ FOREVER ;为空则发送字符;为空则发送字符MOV AH,01H ;读键盘缓冲器内容读键盘缓冲器内容;若有键按下,则;若有键按下,则ZF=0ZF=0,且,且AL=AL=字符码字符码INT 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 FOREVERRECE
36、IVE:MOV DX,2F8H ;接收数据;接收数据 IN AL,DX AND AL,7FH ;检查是否;检查是否ESC CMP AL,27 JNZ DISP ;不是;不是ESC,则显示,则显示 MOV AH,4CH ;是;是ESC,退出,退出 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,DXM
37、OVAL,? MOV BX,0 MOV AH,14 INT 10H JMP FOREVERn8250中断方式通信中断方式通信n中断通信方式初始化中断通信方式初始化n修改中断向量:按使用的端口COM1或COM2,接管中断0CH或中断0BH(保存原中断向量,将新的中断向量替换上去,注意程序结束时恢复原中断向量)n确定通信协议:设置波特率及数据传输格式,设置中断允许寄存器相应位的允许或禁止n开放通信中断:对8259A中断控制器的屏蔽寄存器编程(OCW1),允许中断IRQ4或IRQ3n通信中断服务程序通信中断服务程序n首先读中断识别寄存器IIR,判断中断源,然后转向对应的处理子过程(程序)。n当中断识
38、别寄存器D2D1=11时,表明接收出错中断,需要再读取线路状态寄存器,分析错误原因,再进行错误处理n可能出现多个中断源同时引发中断。因此,每处理完一种中断源后,应继续读取中断识别寄存器,检测D0是否为“0”,当D0=0时,表明还有未决中断,应该继续分析中断源并进行中断处理。n中断程序返回的条件是中断识别寄存器的D0=1。可编程串行通信接口芯片可编程串行通信接口芯片8251A8251A基本性能:基本性能:n全双工、双缓冲器全双工、双缓冲器n两种传送方式:同步和异步传送两种传送方式:同步和异步传送n同步传送:同步传送:58位位/字符,内部或外部同步,字符,内部或外部同步,可自动插人同步字符可自动插
39、人同步字符n异步传送:异步传送:58位位/字符,时钟速率为通信波字符,时钟速率为通信波特率的特率的1、16或或64倍倍n可自动产生、检测和处理终止字符,可产生可自动产生、检测和处理终止字符,可产生1、1.5或或2位的停止位位的停止位n波特率在同步方式时为波特率在同步方式时为064Kbps,异步方,异步方式时为式时为019.2Kbpsn出错检测:具有奇偶、溢出和帧错误等检测出错检测:具有奇偶、溢出和帧错误等检测电路电路8251A的内部结构:的内部结构:(1) 8251A与与CPU接口信号接口信号 1 1、片选信号片选信号 CSCS* *为低电平时,为低电平时,8251A8251A被选中被选中2
40、2、数据信号数据信号 D7D7D0D0与系统的数据总线相连与系统的数据总线相连 3 3、读写控制信号读写控制信号 RDRD* *为读信号为读信号WRWR* *为写信号为写信号C/DC/D* *为为控制控制/ /数据信号数据信号RESETRESET复位复位CLKCLK时钟时钟8251A的接口信号的接口信号(2)8251A与外部设备之间的连接信号与外部设备之间的连接信号 1.发送器发送器1)TxRDY(Transmitter Ready):发送器准备好,高电平有效):发送器准备好,高电平有效2)TxEMPTY(Transmitter Empty):发送器空,高电平有效):发送器空,高电平有效3)T
41、xD:发送数据线:发送数据线4)TxC:发送器输入时钟:发送器输入时钟2.接收器接收器1)RxD:接收数据线:接收数据线2)RxRDY:接收器准备好:接收器准备好3)SYNDET:同步检测:同步检测4)RxC:接收器输入时钟:接收器输入时钟3.与调制器的接口接号与调制器的接口接号1)DTR:数据终端准备好:数据终端准备好2)RTS:请求发送:请求发送3)DSR:数据装置准备好:数据装置准备好4)CTS:清除传送:清除传送8251A的编程的编程n8251A的编程模型(的编程模型(P312, 图图7-52)n8251A的读写操作的读写操作8251A的工作过程的工作过程(P315,图图7-56)(1
42、 1)方式命令字)方式命令字 (2 2)操作命令字)操作命令字( (用于控制发用于控制发/ /收,数据传送方向收,数据传送方向) )(3 3)状态寄存器格式)状态寄存器格式例:若要查询例:若要查询8251A8251A接收器是否准备好,可用接收器是否准备好,可用下列程序实现:下列程序实现: 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应用
43、举例应用举例1.异步方式下初始化程序例:设例:设8251A8251A工作于异步方式,波特率系数为工作于异步方式,波特率系数为1616,具有,具有7 7位数据位,位数据位,1 1 位停止位,偶校验,位停止位,偶校验,发送、接收允许,设端口地址为发送、接收允许,设端口地址为3F8H3F8H和和3F9H3F9H,试编程初始化。试编程初始化。分析:根据题目要求,可以确定方式命令字为:分析:根据题目要求,可以确定方式命令字为:01111010B01111010B,即,即7AH7AH。而操作命令字为。而操作命令字为00110111B00110111B,即,即37H37H初始化程序如下:初始化程序如下:MO
44、V DXMOV DX,3F9H 3F9H MOV ALMOV AL,7AH7AH;送方式命令字;送方式命令字OUT DXOUT DX,ALALMOV ALMOV AL,37H37H ;设操作命令字;设操作命令字OUT DXOUT DX,ALAL2.同步方式下初始化程序例:设例:设8251A8251A工作于同步方式,控制口的端口地址工作于同步方式,控制口的端口地址为为3F9H3F9H,采用双同步字符,奇校验,采用双同步字符,奇校验,7 7 位数据位,位数据位,试编程初始化。试编程初始化。分析:根据题目要求,可以确定方式命令字为分析:根据题目要求,可以确定方式命令字为00011000B,即,即18
45、H。而操作命令字为。而操作命令字为10110111B即即B7H。它使。它使8251A对同步字符进行对同步字符进行检索;同时使状态寄存器中检索;同时使状态寄存器中3个出错标志复位;此外,个出错标志复位;此外,使使8251A的发送器启动,接收器也启动;控制字还的发送器启动,接收器也启动;控制字还通知通知8251A,CPU当前已经准备好进行数据传输。当前已经准备好进行数据传输。 MOV DX,3F9H ;命令端口地址给命令端口地址给DXDXMOV AL,00011000B ;方式命令字;方式命令字OUT DX,AL MOV AL,16HOUT DX,AL ;送第一个同步字符;送第一个同步字符16H1
46、6HOUT DX,AL ;送第二个同步字符;送第二个同步字符16H16HMOV AL,B7H ;设置操作命令字;设置操作命令字OUT DX,AL 3.3.两台微机之间进行双机串行通信的举例两台微机之间进行双机串行通信的举例例:通过例:通过8251A实现两台微机相互通信的实现两台微机相互通信的硬件连接图如图硬件连接图如图8-25所示。利用两片所示。利用两片8251A通过标准串行接口通过标准串行接口RS-232C实现实现两台两台8086微机之间的异步串行通信。设微机之间的异步串行通信。设两台微机中两台微机中8251A的命令端口地址为均的命令端口地址为均3F9H,数据端口地址均为,数据端口地址均为3F8H。 分析:设系统采用查询方式控制串行通信的分析:设系统采用查询方式控制串行通信的过程。过程。初始化程序由两部分组成:初始化程序由两部分组成:将一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版高考英语一轮复习课时提能练必修5Module4Carnival含解析外研版
- 2023届新高考新教材化学人教版一轮训练-第五章第1讲 原子结构 原子核外电子排布
- 2024年清梳联生产线合作协议书
- 玉溪师范学院《湖泊沉积与全球变化》2022-2023学年第一学期期末试卷
- 玉溪师范学院《电气控制技术与PLC》2022-2023学年期末试卷
- 玉溪师范学院《编排设计》2022-2023学年第一学期期末试卷
- 2024个人的汽车抵押借款合同范本参考
- 2024个人对公司借款合同常用范本
- 盐城师范学院《信息化审计技能训练》2022-2023学年第一学期期末试卷
- 2024旅店服务合同纠纷
- 政府数据信息保密协议范本
- 2020 ACLS-PC-SA课前自我测试试题及答案
- 快速反应流程
- 架空线路冬季专项施工方案(完整版)
- 通信类工程施工安全应急预案(完整版)
- 法院诉讼保全银行保函格式
- 哈工大供热工程期末三套真题
- 工程量确认单样本(最新整理)
- (完整版)学校消毒记录表(最新整理)
- 伤口敷料种类及作用
- 北石70顶驱电气手册
评论
0/150
提交评论