好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微型计算机原理与应用第五章课件四-.ppt

70页
  • 卖家[上传人]:人***
  • 文档编号:601345616
  • 上传时间:2025-05-16
  • 文档格式:PPT
  • 文档大小:505.89KB
  • / 70 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,*,第5章-4 串行通信接口,教学重点:,,,串行通信接口基本概念,RS-232-C标准,8250的内部结构和编程,异步通信基本概念,,,第5章-4 串行通信接口教学重点:,5.1 串行通信基础,串行通信,:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式;,串行通信的优势,:用于通信的线路少,因而在远距离通信时可以极大地降低成本;,串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送;,PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送5.1 串行通信基础串行通信:将数据分解成二进制位用一条信,1. 异步通信,收发双方时钟不统一;,串行通信时的,数据,、,控制,和,状态信息,都使用,同一根信号线,传送;,收发双方必须遵守共同的,通信协议,(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题;,串行异步通信,以字符为单位进行传输,其通信协议是,起止式异步通信协议,1. 异步通信收发双方时钟不统一;,起止式异步通信协议,起始位,——每个字符开始传送的标志,起始位采用逻辑0电平,数据位,——数据位紧跟着起始位传送。

      由5~8个二进制位组成,低位先传送,校验位,——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位,——表示该字符传送结束停止位采用逻辑1电平,可选择1、1.5或2位,空闲位,——传送字符之间的逻辑1电平,表示没有进行传送,,,起止式异步通信协议起始位——每个字符开始传送的标志,起始位采,数据传输速率,比特率,数字信号的传输速率,为,单位时间内传输的二进制代码的有效位(bit)数,,单位为每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒兆比特数(Mbps)来表示波特率,数据信号对载波的调制速率,为单位时间内载波调制状态改变次数,单位为波特(Baud)波特率与比特率的关系:,比特率=波特率,,单个调制状态对应的二进制位数,数据传输速率比特率,数据传输速率,两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推;,常用的波特率:,50,70,110,150,300,600,1200,2400,9600,11200数据传输速率两相调制(单个调制状态对应1个二进制位)的比特率,例题,异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,则:,1)波特率应该是多少?,2)有效数据位传输位是多少?,3)传输效率是多少?,答,:,1)波特率是,,(7,位数据位,+1,位起始位,+1,位校验位,+1,位停止位,)×240,=2400b/s,2)有效数据位传输位是 :,7×240=1680b/s,3)传输效率是:,1680/2400=70%,,,例题答:,2. 同步通信,双方对每一位的收发时序完全一致,统一时钟;,以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束;,同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂;,串行同步通信主要应用在网络当中;,最常使用高级数据链路控制协议HDLC。

      ~,~,~,~,,,同步字符,数据,数据,数据,校验字符,,,2. 同步通信双方对每一位的收发时序完全一致,统一时钟;~,单工通信,——,只能由一方发送,,例:广播,半双工通信,——,某一时刻只能由一方发送,,例:对讲机,全双工通信,——,双方可同时传输,,例:,,3. 传输模式,,,单工通信——只能由一方发送,例:广播3. 传输模式,3. 传输模式,,发送器,,接收器,,发送器/接收器,,发送器/接收器,,发送器/接收器,,发送器/接收器,单工方式:,半双工方式:,全双工方式:,A站,B站,,,3. 传输模式发送器接收器发送器/接收器发送器/接收器发送,网络-,模拟信号,,计算机-,数字信号,;,远距离通信时需要通过普通网络传输;,数字信号,:频带宽,网络,:频带窄,要使数字信号在网络上传输,需要进行信号变换—,把数字信号承载到模拟信号上传输,,这个模拟信号称为,载波,信号调制,—把数字信号承载到载波信号上;,解调,—从载波信号中恢复出数字信号;,调制解调器,:实现调制与解调的设备4. 调制与解调,,,网络-模拟信号,计算机-数字信号;4. 调制与解调,,原因:,如果数字信号直接在公用网的传输线上传送,高次谐波的衰减会很厉害,从而使信号到了接收端后将发生严重畸变和失真。

      解决:,发送方使用,调制器,(Modulator),把要传送的,数字信号,调制转换为适合路上传输的,音频模拟信号,;接收方则使用,解调器,(Demodulator)从线路上测出这个模拟信号,并还原成数字信号4. 调制与解调,,,原因:如果数字信号直接在公用网的传输线上传送,高,调制方法:,按照调制技术的不同分为调频(FM)、调幅(AM)和调相(PM)三种,根据传输数字信号的变化规律去调整载波的频率、幅度或相位调制方法:按照调制技术的不同分为调频(FM)、调幅(AM)和,5.2 串行接口标准RS-232C,美国电子工业协会EIA制定的通用标准串行接口;,1962年公布,1969年修订;,1987年1月正式改名为EIA-232D设计目的是用于,连接调制解调器,;,现已成为数据终端设备DTE(例如计算机)与数据通信设备DCE(例如调制解调器)的标准接口;,可实现远距离通信,也可近距离连接两台微机;,属于网络层次结构中的最低层:,物理层,5.2 串行接口标准RS-232C美国电子工业协会EIA制,5.2.1 RS-232C的引脚定义,232C接口标准使用一个25针连接器;,绝大多数设备只使用其中9个信号,所以就有了,9针连接器,;,232C包括两个信道:,主信道和次信道,;,次信道为辅助串行通道提供数据控制和通道,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用。

      5.2.1 RS-232C的引脚定义232C接口标准使用一,主要引脚的功能,,,,,主要引脚的功能,RS-232C的引脚(1),TxD,:发送数据,串行数据的发送端,RxD,:接收数据,串行数据的接收端,,,RS-232C的引脚(1)TxD:发送数据,RS-232C的引脚(2),RTS,:请求发送,当,数据终端设备,准备好送出数据时,就发出有效的RTS信号,用于通知,数据通信设备,准备接收数据;,CTS,:清除发送(允许发送),当,数据通信设备,已准备好接收,数据终端设备,的传送数据时,发出CTS有效信号来响应RTS信号;,RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的,联络信号,RS-232C的引脚(2)RTS:请求发送,RS-232C的引脚(3),DTR:,数据终端准备好,通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪,DSR:,数据装置准备好,通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式,DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收,,,RS-232C的引脚(3)DTR:数据终端准备好,RS-232C的引脚(4),GND,:信号地,为所有的信号提供一个公共的参考电平;,CD,:载波检测(,DCD,),当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号;,RI,:振铃指示,当调制解调器接收到对方的拨号信号期间,该引脚信号作为铃响的指示、保持有效。

      RS-232C的引脚(4)GND:信号地,RS-232C的引脚(5),保护地,(机壳地),起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地,TxC,:发送器时钟,控制数据终端发送串行数据的时钟信号,RxC,:接收器时钟,控制数据终端接收串行数据的时钟信号,,,RS-232C的引脚(5)保护地(机壳地),5.2.2 RS-232C的连接,微机利用232C接口,连接调制解调器,,用于实现通过线路的远距离通信,微机利用232C接口,直接连接,进行短距离通信这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接,,,5.2.2 RS-232C的连接微机利用232C接口连接调,连接调制解调器,,,连接调制解调器,不使用联络信号的3线相连方式,为了交换信息,TxD和RxD应当交叉连接,程序中不必使RTS和DTR有效,也不应检测CTS和DSR是否有效,,,不使用联络信号的3线相连方式为了交换信息,TxD和RxD应当,“伪”使用联络信号的3线相连方式,RTS和CTS各自互接,DTR和DSR各自互接,表明请求传送总是允许、数据装置总准备好,,,“伪”使用联络信号的3线相连方式RTS和CTS各自互接,DT,使用联络信号的多线相连方式,通信比较可靠,所用连线较多,不如前者经济,,,使用联络信号的多线相连方式通信比较可靠,5.2.3 RS-232C的电气特性,232C接口采用EIA电平,高电平为-5V~-15V,低电平为+5V~+15V,实际常用±12V或±15V,标准TTL电平,高电平:+2.4V~+5V,低电平:0V~0.4V,,相互转换,,,5.2.3 RS-232C的电气特性232C接口采用EIA,TTL与RS-32C-C之间的电平转换,UART:,Universal Asynchronous Receiver Transmitter,,,TTL与RS-32C-C之间的电平转换UART: Unive,5.3 通用异步接收发送器8250,串行传输,需要,并行,到,串行,和,串行,到,并,行,的转换,并按照传输协议发送和接收每个字符(或数据块);,这些工作可由软件实现,也可用硬件实现;,通用异步接收发送器UART是串行异步通信的接口电路芯片;,IBM PC/XT机的UART芯片是,INS 8250,。

      5.3 通用异步接收发送器8250串行传输,需要并行到串行,5.3.1 8250的内部结构,8250实现了起止式串行异步通信协议,支持全双工通信,通信字符可选择数据位为5~8位,停止位1、1.5或2位,可进行奇偶校验,具有奇偶、帧和溢出错误检测电路,8250支持的数据传输速率为50~9600bps,,,5.3.1 8250的内部结构8250实现了起止式串行异步,5.3.1 8250的内部结构,,,5.3.1 8250的内部结构,1. 串行数据的发送,并行数据,加入起始位、,校验位、停止位,串行数据,,CPU,发送保持寄存器,,发送移位寄存器,,同步控制,,8250,S,OUT,0/1,0/1,,0/1,0/1,双缓冲寄存器结构,保证数据的连续发送,,,1. 串行数据的发送并行数据加入起始位、串行数据CPU发送,2. 起始位的检测,起始检测,确定已检测到起始位,采样数据,起 始 位,时钟,(RCLK),数据线,(S,IN,),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,T,16 T,16 T,8 T,数据接收时钟频率是数据传输频率的16倍,正确识别起始位,防止因干扰引起的误识别,,,2. 起始位的检测起始检测确定已检测到起始位采样数据起 始,3. 串行数据的接收,并行数据,检测接收错误,删除起始位、,校验位、停止位,串行数据,,CPU,接收缓冲寄存器,,接收移位寄存器,,同步控制,,8250,S,IN,0/1,0/1,,0/1,0/1,双缓冲寄存器结构,保证数据的连续接收,,,3. 串行数据的接收并行数据检测接收错误串行数据CPU接收,4. 接收错误的处理,奇偶错误PE,(Parity Error),若接收到的字符的“1”的个数不符合奇偶校验要求,帧错误FE,(Frame Error),若接收到的字符格式不符合规定(如缺少停止位),溢出错误OE,(Overrun Error),若接收移位寄存器接收到一个数据,并送至输入缓冲器时,CPU还未取走前一个数据,就会出现数据溢出,若接收缓冲器的级数多,则溢出错误的几率就少,,,4. 接收错误的处理奇偶错误PE(Parity Error,5.3.2 8250的引脚,分成连接CPU的部分和连接外设的部分;,注意:,8250,不是,Intel公司的产品,所以该芯片引脚名称与前面学习的8253、8255等Intel产品有所不同,但是引脚功能却是类似。

      5.3.2 8250的引脚分成连接CPU的部分和连接外设的,1. 处理器接口引脚(1),数据线,D0~D7,:在CPU与8250之间交换信息;,地址线,A0~A2,:寻址8250内部寄存器;,片选线,:8250设计了3个片选输入信号,CS,0,、,CS,1,、,CS,2,*,和一个片选输出信号,CS,OUT,3个片选输入都有效时,才选中8250芯片,同时CS,OUT,输出高电平有效;,地址选通信号,ADS*,:当该信号低有效时,选通上述地址线和片选线的输入状态在PC/XT机中,此信号固定接地1. 处理器接口引脚(1)数据线D0~D7:在CPU与82,1. 处理器接口引脚(2),读控制线,数据输入选通,DISTR,(高有效)和,DISTR*,(低有效)有一个信号有效,CPU从8250内部寄存器读出数据;,相当于I/O读信号;,写控制线,数据输出选通,DOSTR,(高有效)和,DOSTR*,(低有效)有一个有效,CPU就将数据写入8250内部寄存器,相当于I/O写信号;,8250读写控制信号有两对,每对信号作用完全相同,只不过有效电平不同而己1. 处理器接口引脚(2)读控制线,1. 处理器接口引脚(3),驱动器禁止信号,DDIS,:CPU从8250读取数据时,DDIS引脚输出低电平,用来禁止外部收发器对系统总线的驱动;其他时间,DDIS为高电平;,主复位线,MR,:硬件复位信号RESET;,中断请求线,INTRPT,:8250有4级共10个中断源,当任一个未被屏蔽的中断源有请求时,INTRPT输出高电平向CPU请求中断。

      1. 处理器接口引脚(3)驱动器禁止信号DDIS:CPU从,2. 时钟信号,时钟输入引脚,XTAL1,:8250的基准工作时钟,时钟输出引脚,XTAL2,:基准时钟信号的输出端,波特率输出引脚,BAUDOUT*,:基准时钟经8250内部波特率发生器分频后产生发送时钟,接收时钟引脚,RCLK,:接收外部提供的接收时钟信号;若采用发送时钟作为接收时钟,则只要将RCLK引脚和BAUDOUT*引脚直接相连,,,2. 时钟信号时钟输入引脚XTAL1:8250的基准工作时,3. 串行异步接口引脚,,8250,数据装置准备好,DSR*,数据终端准备好,DTR*,发送数据,S,OUT,接收数据,S,IN,请求发送,RTS*,允许发送,CTS*,信号地,GND,载波检测,RLSD*,振铃指示,RI*,,,3. 串行异步接口引脚数据装置准备好DSR*数据终端准备好,4. 输出线,OUT,1,*,和,OUT,2,*,:,两个一般用途的输出信号;,由调制解调器控制寄存器的D,2,和D,3,使其输出低电平有效信号;,复位使其恢复为高4. 输出线OUT1*和OUT2*:,5.3.3 8250的寄存器,8250内部有,9种,可访问的寄存器,除数寄存器是16位的,占用两个连续的8位端口;,内部寄存器用引脚A0~A2来寻址;同时还要利用通信线路控制寄存器的最高位,即除数寄存器访问位,DLAB,,来区别共用两个端口地址的不同寄存器。

      5.3.3 8250的寄存器8250内部有9种可访问的寄存,1. 接收缓冲寄存器RBR,存放串行接收后转换成并行的数据,CPU,接收缓冲寄存器,,接收移位寄存器,,同步控制,,8250,S,IN,,,1. 接收缓冲寄存器RBR存放串行接收后转换成并行的数据C,2. 发送保持寄存器THR,包含将要串行发送的并行数据,CPU,发送保持寄存器,,发送移位寄存器,,同步控制,,8250,S,OUT,,,2. 发送保持寄存器THR包含将要串行发送的并行数据 CP,3. 除数寄存器,除数寄存器保存设定的分频系数,分频系数=基准时钟频率÷(16×比特率),起 始 位,时钟,(RCLK),数据线,(SIN),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,T,16 T,16 T,8 T,,,3. 除数寄存器除数寄存器保存设定的分频系数起 始 位时钟,4. 通信线路控制寄存器LCR,DLAB,D,6,D,5,D,4,D,3,D,2,D,1,D,0,寄存器选择,0 正常值,1 除数寄存器,中止字符,0 无作用,1 发送中止字符,校验位设置,××0 无校验位,001 设置奇校验,011 设置偶校验,101 校验位为1,111 校验位为0,停止位个数,0 1位,1 1.5位(数据位为5位时),1 2位(数据位为6~8位时),,数据位个数,00 5位,01 6位,10 7位,11 8位,指定串行异步通信的字符格式,,,4. 通信线路控制寄存器LCRDLABD6 D5 D4,5. 通信线路状态寄存器LSR,0,D,6,D,5,D,4,D,3,D,2,D,1,D,0,为1,表示发送移位寄存器空;,当数据由发送保持寄存器移入,发送移位寄存器时,该位为0,提供串行异步通信的当前状态,供CPU读取和处理,为1,表示发送保持寄存器空,,当CPU将字符写入发送保持,寄存器后,该位为0,为1,表示正在传输中止字符,为1,表示出现帧错误,为1,表示出现奇偶错,为1,表示出现溢出错,为1,表示接收数据缓冲器收到,一个数据,既接收数据准备好;,当CPU读走数据后,该位为0,,,5. 通信线路状态寄存器LSR0D6 D5 D4 D3,为1使DTR*引脚为低,否则为高,6. 调制解调器控制寄存器MCR,设置8250与数据通信设备之间,联络应答的输出信号,0 0 0,LOOP,,OUT,2,OUT,1,RTS,,DTR,为1使RTS*引脚为低,否则为高,为1使OUT1*引脚为低,否则为高,为1使OUT2*引脚为低,否则为高,为1使8250为,循环工作方式,否则为正常工作方式,,,为1使DTR*引脚为低6. 调制解调器控制寄存器MCR设置,7. 调制解调器状态寄存器MSR,反映4个控制输入信号的当前状态及其变化,MSR高4位中某位为1,说明相应输入信号当前为低有效,否则为高电平,MSR低4位中某位为1,则说明从上次CPU读取该状态字后,相应输入信号已发生改变,从高变低或反之,MCR低4位任一位置1,均产生调制解调器状态中断,当CPU读取该寄存器或复位后,低4位被清零,,,7. 调制解调器状态寄存器MSR反映4个控制输入信号的当前,4级中断,接收线路状态中断,奇偶错、溢出错、帧错和中止字符,接收器数据准备好中断,发送保持寄存器空中断,调制解调器状态中断,清除发送状态改变,数据终端准备好状态改变,振铃接通变成断开,接收线路信号检测状态改变,优先权高,优先权高,优先权低,,,4级中断接收线路状态中断优先权高优先权高优先权低,8. 中断允许寄存器IER,8250设计有2个中断寄存器和4级中断,4级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是固定不变的,用户可利用中断允许或禁止进行控制,中断允许寄存器的低4位控制8250这4级中断是否被允许,某位为1,则对应的中断被允许,否则,被禁止,,,8. 中断允许寄存器IER8250设计有2个中断寄存器和4,9. 中断识别IIR,保存正在请求中断的优先权最高,的中断级别编码,0 0 0 0 0,ID,1,ID,0,IP,0 有中断,1 无中断,,ID,1,ID,0,优先权,中断类型,1 1,1 0,0 1,0 0,1,2,3,4,接收线路状态,接收数据准备好,发送保持寄存器空,调制解调器状态,,,9. 中断识别IIR保存正在请求中断的优先权最高0 0 0,5.4 异步通信适配器,IBM PC/XT机的串行异步通信适配器,以8250为核心,完成发送时的并转串和接收时的串转并以及相应的控制工作,配置了TTL电平与EIA电平转换电路等,展开异步通信适配器的,硬件电路,软件编程,,,5.4 异步通信适配器IBM PC/XT机的串行异步通信适,,RCLK,BAUDOUT,IRQ,4,IRQ,3,RESET,+5V,A,8,AEN,A,3,~A,7,A,9,IOR,IOW,A,0,~A,2,MR,XTAL1,OUT,1,OUT,2,INTRPT,DISTR,DOSTR,A,0,~A,2,,CS2,8250,LS245,D,0,~D,7,D,0,~D,7,J9,J10,J11,J12,DIR,,,,,,,,,,,1.8432MHz,CS0,CS1,ADS,DISTR,DOSTR,+5V,,5.4.1 异步通信适配器的接口电路,注意:J9~J11跨接器,和OUT2*的作用,,,RCLKIRQ4+5VA8AENIOR MROUT1DIST,5.4.2 异步通信适配器的初始化编程,对,8250,的内部控制寄存器进行编程写入,⑴,写入除数寄存器,设置传输率,⑵,写入通信线路控制寄存器,设置字符格式,⑶,写入调制解调器控制寄存器,设置工作方式,⑷,写入中断允许寄存器,设置中断允许或屏蔽位,,,5.4.2 异步通信适配器的初始化编程对8250的内部控制,设置传输率,mov al,,80h,mov dx,,3fbh,,out dx,al,;写入通信线路控制寄存器,使DLAB=1,mov ax,,96,;分频系数:1.8432MHz÷(1200×16)=96=60H,mov dx,,3f8h,,out dx,al,;写入除数寄存器低8位,mov al,,ah,,inc dx,,out dx,al,;写入除数寄存器高8位,写入除数寄存器,,,设置传输率 mov al,80h写入除数寄存器,设置字符格式,mov al,,00001010b,,mov,,dx,,3fbh,,out,,dx,al,;写入通信线路控制寄存器,;这段程序同时使DLAB=0,写入通信线路控制寄存器,,,设置字符格式 mov al,00001010b写入通信线路控,设置工作方式,设置查询通信方式,,mov al,03h,;控制OUT2*为高,DTR*和RTS*为低,,mov dx,3fch,,out dx,al ;写入调制解调器控制寄存器,设置中断通信方式,,mov al,0bh,;控制为OUT2*低,允许INTRPT产生请求,mov dx,3fch,,out,,dx,al,写入调制解调器控制寄存器,,,设置工作方式设置查询通信方式写入调制解调器控制寄存器,设置中断允许或屏蔽位,mov,,al,0 ;禁止所有中断,,mov dx,3f9h,,out,,dx,al,,;写入中断允许寄存器(此时DLAB=0),写入中断允许寄存器,,,设置中断允许或屏蔽位 mov al,0 ;禁止所有中断写入中,5.4.3 异步通信程序,程序循环读取8250的通信状态寄存器,数据传输错误就显示一个问号“?”,接收到数据就显示出来,可以发送数据就从键盘输入发送字符(用户没有输入字符就不发送),如果按下ESC键返回DOS,,,5.4.3 异步通信程序程序循环读取8250的通信状态寄存,查询通信线路状态,statue,: mov dx,,2fdh,;读通信线路状态寄存器,,in al,dx,,test al,1eh,;接收有错误否?,,jnz error,;有错,则转错误处理,,test al,01h,;接收到数据吗?,,jnz receive,;是,转接收处理,,test al,20h,;保持寄存器空吗?,,jz statue,;不能,循环查询,异步通信程序,,,查询通信线路状态statue: mov dx,2fdh异步通,检测键盘输入,mov ah,0bh ;检测键盘有无输入字符,int 21h,cmp al,0,jz statue ;无输入字符,循环等待,mov ah,0 ;有输入字符,读取字符,int 16h,;采用01号DOS功能调用,则有回显,cmp al,1bh,jz done ;是ESC键,程序返回DOS,异步通信程序,,,检测键盘输入 mov ah,0bh ;检测键盘有无输入字符异,发送数据,mov dx,,2f8h,;将字符输出给发送保持寄存器,,out dx,al,;串行发送数据,jmp statue ;继续查询,异步通信程序,,,发送数据 mov dx,2f8h异步通信程序,接收数据,receive: mov dx,,2f8h,;从输入缓冲寄存器读取字符,,in al,dx,,and al,7fh,;传送标准ASCII码(7个数据位),;所以仅取低7位,push ax ;保存数据,异步通信程序,,,接收数据receive: mov dx,2f8h异步通信程序,显示数据,mov dl,al ;屏幕显示该数据,mov ah,2,int 21h,pop ax ;恢复数据,cmp al,0dh ;数据是回车符吗?,jnz statue ;不是,则循环,mov dl,0ah ;是,再进行换行,mov ah,2,int 21h,jmp statue ;继续查询,异步通信程序,,,显示数据 mov dl,al ;屏幕显示该数据异步通信程序,接收错误处理,error: mov dx,,2f8h,;读出接收有误的数据,丢掉,,in al,dx,mov dl,,’,?,’,;显示问号,mov ah,2,int 21h,jmp statue ;继续查询,异步通信程序,,,接收错误处理error: mov dx,2f8h异步通信程序,5.4.4 中断通信方式的编程方法,关键,解决主程序与中断服务程序的数据传递,注意,处理好8250的4级10种中断源,简便方法,只允许接收数据准备好中断,,,5.4.4 中断通信方式的编程方法关键,中断通信方式的循环队列,,接收缓冲,寄存器,中断服务程序,主程序,读队列送UART,(保持寄存器空中断),读,UART,送队列,(接收数据准备好中断),发送处理:,向队列,输出字符,接收处理:,从队列,输入字符,接收队列,尾指针,头指针,头指针,尾指针,发送队列,UART,,,发送保持,寄存器,,,中断通信方式的循环队列接收缓冲中断服务程序主程序读队列送UA,自测试循环工作方式,8250,数据终端准备好,DTR*,数据装置准备好,DSR*,发送数据,SOUT,接收数据,SIN,请求发送,RTS*,允许发送,CTS*,输出,OUT2,载波检测,RLSD*,振铃指示,RI*,,,,输出,OUT1,,,4个控制输入信号和系统分离,并在芯片内部与4个控制输出信号相连,发送的串行数据立即在内部被接收,可用来检测8250发送和接收功能正确与否,而不必外连线,,,自测试循环工作方式 8250数据终端准备好DTR*数据装置,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.