串行通信及串行通信接口.ppt

上传人:wuy****n92 文档编号:74446669 上传时间:2023-02-26 格式:PPT 页数:57 大小:638.50KB
返回 下载 相关 举报
串行通信及串行通信接口.ppt_第1页
第1页 / 共57页
串行通信及串行通信接口.ppt_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《串行通信及串行通信接口.ppt》由会员分享,可在线阅读,更多相关《串行通信及串行通信接口.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第7章章串行通信及串行通信及接口串行通信及串行通信及接口7.1 串行通信的基本知识串行通信的基本知识 串行通信一般在两个站串行通信一般在两个站(终端和微机终端和微机)之间进行传送之间进行传送.单工(单行道,不准逆向行车)单向传输数据单工(单行道,不准逆向行车)单向传输数据 有线电视(有线电视(CATV)、广播)、广播1.串行通信的数据传输模式串行通信的数据传输模式 所谓串行通信就是使数据一位一位的进行传输所谓串行通信就是使数据一位一位的进行传输而实现的通信,串行通信具有传输线少,成本低的而实现的通信,串行通信具有传输线少,成本低的优点,适合于远距离传输,速度慢。优点,适合于远距离传输,速度慢

2、。.半双工半双工 准许数据双向传送,但是只有一根线,准许数据双向传送,但是只有一根线,必须必须 分时,分时,某一时刻只能进行发送或接收(对讲机)。某一时刻只能进行发送或接收(对讲机)。.全双工全双工 串行口之间分别有两根独立的传输发送和串行口之间分别有两根独立的传输发送和接收信号线接收信号线,可以同时进行发送和接收。可以同时进行发送和接收。串行通信在信息格式的串行通信在信息格式的 约定上可分为两种方式约定上可分为两种方式 异步通信异步通信同步通信同步通信.异步通信方式异步通信方式 特点特点:以字符以字符/字节为单位传送字节为单位传送,通信双方需约定协议通信双方需约定协议(格式格式,速率等速率等

3、)异步通信必须遵从两项规定异步通信必须遵从两项规定:a.数据的格式数据的格式 每一个数据传送时每一个数据传送时,必须加一个起必须加一个起 始位始位,后面加后面加1或或1.5或或2个停止位。个停止位。2.串行通信的方式串行通信的方式 异步通信时异步通信时,字符字符/字节是一帧一帧的传送,每帧字字节是一帧一帧的传送,每帧字符必须靠起始位来同步,在异步通信的数据传送中,符必须靠起始位来同步,在异步通信的数据传送中,传输线上允许空字符。传输线上允许空字符。b.波特率波特率(bps)波特率就是传送数据位的速率(用位波特率就是传送数据位的速率(用位/秒)表示。秒)表示。例例 数据传送速率为数据传送速率为1

4、20字符字符/秒,每帧包括秒,每帧包括10个数据位,则个数据位,则波特率为波特率为 12010=1200位位/秒秒=1200bps 常用的异步通信的波特率的值为:常用的异步通信的波特率的值为:150、300、600、1200、2400、4800、9600、14400、28800。校验位校验位 奇校验奇校验:字符加上校验位有奇数个:字符加上校验位有奇数个1;偶校验偶校验:字符加上校验位有偶数个:字符加上校验位有偶数个1。校验位产生和检查由串行通信控制器内部自动产生,校验位产生和检查由串行通信控制器内部自动产生,停止位也是由硬件自动产生的。停止位也是由硬件自动产生的。(偶数个错误不能检测偶数个错误

5、不能检测)。.同步通信方式同步通信方式 特点特点:利用同步字(利用同步字(SYN)获得双方的同步信息,数据之间无)获得双方的同步信息,数据之间无间隔符(数据流)所以传输速率较高,同步传输的数据格式:间隔符(数据流)所以传输速率较高,同步传输的数据格式:传送数据作为被除数,发送器本身产生一固定除数,前者除以传送数据作为被除数,发送器本身产生一固定除数,前者除以后者得到余数即为该后者得到余数即为该“冗余冗余”字符。当数据和冗余字符一起被传字符。当数据和冗余字符一起被传送到接收器时,接收器产生和发送器相同的除数,和数据位相除,送到接收器时,接收器产生和发送器相同的除数,和数据位相除,得到余数进行比较

