微机技术第11章8250_第1页
微机技术第11章8250_第2页
微机技术第11章8250_第3页
微机技术第11章8250_第4页
微机技术第11章8250_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、第第11 11章章 串行通信接口串行通信接口教学重点n 异步通信协议和异步通信协议和RS232C接口接口n 8250的内部结构和编程的内部结构和编程 n 异步通信程序异步通信程序11.1 串行通信基础n串行通信:将数据分解成二进制位用一条串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式信号线,一位一位顺序传送的方式n串行通信的优势:用于通信的线路少,因串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本而在远距离通信时可以极大地降低成本n串行通信适合于远距离数据传送,也常用串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送于速度要求不高的近距

2、离数据传送nPC系列机上有两个串行异步通信接口、键系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送盘、鼠标器与主机间采用串行数据传送1. 异步通信n串行通信时的数据、控制和状态信息都使串行通信时的数据、控制和状态信息都使用同一根信号线传送用同一根信号线传送n收发双方必须遵守共同的通信协议(通信收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题位同步、字符同步、数据校验等问题n串行异步通信以字符为单位进行传输,其串行异步通信以字符为单位进行传输,其通信协议是通信协议是起止式异步通信协议起

3、止式异步通信协议起止式异步通信协议起始位起始位每个字符开始传送的标志,每个字符开始传送的标志,起始位采用逻辑起始位采用逻辑0电平电平起始位起始位校验位校验位停止位停止位空闲位空闲位数据位数据位低位低位高位高位字符字符0/10/1 0/10/10/10/10/10/11 10 01 11 11 1数据位数据位数据位紧跟着起始位传送。数据位紧跟着起始位传送。由由58个二进制位组成,低位先传送个二进制位组成,低位先传送校验位校验位用于校验是否传送正确;可用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位选择奇检验、偶校验或不传送校验位停止位停止位表示该字符传送结束。停止表示该字符传送结束。停止

4、位采用逻辑位采用逻辑1电平,可选择电平,可选择1、1.5或或2位位空闲位空闲位传送字符之间的逻辑传送字符之间的逻辑1电平,电平,表示没有进行传送表示没有进行传送数据传输速率n数据传输速率也称比特率(数据传输速率也称比特率(Bit Rate)n每秒传输的二进制位数每秒传输的二进制位数bpsn字符中每个二进制位持续的时间长度都一样,为数据字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数传输速率的倒数n当进行二进制数码传输,且每位时间长度相等时,当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(比特率还等于波特率(Baud Rate)n过去,串行异步通信的数据传输速率限制在

5、过去,串行异步通信的数据传输速率限制在50 bps到到9600 bps之间。现在,可以达到之间。现在,可以达到115200 bps或更高或更高2. 同步通信n以一个数据块(帧)为传输单位,每个数据块附以一个数据块(帧)为传输单位,每个数据块附加加1个或个或2个同步字符,最后以校验字符结束个同步字符,最后以校验字符结束n同步通信的数据传输效率和传输速率较高,但硬同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂件电路比较复杂n串行同步通信主要应用在网络当中串行同步通信主要应用在网络当中n最常使用高级数据链路控制协议最常使用高级数据链路控制协议HDLC同步字符同步字符数据数据数据数据数据数据

6、校验字符校验字符3. 传输制式全双工全双工站站A站站B站站A站站B站站A站站B半双工半双工单工单工示例示例4. 调制解调器n调制(调制(Modulating)n把数字信号转换为电话线路传送的模拟信号把数字信号转换为电话线路传送的模拟信号n解调(解调(Demodulating)n将电话线路的模拟信号转换为数字信号将电话线路的模拟信号转换为数字信号n调制解调器调制解调器MODEMn具有调制和解调功能的器件合制在一个装置具有调制和解调功能的器件合制在一个装置示例示例11.2 串行接口标准RS-232Cn美国电子工业协会美国电子工业协会EIA制定的制定的通用标准串行接口通用标准串行接口n1962年公布

7、,年公布,1969年修订年修订n1987年年1月正式改名为月正式改名为EIA-232Dn设计目的是用于连接调制解调器设计目的是用于连接调制解调器n现已成为数据终端设备现已成为数据终端设备DTE(例如计算机)与数(例如计算机)与数据通信设备据通信设备DCE(例如调制解调器)的标准接口(例如调制解调器)的标准接口n可实现远距离通信,也可近距离连接两台微机可实现远距离通信,也可近距离连接两台微机n属于网络层次结构中的最低层:物理层属于网络层次结构中的最低层:物理层11.2.1 RS-232C的引脚定义n232C接口标准使用一个接口标准使用一个25针连接器针连接器n绝大多数设备只使用其中绝大多数设备只

8、使用其中9个信号,所以个信号,所以就有了就有了9针连接器针连接器n232C包括两个信道:主信道和次信道包括两个信道:主信道和次信道n次信道为辅助串行通道提供数据控制和通次信道为辅助串行通道提供数据控制和通道,但其传输速率比主信道要低得多,其道,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用他跟主信道相同,通常较少使用RS-232C的引脚(1)nTxD:发送数据发送数据n串行数据的发送端串行数据的发送端nRxD:接收数据接收数据n串行数据的接收端串行数据的接收端RS-232C的引脚(2)nRTS:请求发送:请求发送n当数据终端设备准备好送出数据时,就发出有效的当数据终端设备准备好送

9、出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据信号,用于通知数据通信设备准备接收数据nCTS:清除发送(允许发送):清除发送(允许发送)n当数据通信设备已准备好接收数据终端设备的传送数当数据通信设备已准备好接收数据终端设备的传送数据时,发出据时,发出CTS有效信号来响应有效信号来响应RTS信号信号nRTS和和CTS是数据终端设备与数据通信设备间一是数据终端设备与数据通信设备间一对用于数据发送的联络信号对用于数据发送的联络信号RS-232C的引脚(3)nDTR:数据终端准备好数据终端准备好n通常当数据终端设备一加电,该信号就有效,表明数通常当数据终端设备一加电,该信号就有效,

10、表明数据终端设备准备就绪据终端设备准备就绪nDSR:数据装置准备好数据装置准备好n通常表示数据通信设备(即数据装置)已接通电源连通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式到通信线路上,并处在数据传输方式nDTR和和DSR也可用做数据终端设备与数据通信设也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收备间的联络信号,例如应答数据接收RS-232C的引脚(4)nGND:信号地信号地n为所有的信号提供一个公共的参考电平为所有的信号提供一个公共的参考电平nCD:载波检测(载波检测(DCD)n当本地调制解调器接收到来自对方的载波信当本地调制解调器接收到

11、来自对方的载波信号时,该引脚向数据终端设备提供有效信号号时,该引脚向数据终端设备提供有效信号nRI:振铃指示振铃指示n当调制解调器接收到对方的拨号信号期间,当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效该引脚信号作为电话铃响的指示、保持有效RS-232C的引脚(5)n保护地保护地(机壳地)(机壳地)n起屏蔽保护作用的接地端,一般应参照设备起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地的使用规定,连接到设备的外壳或大地nTxC:发送器时钟:发送器时钟n控制数据终端发送串行数据的时钟信号控制数据终端发送串行数据的时钟信号nRxC:接收器时钟:

12、接收器时钟n控制数据终端接收串行数据的时钟信号控制数据终端接收串行数据的时钟信号11.2.2 RS-232C的连接n微机利用微机利用232C接口接口连接调制解调器连接调制解调器,用于,用于实现通过电话线路的远距离通信实现通过电话线路的远距离通信n微机利用微机利用232C接口接口直接连接直接连接进行短距离通进行短距离通信。这种连接不使用调制解调器,所以被信。这种连接不使用调制解调器,所以被称为零调制解调器(称为零调制解调器(Null Modem)连接)连接连接调制解调器电话线电话线MODEM微机微机2345678202223456782022MODEM23456782022数据装置准备好数据装置

13、准备好DSRDSR数据终端准备好数据终端准备好DTRDTR发送数据发送数据TxDTxD接收数据接收数据RxDRxD请求发送请求发送RTSRTS允许发送允许发送CTSCTS信号地信号地GNDGND载波检测载波检测CDCD振铃指示振铃指示RIRI微机微机23456782022不使用联络信号的3线相连方式微机微机TxDRxDGND微机微机为了交换信息,为了交换信息,TxD和和RxD应当交叉连接应当交叉连接程序中不必使程序中不必使RTS和和DTR有效有效也不应检测也不应检测CTS和和DSR是否有效是否有效 “伪”使用联络信号的3线相连方式RTS和和CTS各自互接,各自互接,DTR和和DSR各自互接各自

14、互接表明请求传送总是允许、数据装置总准备好表明请求传送总是允许、数据装置总准备好微机微机DSRDTRTxDRxDRTSCTSGND微机微机使用联络信号的多线相连方式通信比较可靠通信比较可靠所用连线较多,不如前者经济所用连线较多,不如前者经济微机微机DSRDTRTxDRxDRTSCTSGND微机微机11.2.3 RS-232C的电气特性n232C接口采用接口采用EIA电平电平n高电平为高电平为3V15Vn低电平为低电平为3V15Vn实际常用实际常用12V或或15Vn标准标准TTL电平电平n高电平:高电平:2.4V5Vn低电平:低电平:0V0.4V相互转换相互转换11.3 通用异步接收发送器825

15、0n串行传输,需要并行到串行和串行到并行串行传输,需要并行到串行和串行到并行的转换,并按照传输协议发送和接收每个的转换,并按照传输协议发送和接收每个字符(或数据块)字符(或数据块)n这些工作可由软件实现,也可用硬件实现这些工作可由软件实现,也可用硬件实现n通用异步接收发送器通用异步接收发送器UART是串行异步通是串行异步通信的接口电路芯片信的接口电路芯片nIBM PC/XT机的机的UART芯片是芯片是INS 8250n后来使用后来使用NS1655011.3.1 8250的内部结构n8250实现了起止式串行异步通信协议,支实现了起止式串行异步通信协议,支持全双工通信持全双工通信n通信字符可选择数

16、据位为通信字符可选择数据位为58位位n停止位停止位1、1.5或或2位位n可进行奇偶校验可进行奇偶校验n具有奇偶、帧和溢出错误检测电路具有奇偶、帧和溢出错误检测电路n8250支持的数据传输速率为支持的数据传输速率为509600bps1. 串行数据的发送并行数据并行数据加入起始位、加入起始位、校验位、停止位校验位、停止位串行数据串行数据CPU发送保持寄存器发送保持寄存器发送移位寄存器发送移位寄存器同步控制同步控制8250SOUT0/10/1 0/10/10/10/10/10/1双缓冲寄存器结构双缓冲寄存器结构保证数据的连续发送保证数据的连续发送2. 起始位的检测起始检测起始检测确定已检测到起始位确

17、定已检测到起始位采样数据采样数据起起 始始 位位时钟时钟(RCLK)数据线数据线(SIN)T16 T16 T8 T数据接收时钟频率是数据传输频率的数据接收时钟频率是数据传输频率的16倍倍正确识别起始位,防止因干扰引起的误识别正确识别起始位,防止因干扰引起的误识别3. 串行数据的接收并行数据并行数据检测接收错误检测接收错误删除起始位、删除起始位、校验位、停止位校验位、停止位串行数据串行数据CPU接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器同步控制同步控制8250SIN0/10/1 0/10/10/10/10/10/1双缓冲寄存器结构双缓冲寄存器结构保证数据的连续接收保证数据的连续接收

18、4. 接收错误的处理n奇偶错误奇偶错误PE(Parity Error)n若接收到的字符的若接收到的字符的“1”的个数不符合奇偶校验要求的个数不符合奇偶校验要求n帧错误帧错误FE(Frame Error)n若接收到的字符格式不符合规定(如缺少停止位)若接收到的字符格式不符合规定(如缺少停止位)n溢出错误溢出错误OE(Overrun Error)n若接收移位寄存器接收到一个数据,并送至输入缓冲若接收移位寄存器接收到一个数据,并送至输入缓冲器时,器时,CPU还未取走前一个数据,就会出现数据溢出还未取走前一个数据,就会出现数据溢出n若接收缓冲器的级数多,则溢出错误的几率就少若接收缓冲器的级数多,则溢出

19、错误的几率就少11.3.2 8250的引脚n分成连接分成连接CPU的部分和连接外设的部分的部分和连接外设的部分n注意:注意:8250不是不是Intel公司的产品,所以公司的产品,所以该芯片引脚名称与前面学习的该芯片引脚名称与前面学习的8253、8255等等Intel产品有所不同,但是引脚功产品有所不同,但是引脚功能却是类似的能却是类似的1. 处理器接口引脚(1)n数据线数据线D0D7:在:在CPU与与8250之间交换信息之间交换信息n地址线地址线A0A2:寻址:寻址8250内部寄存器内部寄存器n片选线:片选线:8250设计了设计了3个片选输入信号个片选输入信号CS0、CS1、CS2*和一个片选

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

21、号n写控制线写控制线n数据输出选通数据输出选通DOSTR(高有效)和(高有效)和DOSTR*(低有(低有效)有一个有效,效)有一个有效,CPU就将数据写入就将数据写入8250内部寄存器内部寄存器n相当于相当于I/O写信号写信号n8250读写控制信号有两对,每对信号作用完全相读写控制信号有两对,每对信号作用完全相同,只不过有效电平不同而己同,只不过有效电平不同而己1. 处理器接口引脚(3)n驱动器禁止信号驱动器禁止信号DDIS:CPU从从8250读取数读取数据时,据时,DDIS引脚输出低电平,用来禁止外引脚输出低电平,用来禁止外部收发器对系统总线的驱动;其他时间,部收发器对系统总线的驱动;其他时

22、间,DDIS为高电平为高电平n主复位线主复位线MR:硬件复位信号:硬件复位信号RESETn中断请求线中断请求线INTRPT:8250有有4级共级共10个中个中断源,当任一个未被屏蔽的中断源有请求断源,当任一个未被屏蔽的中断源有请求时,时,INTRPT输出高电平向输出高电平向CPU请求中断请求中断2. 时钟信号n时钟输入引脚时钟输入引脚XTAL1:8250的基准工作时钟的基准工作时钟n时钟输出引脚时钟输出引脚XTAL2:基准时钟信号的输出端基准时钟信号的输出端n波特率输出引脚波特率输出引脚BAUDOUT*:基准时钟经:基准时钟经8250内部波特率发生器分频后产生发送时钟内部波特率发生器分频后产生

23、发送时钟n接收时钟引脚接收时钟引脚RCLK:接收外部提供的接收时钟接收外部提供的接收时钟信号;若采用发送时钟作为接收时钟,则只要将信号;若采用发送时钟作为接收时钟,则只要将RCLK引脚和引脚和BAUDOUT*引脚直接相连引脚直接相连3. 串行异步接口引脚8250数据装置准备好数据装置准备好DSR*数据终端准备好数据终端准备好DTR*发送数据发送数据SOUT接收数据接收数据SIN请求发送请求发送RTS*允许发送允许发送CTS*信号地信号地GND载波检测载波检测RLSD*振铃指示振铃指示RI*4. 输出线nOUT1*和和OUT2*:n两个一般用途的输出信号两个一般用途的输出信号n由调制解调器控制寄

24、存器的由调制解调器控制寄存器的D2和和D3使其输出使其输出低电平有效信号低电平有效信号n复位使其恢复为高复位使其恢复为高11.3.3 8250的寄存器n8250内部有内部有9种可访问的寄存器,除数寄种可访问的寄存器,除数寄存器是存器是16位的,占用两个连续的位的,占用两个连续的8位端口位端口n内部寄存器用引脚内部寄存器用引脚A0A2来寻址;同时还来寻址;同时还要利用通信线路控制寄存器的最高位,即要利用通信线路控制寄存器的最高位,即除数寄存器访问位除数寄存器访问位DLAB,来区别共用两,来区别共用两个端口地址的不同寄存器(表个端口地址的不同寄存器(表11.3)1. 接收缓冲寄存器RBR存放串行接

25、收后转换成并行的数据存放串行接收后转换成并行的数据CPU接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器同步控制同步控制8250SIN2. 发送保持寄存器THR包含将要串行发送的并行数据包含将要串行发送的并行数据 CPU发送保持寄存器发送保持寄存器发送移位寄存器发送移位寄存器同步控制同步控制8250SOUT3. 除数寄存器除数寄存器保存设定的分频系数除数寄存器保存设定的分频系数分频系数基准时钟频率分频系数基准时钟频率(16比特率)比特率)起起 始始 位位时钟时钟(RCLK)数据线数据线(SIN)T16 T16 T8 T4. 通信线路控制寄存器LCRDLABD6 D5 D4 D3D2D1

26、 D0寄存器选择寄存器选择0 正常值正常值1 除数寄存器除数寄存器中止字符中止字符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位位指定串行异步通信的字符格式指定串行异步通信的字符格式5. 通信线路状态寄存器LSR0D6 D5 D4 D3D2D1 D0为为1,表示发

27、送移位寄存器空;,表示发送移位寄存器空;当数据由发送保持寄存器移入当数据由发送保持寄存器移入发送移位寄存器时,该位为发送移位寄存器时,该位为0提供串行异步通信的当前状态提供串行异步通信的当前状态供供CPU读取和处理读取和处理为为1,表示发送保持寄存器空,表示发送保持寄存器空,当当CPU将字符写入发送保持将字符写入发送保持寄存器后,该位为寄存器后,该位为0为为1,表示正在传输中止字符,表示正在传输中止字符为为1,表示出现帧错误,表示出现帧错误为为1,表示出现奇偶错,表示出现奇偶错为为1,表示出现溢出错,表示出现溢出错为为1,表示接收数据缓冲器收到,表示接收数据缓冲器收到一个数据,既接收数据准备好

28、;一个数据,既接收数据准备好;当当CPU读走数据后,该位为读走数据后,该位为0为为1使使DTR*引脚为低引脚为低否则为高否则为高 6. 调制解调器控制寄存器MCR设置设置8250与数据通信设备之间与数据通信设备之间联络应答的输出信号联络应答的输出信号0 0 0LOOP OUT2OUT1RTS DTR为为1使使RTS*引脚为低引脚为低否则为高否则为高 为为1使使OUT1*引脚为低引脚为低否则为高否则为高 为为1使使OUT2*引脚为低引脚为低否则为高否则为高 为为1使使8250为为循环工作方式循环工作方式否则为正常工作方式否则为正常工作方式7. 调制解调器状态寄存器MSRn反映反映4个控制输入信号

29、的当前状态及其变化个控制输入信号的当前状态及其变化nMSR高高4位中某位为位中某位为1,说明相应输入信号当前,说明相应输入信号当前为低有效,否则为高电平为低有效,否则为高电平nMSR低低4位中某位为位中某位为1,则说明从上次,则说明从上次CPU读取读取该状态字后,相应输入信号已发生改变,从高变该状态字后,相应输入信号已发生改变,从高变低或反之低或反之nMCR低低4位任一位置位任一位置1,均产生调制解调器状态,均产生调制解调器状态中断,当中断,当CPU读取该寄存器或复位后,低读取该寄存器或复位后,低4位被位被清零清零4级中断n接收线路状态中断接收线路状态中断n奇偶错、溢出错、帧错和中止字符奇偶错

30、、溢出错、帧错和中止字符n接收器数据准备好中断接收器数据准备好中断n发送保持寄存器空中断发送保持寄存器空中断n调制解调器状态中断调制解调器状态中断n清除发送状态改变清除发送状态改变n数据终端准备好状态改变数据终端准备好状态改变n振铃接通变成断开振铃接通变成断开n接收线路信号检测状态改变接收线路信号检测状态改变优先权高优先权高优先权高优先权高优先权低优先权低8. 中断允许寄存器IERn8250设计有设计有2个中断寄存器和个中断寄存器和4级中断级中断n4级中断的优先权,是按照串行通信过程级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是固定不变的中事件的紧迫程度安排的、是固定不变的n用户

31、可利用中断允许或禁止进行控制用户可利用中断允许或禁止进行控制n中断允许寄存器的低中断允许寄存器的低4位控制位控制8250这这4级中级中断是否被允许断是否被允许n某位为某位为1,则对应的中断被允许,则对应的中断被允许n否则,被禁止否则,被禁止9. 中断识别IIR保存正在请求中断的优先权最高保存正在请求中断的优先权最高的中断级别编码的中断级别编码0 0 0 0 0ID1 ID0IP0 有中断有中断1 无中断无中断ID1ID0优先权优先权中断类型中断类型1 11 00 10 01234 接收线路状态接收线路状态 接收数据准备好接收数据准备好 发送保持寄存器空发送保持寄存器空 调制解调器状态调制解调器

32、状态11.4 异步通信适配器nIBM PC/XT机的串行异步通信适配器机的串行异步通信适配器n以以8250为核心为核心n完成发送时的并转串和接收时的串转并以及完成发送时的并转串和接收时的串转并以及相应的控制工作相应的控制工作n配置了配置了TTL电平与电平与EIA电平转换电路等电平转换电路等n展开异步通信适配器的展开异步通信适配器的n硬件电路硬件电路n软件编程软件编程RCLKRCLKBAUDOUTBAUDOUTIRQIRQ4 4IRQIRQ3 3RESETRESET+5V+5VA A8 8AENAENA A3 3A A7 7A A9 9IOR IOR IOWIOWA A0 0A A2 2MRMR

33、XTAL1XTAL1OUTOUT1 1OUTOUT2 2INTRPTINTRPTDISTRDISTRDOSTRDOSTRA A0 0A A2 2CS2CS282508250LS245LS245D D0 0D D7 7D D0 0D D7 7J9J9J10J10J11J11J12J12DIRDIR1.8432MHz1.8432MHzCS0CS0CS1CS1ADSADSDISTRDISTRDOSTRDOSTR5V5V11.4.1 异步通信适配器的接口电路注意:注意:J9J11跨接器跨接器和和OUT2*的作用的作用11.4.2 异步通信适配器的初始化编程n对对8250的内部控制寄存器进行编程写入的内

34、部控制寄存器进行编程写入 写入除数寄存器写入除数寄存器n设置传输率设置传输率 写入通信线路控制寄存器写入通信线路控制寄存器n设置字符格式设置字符格式 写入调制解调器控制寄存器写入调制解调器控制寄存器n设置工作方式设置工作方式 写入中断允许寄存器写入中断允许寄存器n设置中断允许或屏蔽位设置中断允许或屏蔽位设置传输率mov al,80hmov dx,3fbhout dx,al;写入通信线路控制寄存器,使写入通信线路控制寄存器,使DLAB1mov ax,96;分频系数:分频系数:1.8432MHz(120016)9660Hmov dx,3f8hout dx,al ;写入除数寄存器低写入除数寄存器低8

35、位位mov al,ah inc dxout dx,al ;写入除数寄存器高写入除数寄存器高8位位写入除数寄存器设置字符格式mov al,00001010bmov dx,3fbh out dx,al;写入通信线路控制寄存器写入通信线路控制寄存器;这段程序同时使这段程序同时使DLAB0写入通信线路控制寄存器设置工作方式n设置查询通信方式设置查询通信方式mov al,03h;控制控制OUT2*为高,为高,DTR*和和RTS*为低为低 mov dx,3fchout dx,al;写入调制解调器控制寄存器写入调制解调器控制寄存器n设置中断通信方式设置中断通信方式mov al,0bh;控制为控制为OUT2*

36、低,允许低,允许INTRPT产生请求产生请求mov dx,3fchout dx,al写入调制解调器控制寄存器设置中断允许或屏蔽位mov al,0;禁止所有中断禁止所有中断 mov dx,3f9hout dx,al;写入中断允许寄存器(此时写入中断允许寄存器(此时DLAB0)写入中断允许寄存器11.4.3 异步通信程序n程序循环读取程序循环读取8250的通信状态寄存器的通信状态寄存器n数据传输错误就显示一个问号数据传输错误就显示一个问号“?”n接收到数据就显示出来接收到数据就显示出来n可以发送数据就从键盘输入发送字符(用户可以发送数据就从键盘输入发送字符(用户没有输入字符就不发送)没有输入字符就

37、不发送)n如果按下如果按下ESC键返回键返回DOS查询通信线路状态statue:mov dx,2fdh;读通信线路状态寄存器读通信线路状态寄存器in al,dxtest al,1eh;接收有错误否接收有错误否?jnz error;有错,则转错误处理有错,则转错误处理test al,01h;接收到数据吗接收到数据吗?jnz receive;是,转接收处理是,转接收处理test al,20h;保持寄存器空吗保持寄存器空吗?jz statue;不能,循环查询不能,循环查询异步通信程序检测键盘输入mov ah,0bh;检测键盘有无输入字符检测键盘有无输入字符int 21hcmp al,0jz statue;无输入字符,循环等待无输入字符,循环等待mov ah,0;有输入字符,读取字符有输入字符,读取字符int 16h;采用采用01号号DOS功能调用,则有回显功能调用,则有回显cmp al,1bhjz done;是是ESC键,程序返回键,程序返回DOS异步通信程序发送数据mov dx,2f8h;将字符输出给发送保持寄存器将字符输出给发送保持寄存器out dx,al;串行发送数据串行发送数据jmp statue;继续查询继续查询异步通信程序接收数据receive: mov dx,2f8h;从输入缓冲寄存器读取字符从输入缓冲寄存器读取字符in al,dx

温馨提示

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

评论

0/150

提交评论