6、。得到余数进行比较。3 串行通信的时钟串行通信的时钟.发送脉冲和接收脉冲发送脉冲和接收脉冲 发送方要靠发送脉冲(移位脉冲)将数据移出,经发送方要靠发送脉冲(移位脉冲)将数据移出,经TXD引脚引脚对方对方 接收方要靠接收脉冲(移位脉冲)将数据接入,经接收方要靠接收脉冲(移位脉冲)将数据接入,经RXD引脚引脚串口串口 在发送数据时,发送器用在发送数据时,发送器用发送时钟发送时钟的的下降沿下降沿将移位寄存器的数将移位寄存器的数据串行移位输出,并且对准数据位的前沿;在接收数据时,接收据串行移位输出,并且对准数据位的前沿;在接收数据时,接收器用器用接收时钟接收时钟的的上升沿上升沿将数据位移入移位寄存器,

7、对准数据位的将数据位移入移位寄存器,对准数据位的中间位置中间位置,以保障可靠的接收数据。,以保障可靠的接收数据。.检测脉冲检测脉冲 接收方需对发送方发来的数据位进行检测,以决定是接收方需对发送方发来的数据位进行检测,以决定是”0“还还是是”1“。通常检测脉冲是移位脉冲的通常检测脉冲是移位脉冲的16和和64倍(常选倍(常选16)。)。检测脉冲的上升沿采样检测脉冲的上升沿采样RxD线,在一个字符的结束或若干个线,在一个字符的结束或若干个空闲位之后,每当连续采样到空闲位之后,每当连续采样到RxD线上线上8个低电平(起始位之半)个低电平(起始位之半)后,便确认对方发送的是起始位,认为下一位送来的应是数

8、据位,后,便确认对方发送的是起始位,认为下一位送来的应是数据位,此后,便每隔此后,便每隔16个检测脉冲连续采样个检测脉冲连续采样RxD线三次,按三中取二的线三次,按三中取二的原则确定采到的数据位是原则确定采到的数据位是0还是还是1,并把采样到的数据作为输入数,并把采样到的数据作为输入数据,由移位脉冲将数据移入接收移位寄存器。据,由移位脉冲将数据移入接收移位寄存器。7.2 串行通信接口的基本结构串行通信接口的基本结构 接收移位寄存器:靠移位脉冲将数据串行传进来。接收移位寄存器:靠移位脉冲将数据串行传进来。接收脉冲发生器接收脉冲发生器:产生接收的移位脉冲产生接收的移位脉冲 (RXC)接收数据缓冲寄

9、存器:将移位寄存器中的数接收数据缓冲寄存器:将移位寄存器中的数缓冲寄存器,实缓冲寄存器,实现串并的转换过程,向现串并的转换过程,向CPU申请中断后,等待申请中断后,等待CPU取走数据取走数据发送数据缓冲寄存器:接收发送数据缓冲寄存器:接收CPU送来的并行数据送来的并行数据 发送移位寄存器:接收发送缓冲寄存器的数据,完成并串发送移位寄存器:接收发送缓冲寄存器的数据,完成并串的转换,在移位脉冲的作用下,将数据移出去。的转换,在移位脉冲的作用下,将数据移出去。发送脉冲发生器发送脉冲发生器:用来产生发送移位脉冲用来产生发送移位脉冲(TXC)工作时钟工作时钟CLK,经分频后产生,经分频后产生RXC TX

10、C状态触发器状态触发器:PE OE CE PE:奇偶校验出错状态:奇偶校验出错状态 “1”奇偶错奇偶错 OE:溢出出错标志:溢出出错标志 接收到的数未被接收到的数未被CPU取走,又接收到新数,取走,又接收到新数,前一个数就丢失,这种现象称为溢出错。前一个数就丢失,这种现象称为溢出错。CE:帧格式错标志:帧格式错标志 接收数据没有停止位接收数据没有停止位读写,中断等控制逻辑读写,中断等控制逻辑7.4 可编程串行通信接口可编程串行通信接口8250 8250是异步接收和发送控制器(是异步接收和发送控制器(universal asynchronous receiver Transmitter,UART

11、),),全全部输入输出均和部输入输出均和TTL兼容。兼容。(2)异步通信时,每帧数据可通过软件编程设置由)异步通信时,每帧数据可通过软件编程设置由5-8位组位组成,发送时自动在每帧数据中插入起始位、停止位(成,发送时自动在每帧数据中插入起始位、停止位(1、1.5、2个)和奇偶校验位,接收时则自动删除这些辅助标志位。个)和奇偶校验位,接收时则自动删除这些辅助标志位。(3)内部具有有可编程时钟电路,将外部输入的时钟进行)内部具有有可编程时钟电路,将外部输入的时钟进行165535次分频作为通信时的收次分频作为通信时的收/发时钟。发时钟。(4)具有独立的中断优先级控制和自测试功能,并提供)具有独立的中

12、断优先级控制和自测试功能,并提供Modem的全部状态。的全部状态。8250的基本性能:的基本性能:(1)支持异步串行通信工作方式。)支持异步串行通信工作方式。(5)8250,内部有,内部有10个寄存器个寄存器。8250最高波特率为最高波特率为9600bps。1).8250的内部结构和引脚的内部结构和引脚 8250由数据总线缓冲器、地址选择和控制逻辑、接收器由数据总线缓冲器、地址选择和控制逻辑、接收器/发送发送移位寄存器、移位寄存器、Modem控制逻辑和可编程寄存器等组成控制逻辑和可编程寄存器等组成。(1).数据总线缓冲器数据总线缓冲器 一个一个8位双向三态缓冲器,它是位双向三态缓冲器,它是82

13、50同微机系统数据同微机系统数据总线连接的接口。总线连接的接口。CPU通过数据总线缓冲器设置通过数据总线缓冲器设置8250的工作的工作方式,写入或读取方式,写入或读取8250发送或接收的数据,以及当前工作的发送或接收的数据,以及当前工作的状态信息。状态信息。(2).读读/写控制逻辑写控制逻辑 接收微机系统输出的控制信号,确定当前接收微机系统输出的控制信号,确定当前8250的工作状的工作状态。态。CS0、CS1和和 :片:片选选信号,信号,输输入。入。CS0和和CS1为为“1”有效(有效(5V),),为为“0”有效。有效。A2、A1和和A0:地址信号,输入。:地址信号,输入。:地址:地址选选通信

14、号,通信号,输输入,低入,低电电平有效。平有效。的上升沿的上升沿对对A1、A2、A0和和CS0、CS1、信号进行锁存,由信号进行锁存,由锁存的锁存的A1、A2、A0和和CS0、CS1、信号直接驱动内部所选择信号直接驱动内部所选择的逻辑。在的逻辑。在PC系列微机的串行适配器中该信号接地。系列微机的串行适配器中该信号接地。CSOUT:片:片选输选输出信号,出信号,输输出,高出,高电电平有效。平有效。当当CSOUT为为“1”时,表示时,表示CS0、CS1和和 信号有效,此时信号有效,此时可进行数据传输。可进行数据传输。当当DISTR为为“1”或或 为为“0”时,时,CPU可读取可读取由当前由当前A2

15、、A1和和A0所选寄存器中的数据或状态。所选寄存器中的数据或状态。,DISTR和和 :读选通信号,输入,:读选通信号,输入,DISTR为高电平为高电平有效有效 为低电平有效。为低电平有效。DOSTR和和 :写选通信号,输入,:写选通信号,输入,DOSTR为高电为高电平有效,平有效,为低电平有效。为低电平有效。当当DOSTR为为“1”或或 为为“0”时,时,CPU输出输出的数据或命令可写入到当前所选中的寄存器中。的数据或命令可写入到当前所选中的寄存器中。DDIR:驱动器禁止信号,输出,高电平有效。:驱动器禁止信号,输出,高电平有效。当当DDIR为为“0”表示表示CPU执行读执行读8250中的数据

16、;中的数据;当当DDIR为为“1”禁止禁止CPU对对8250执行收发操作。执行收发操作。MR:复位信号,输入,高电平有效。:复位信号,输入,高电平有效。当当MR为为“1”时,除收时,除收/发缓冲寄存器和波特率除数寄存发缓冲寄存器和波特率除数寄存器外,其余寄存器均被复位。器外,其余寄存器均被复位。XIN(XTAL1):外部时钟输入。):外部时钟输入。外部时钟信号通过该端输入作为外部时钟信号通过该端输入作为8250的基准时钟的基准时钟信号,在信号,在PC系列微机中输入的时钟信号频率为系列微机中输入的时钟信号频率为1.8432MHz或或3.072MHz。(3).调制解调器控制逻辑电路调制解调器控制逻

17、辑电路0和 该电该电路路输输出出信号信号 、,使,使8250可直接同可直接同Modem连接,实现微机远程通信。连接,实现微机远程通信。该该信号是信号是Modem的状的状态态信号,可通信号,可通过读过读Modem状状态态寄存器的寄存器的D4位位获获得得该该信号状信号状态态。若允。若允许许Modem状状态态中断,中断,状态的改变将产生中断。该信号有效时,状态的改变将产生中断。该信号有效时,表示表示Modem可接收可接收8250输出的数据,同时也作为输出的数据,同时也作为8250向向Modem输出输出 信号的应答信号信号的应答信号 若若该该信号有效,通知信号有效,通知Modem,8250已做好已做好

18、发发送数据的准送数据的准备备。将。将Modem控制寄存器控制寄存器D0位置位置“1”,输出有效。输出有效。:请求发送信号,输出,低电平有效。:请求发送信号,输出,低电平有效。:允许发送信号,输入,低电平有效。:允许发送信号,输入,低电平有效。若若该该信号有效,通知信号有效,通知Modem,8250已做好收已做好收/发发通信通信准准备备。将。将Modem控制寄存器控制寄存器D1位置位置“1”,输出有效。输出有效。:数据终端准备好信号,输出,低电平有效。:数据终端准备好信号,输出,低电平有效。该该信号有效表示信号有效表示Modem已准已准备备好,同好,同时时也可作也可作为为8250向向Modem输

19、输出出信号信号 的应答信号。可通过读的应答信号。可通过读Modem状态寄存器的状态寄存器的D5位检查获取该信号状态。若允许位检查获取该信号状态。若允许Modem状态中断,状态中断,状态的改变将产生中断。状态的改变将产生中断。:数据设备准备好信号,输入,低电平有效。:数据设备准备好信号,输入,低电平有效。,:用:用户户指定指定输输出信号,出信号,输输出。出。Modem控制器控制器D2位和位和D3位分位分别别置置“1”时时,和和 输输出低电平,由用户确定其功能。出低电平,由用户确定其功能。PC系列微机中系列微机中 用用于控制中断于控制中断INTRPT的输出,的输出,可作为位寄存器使用。可作为位寄存

20、器使用。该该信号有效信号有效时时,表示,表示Modem已已检测检测到数据到数据载载波,波,读读Modem状状态态寄存器寄存器D7位可知此信号。若允位可知此信号。若允许许Modem状状态态中断,中断,状态的改变将产生中断。状态的改变将产生中断。:线路信号检测信号,输入,低电平有效。:线路信号检测信号,输入,低电平有效。:输输入,振入,振铃铃信号,低信号,低电电平有效。平有效。该该信号有效表示信号有效表示Modem已接收到已接收到电话电话振振铃铃信号,信号,可通可通过读过读Modem状状态态寄存器寄存器D6位位检查获检查获取取该该信号状信号状态态。若允若允许许Modem状状态态中断,中断,状态的改

21、变将产生中断。状态的改变将产生中断。(4).发送器发送器 由发送缓冲寄存器、发送移位寄存器和发送同步控由发送缓冲寄存器、发送移位寄存器和发送同步控制器等组成。发送缓冲寄存器用于锁存制器等组成。发送缓冲寄存器用于锁存CPU输出待发送输出待发送的数据,发送数据通过发送缓冲寄存器自动进入发送移的数据,发送数据通过发送缓冲寄存器自动进入发送移位寄存器,在发送时钟控制下,自动在发送的数据中插位寄存器,在发送时钟控制下,自动在发送的数据中插入起始位、奇入起始位、奇/偶校验位和停止位,通过偶校验位和停止位,通过SOUT输出。输出。(5).接收器接收器 由接收移位寄存器、接收缓冲寄存器和接收同步控由接收移位寄

22、存器、接收缓冲寄存器和接收同步控制器等组成,接收移位寄存器在接收时钟控制下,将制器等组成,接收移位寄存器在接收时钟控制下,将从从SIN端接收到的位数据中自动删除起始位、奇端接收到的位数据中自动删除起始位、奇/偶校偶校验位和停止位后,再将串行的位数据转换为并行数据验位和停止位后,再将串行的位数据转换为并行数据通过接收缓冲寄存器存入接收缓冲寄存器中,待微机通过接收缓冲寄存器存入接收缓冲寄存器中,待微机系统通过数据总线读取。系统通过数据总线读取。RCLK输输入入时钟频时钟频率率应应是接收数据波特率的是接收数据波特率的16倍,倍,若接收若接收/发发送数据波特率相同,送数据波特率相同,该该信号可同信号可

23、同 连接。连接。RCLK:接收时钟,输入。:接收时钟,输入。(6).波特率发生控制电路波特率发生控制电路 由波特率除数寄存器(高字节、低字节锁存器)由波特率除数寄存器(高字节、低字节锁存器)和波特率发生器组成,和波特率发生器组成,8250规定收规定收/发时钟的频发时钟的频率是数据传输率的率是数据传输率的16倍,由于倍,由于8250是由外部提供是由外部提供的标准时钟,用户可根据实际数据传输的波特率要求,的标准时钟,用户可根据实际数据传输的波特率要求,采用不同的分频,其分频数值可按下式计算:采用不同的分频,其分频数值可按下式计算:当对当对8250进行初始化时,首先应根据数据传输进行初始化时,首先应

24、根据数据传输波特率的要求,将求出的波特率因子写入除数寄存器波特率的要求,将求出的波特率因子写入除数寄存器中,这时波特率发生器即可输出符合收中,这时波特率发生器即可输出符合收/发要求的时钟发要求的时钟频率频率。:波特率,:波特率,输输出。出。输输出的出的时钟频时钟频率由外接晶振和波特率分率由外接晶振和波特率分频频因子确定,因子确定,输输出的出的时钟频时钟频率率应应是是8250发发送数据波送数据波特率的特率的16倍。将倍。将 和和RCLK连接,可作为连接,可作为接收时钟。接收时钟。由中断允许寄存器、中断标识寄存器和中断控由中断允许寄存器、中断标识寄存器和中断控制逻辑组成,实现制逻辑组成,实现825

25、0的中断请求和对中断优先的中断请求和对中断优先级的管理。级的管理。(7).中断控制电路中断控制电路INTRPT:中断信号,输出,高电平有效。:中断信号,输出,高电平有效。当接收数据错(重叠错、奇偶错、帧错、间断)、当接收数据错(重叠错、奇偶错、帧错、间断)、接收缓冲器满、发送缓冲器空和接收缓冲器满、发送缓冲器空和Modem状态改变时,状态改变时,INTRPT输出为输出为“1”作为向作为向CPU申请的中断请求信号。申请的中断请求信号。中断服务结束或中断服务结束或MR信号有效后,信号有效后,INTRPT输出为输出为“0”。2).8250的寄存器组的寄存器组 8250内部有十个寄存器内部有十个寄存器

26、,通过,通过内部寄存器选择信号内部寄存器选择信号A2、A1和和A0定位。定位。(1).线路控制寄存器(线路控制寄存器(LCR)8位可读位可读/写寄存器,用于设置串行通信的帧数据格式。写寄存器,用于设置串行通信的帧数据格式。8位可读位可读/写寄存器,用于表示写寄存器,用于表示8250收收/发通信时的状态信息发通信时的状态信息。(2).线路状态寄存器(线路状态寄存器(LSR)(3).波特率除数寄存器波特率除数寄存器 16位读位读/写寄存器,当写寄存器,当8250输入时钟频率和数据传输波特率输入时钟频率和数据传输波特率确定后,可求出相应的波特率因子,并将该因子写入波特率除确定后,可求出相应的波特率因

27、子,并将该因子写入波特率除数寄存器中。注意,对波特率除数寄存器中的波特率因子的写数寄存器中。注意,对波特率除数寄存器中的波特率因子的写入必须在入必须在8250初始化时完成。初始化时完成。(4).中断允许寄存器(中断允许寄存器(IER)8位读位读/写寄存器,当线路控制寄存器的写寄存器,当线路控制寄存器的D7位为位为“0”时,时,可对中断允许寄存器执行写入操作。可对中断允许寄存器执行写入操作。8250或或NS 16x50内部中内部中断源的中断请求是否被允许,由断源的中断请求是否被允许,由D3D0位的状态确定。位的状态确定。8位只读寄存器,位只读寄存器,8250只有一个中断请求输出端只有一个中断请求

28、输出端INTRPT,因此要求中断服务程序必须通过查询中断识别寄存器确认当,因此要求中断服务程序必须通过查询中断识别寄存器确认当前中断源。前中断源。(5).中断识别寄存器(中断识别寄存器(IIR)(6).Modem控制寄存器(控制寄存器(MCR)8位读位读/写寄存器,用于设置同写寄存器,用于设置同8250连接的连接的Modem工作方式,工作方式,(7).Modem状态寄存器(状态寄存器(MSR)8位读位读/写寄存器,用于检测和记录写寄存器,用于检测和记录Modem的联络控制信号及的联络控制信号及状态变化情况,当状态变化情况,当Modem输入发生变化时,该寄存器的输入发生变化时,该寄存器的D7D4

29、随随之改变,此时之改变,此时D3D0 0也随之置也随之置“1”产生产生Modem状态中断。当状态中断。当CPU读该寄存器时,读该寄存器时,D3D0随之自动置随之自动置“0”。(8).发送缓冲寄存器(发送缓冲寄存器(THR)8位只写寄存器,是用于暂存待发送的帧数据。位只写寄存器,是用于暂存待发送的帧数据。(9).接收缓冲寄存器(接收缓冲寄存器(RBR)8位只读寄存器,是用于暂存接收的帧数据。位只读寄存器,是用于暂存接收的帧数据。3).工作模式工作模式(1).UART模式模式该模式全称为该模式全称为通用异步接收通用异步接收/发送模式发送模式。串行发送时串行发送时,待发送的帧数据先写入发送缓冲寄存器

30、,然,待发送的帧数据先写入发送缓冲寄存器,然后再进入发送移位寄存器,在发送时钟控制下,从后再进入发送移位寄存器,在发送时钟控制下,从SOUT引脚引脚输出给接收方。当发送缓冲寄存器中的数据进入发送移位寄存输出给接收方。当发送缓冲寄存器中的数据进入发送移位寄存器后,发送缓冲寄存器即为空,此时若线路状态寄存器器后,发送缓冲寄存器即为空,此时若线路状态寄存器D5位为位为“1”,即可通过,即可通过INTRPT输出中断请求信号,由中断服务程序输出中断请求信号,由中断服务程序将新的帧数据写入发送缓冲寄存器后,线路状态寄存器将新的帧数据写入发送缓冲寄存器后,线路状态寄存器D5位自位自动为动为“0”,如此循环重

31、复,直至数据发送完毕。,如此循环重复,直至数据发送完毕。串行接收时串行接收时,当,当SIN引脚在接收时钟的控制下,将接收到的引脚在接收时钟的控制下,将接收到的数据通过移位寄存器转换为并行数据送入接收缓冲寄存器时,数据通过移位寄存器转换为并行数据送入接收缓冲寄存器时,若线路状态寄存器若线路状态寄存器D0位为位为“1”,即可通过,即可通过INTRPT输出中断请输出中断请求信号,由中断服务程序将接收到的帧数据存入指定存储器单求信号,由中断服务程序将接收到的帧数据存入指定存储器单元后,线路状态寄存器元后,线路状态寄存器D0位自动为位自动为“0”,如此循环重复,直至,如此循环重复,直至数据接收完毕。数据

32、接收完毕。(2).自测试模式自测试模式 自测试模式即是自测试模式即是8250自己发送自己接收模式。如果将自己发送自己接收模式。如果将MCR寄寄存器的存器的D4置置“1”,则,则8250进入自测试模式。进入自测试模式。CS0 CS1 CS2 A2 A1 A0 DLAB COM地址 寄存器 1 1 0 0 0 0 0 3F8H 发送保持寄存器THR(写),接收缓冲寄存器RBR(读)1 1 0 0 0 0 1 3F8H 除数锁存器(低8位)DLL 1 1 0 0 0 0 1 3F9H 除数锁存器(高8位)DLH 1 1 0 0 0 1 0 3F9H 中断允许寄存器IER 1 1 0 0 1 0 3F

33、AH 中断识别寄存器IIR 1 1 0 0 1 1 3FBH 通信线路控制寄存器LCR 1 1 0 0 0 0 3FCH Model控制寄存器MCR 1 1 0 1 0 1 3FDH 通信线路状态寄存器LSR 1 1 0 1 1 0 3FEH Modem状态寄存器MSR 1 1 0 1 1 1 3FFH (无效)8250的初始化的初始化4).8250的初始化编程的初始化编程 MOVDX,3FBHMOV AL,80 ;设置波特率;设置波特率OUT DX,ALMOVDX,3F8HMOV AL,12;送波特率因子的低;送波特率因子的低8位位OUT DX,ALINC DXMOVAL,0OUT DX,A

34、L;送波特率因子的高;送波特率因子的高8位位例例1.设置设置8250的波特率为的波特率为9600的初始化程序。的初始化程序。MOV AL,0BHMOV DX,3FBHOUT DX,AL 例例2.设置设置8250通信的数据格式为通信的数据格式为8位、位、1位停位停止位、奇校验的初始化程序。止位、奇校验的初始化程序。例例3.8250查询接收查询接收/发送程序。发送程序。START:.;波特率和帧信号设置;波特率和帧信号设置 MOV DX,3FDH IN AL,DX ;读线路状态寄存器;读线路状态寄存器 TEST AL,00011110B ;检测有无数据接收错误(;检测有无数据接收错误(D4D1)J

35、NZ ERR ;有错误转;有错误转ERRTEST AL,01H ;无措,再检测接收数据是否准备好;无措,再检测接收数据是否准备好JNZ REC ;准备好,转接收程序;准备好,转接收程序TEST AL,20H ;检测发送保持寄存器是否为空;检测发送保持寄存器是否为空JZ TRA ;保持寄存器空,转发送;保持寄存器空,转发送JMP STARTERR:REC:MOV DX,3F8H IN AL,DX CMP AL,0AAH JZ RETURN ;是;是结结束字符束字符0AAH,结结束接收束接收 MOV BX,AL ;存;存储储接收的数据接收的数据 TRA:MOV DX,3F8H MOV AL,BX

36、;取;取发发送数据送数据 CMP RETURN ;是;是结结束字符束字符0AAH,结结束束发发送送 INC BX OUT DX,ALRETURN:例例4 8250允许中断或不允许中断的初始化程序允许中断或不允许中断的初始化程序。MOV AL,03H ;输出高电平禁止输出输出高电平禁止输出INTRPT中断输出中断输出MOV DX,3FCHOUT DX,ALMOV AL,0BH ;输出低电平允许输出输出低电平允许输出INTRPT中断输出中断输出MOV DX,3FCHOUT DX,ALMOV AL,1BH ;自测试,允许中断有效;自测试,允许中断有效MOV DX,3FCHOUT DX,AL5).82

37、50的应用的应用 例例5.程序设计要求:在程序设计要求:在IBM PC机上用汇编语言按查机上用汇编语言按查询方式编制一个发送与接收程序,它能把每一键入的询方式编制一个发送与接收程序,它能把每一键入的ASCII字符发送出去,并显示在字符发送出去,并显示在CRT上,同时能把接收上,同时能把接收到的每一个字符也以到的每一个字符也以ASCII码形式显示在码形式显示在CRT屏幕上。屏幕上。设定数据传送速率为设定数据传送速率为9600波特,通信格式为波特,通信格式为8位位/每字符,每字符,1位停止位,奇校验。位停止位,奇校验。.MODEL SMALL.STACK 100.CODEKEYPROC FARPU

38、SH DSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVDX,3FBHMOVAL,80HOUTDX,ALMOVDX,3F8HMOVAL,12 ;波特率因子的低波特率因子的低8位位OUTDX,ALINCDXMOVAL,0 ;波特率因子的高波特率因子的高8位位OUTDX,ALMOVAL,0BH ;8位字符,位字符,1位停止位,奇校验位停止位,奇校验MOVDX,3FBHOUTDX,ALMOVAL,13HMOVDX,3FCHOUTDX,AL;循环测试;循环测试MOV DX,3F9H ;中断允许寄存器中断允许寄存器MOV AL,0OUT DX,AL ;屏蔽中断,初始化结束屏蔽中断,

39、初始化结束CHECK:MOVDX,3FDH IN AL,DX;读状态;读状态 TEST AL,1EH ;接收是否有错;接收是否有错 JNZ ERR ;有错转;有错转ERR TEST AL,1H;查接收缓冲器是否满;查接收缓冲器是否满 JNZ REV;若满转接收子程序;若满转接收子程序 TEST AL,20H;查发送缓冲器是否空;查发送缓冲器是否空 JZ CHECK;不空转;不空转CHECK TR:MOV AH,1;键入中断调用功能,读键盘;键入中断调用功能,读键盘 INT16H JZ CHECK;键盘无输入转;键盘无输入转CHECK MOVAH,0;该键值中断调用;该键值中断调用 INT16H

40、;读键盘输入值到读键盘输入值到AL中中 CMP AL,1BH ;是结束键;是结束键“ESC”吗?吗?JNZ RETURN ;是结束键;是结束键“ESC”结束结束通信,返回系统通信,返回系统 MOVDX,3F8H OUT DX,AL;将键入代码发送出去;将键入代码发送出去 JMPCHECKREV:MOVDX,3F8H INAL,DX;读入接收字符;读入接收字符 AND AL,7FH;屏蔽掉;屏蔽掉D7 PUSH AXMOV BX,0 ;前景色;前景色MOV AH,14 ;显示功能调用;显示功能调用INT 10H ;显示;显示AL中的数据中的数据POP AXCMP AL,0DH;接收的是否是回车?

41、;接收的是否是回车?JNZ CHECK ;不是回车到;不是回车到“CHECK”MOV AL,0AH ;换行;换行MOV BX,0MOV AH,14INT 10HJMP CHECK ERR:MOV DX,3F8H ;接收缓冲寄存器;接收缓冲寄存器 IN AL,DX MOV AL,?;清除错误字符;清除错误字符 MOV BX,0 MOV AH,14 ;显示;显示“?”INT 10H JMP CHECKRETURN:MOV AH,4CHINT 21HKEY ENDPENDAND AL,7FH;屏蔽掉;屏蔽掉D7PUSH AXMOV BX,0 ;前景色;前景色MOV AH,14 ;显示功能调用;显示功能调用INT 10H ;显示;显示AL中的数据中的数据POP AX

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