《数字量输入输出串行通信.ppt》由会员分享,可在线阅读,更多相关《数字量输入输出串行通信.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、串行通信接口串行通信接口教学重点教学重点l异步串行通信协议和异步串行通信协议和RS232C接口接口l8250的内部结构和编程的内部结构和编程 l异步通信编程举例异步通信编程举例串行通信基础串行通信基础l串行通信串行通信:将数据分解成二进制位用:将数据分解成二进制位用一条信号线一条信号线,一位一位,一位一位顺序传送顺序传送的方式的方式l串行通信的串行通信的优势优势:用于通信的线路少,因而在远距离通信时可以极大:用于通信的线路少,因而在远距离通信时可以极大地降低成本地降低成本l串行通信适合于串行通信适合于远距离数据传送远距离数据传送,也常用于,也常用于速度要求不高的近距离数速度要求不高的近距离数据
2、传送据传送lPC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送串行数据传送 RxD目目的的TxD源源 0 1 0 0 1 0 1 1 (4BH)RxDTxDGNDGND串行串行I/OI/O:逐位串行方式(先低后高)逐位串行方式(先低后高)异步通信异步通信l串行通信时的数据、控制和状态信息都使用同串行通信时的数据、控制和状态信息都使用同一一根信号线根信号线传送传送l收发双方必须遵守共同的收发双方必须遵守共同的通信协议通信协议(通信规程),(通信规程),才能解决传送速率、信息格式、位同步、字符同才能解决传送速率、信息格式
3、、位同步、字符同步、数据校验等问题步、数据校验等问题l串行异步通信以串行异步通信以字符字符为单位进行传输,其通信协为单位进行传输,其通信协议是起止式异步通信协议议是起止式异步通信协议起止式异步通信协议起止式异步通信协议起始位起始位校验位校验位 停止位停止位空闲位空闲位数据位数据位低位低位高位高位0/10/1 0/10/10/10/10/10/11 10 01 11 11 1字符字符起始位起始位每个字符开始传送的标志,起始位采用每个字符开始传送的标志,起始位采用逻辑逻辑0电平电平数据位数据位数据位紧跟着起始位传送。由数据位紧跟着起始位传送。由58个二进制位组成,个二进制位组成,低位先传送低位先传
4、送校验位校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位停止位停止位表示该字符传送结束。停止位采用表示该字符传送结束。停止位采用逻辑逻辑1电平电平,可选择,可选择1、1.5或或2位位空闲位空闲位传送字符之间的传送字符之间的逻辑逻辑1电平电平,表示没有进行传送,表示没有进行传送数据传输速率数据传输速率l数据传输速率也称数据传输速率也称比特率比特率(Bit Rate)n每秒传输的二进制位数每秒传输的二进制位数bpsn字符中每个二进制位持续的时间长度都一样,为数据字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数传输速率
5、的倒数l当进行二进制数码传输,且每位时间长度相等时,当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(比特率还等于波特率(Baud Rate)l过去,过去,串行异步通信串行异步通信的数据传输速率限制在的数据传输速率限制在50 bps到到9600 bps之间。现在,可以达到之间。现在,可以达到115200 bps或更高或更高同步通信同步通信l以一个数据块(帧)为传输单位,每个数据块附加以一个数据块(帧)为传输单位,每个数据块附加1个或个或2个同步字符,最后以校验字符结束个同步字符,最后以校验字符结束l同步通信的数据传输效率和传输速率较高,但硬件同步通信的数据传输效率和传输速率较高,
6、但硬件电路比较复杂电路比较复杂l串行同步通信主要应用在网络当中串行同步通信主要应用在网络当中l最常使用高级数据链路控制协议最常使用高级数据链路控制协议HDLC同步字符同步字符数据数据数据数据数据数据校验字符校验字符传输制式传输制式全双工全双工站站A站站B站站A站站B站站A站站B半双工半双工单工单工调制解调器调制解调器l调制(调制(Modulating)n把数字信号转换为电话线路传送的模拟信号把数字信号转换为电话线路传送的模拟信号l解调(解调(Demodulating)n将电话线路的模拟信号转换为数字信号将电话线路的模拟信号转换为数字信号l调制解调器调制解调器MODEMn具有调制和解调功能的器件
7、合制的一个装置具有调制和解调功能的器件合制的一个装置串行接口标准串行接口标准RS-232-Cl美国电子工业协会美国电子工业协会EIA制定的通用标准串制定的通用标准串行接口行接口n1962年公布,年公布,1969年修订年修订n1987年年1月正式改名为月正式改名为EIA-232DlRS-232-C标准对下述两个方面作了规定:标准对下述两个方面作了规定:1、信号电平标准、信号电平标准2、控制信号的定义、控制信号的定义RS-232-C的电气特性的电气特性lRS-232C规定的信号电平标准规定的信号电平标准n逻辑逻辑”1”为为-3V-15Vn逻辑逻辑”0”为为+3V+15Vn实际常用实际常用12Vn标
8、准标准TTL电平(输出)电平(输出)n逻逻辑辑”1”:2.4V5Vn逻辑逻辑”0”:0V0.4V相互转换相互转换MC1489长线接收器长线接收器(RS232=TTL)Quad line receiversTTL电平电平RS232电平电平+5VMC1488 长线驱动器长线驱动器(TTL=RS232)Quad Line Driver(+12V/-12V)+12V-12VTTL电平电平RS232电平电平长线收发器长线收发器TranceiverICL232MAX232SN75176:RS485/422 单单5V电源电源TTLRS232RS-232-C的信号定义的信号定义l232C接口标准使用一个接口标
9、准使用一个25针针连接器连接器(DB25)l绝大多数设备只使用其中绝大多数设备只使用其中9个信号个信号,所以就,所以就有了有了9针连接器针连接器(DB9)RS-232-C的主要信号定义(的主要信号定义(1)lTxD:发送数据发送数据n串行数据的发送端串行数据的发送端lRxD:接收数据接收数据n串行数据的接收端串行数据的接收端RS-232-C的主要信号定义(的主要信号定义(2)lRTS:请求发送(出)请求发送(出)n当数据终端设备准备好送出数据时,就发出有效当数据终端设备准备好送出数据时,就发出有效的的RTS信号,用信号,用于通知数据通信设备准备接收数据于通知数据通信设备准备接收数据lCTS:清
10、除发送(允许发送)(入)清除发送(允许发送)(入)n当数据通信设备已准备好接收数据终端设备的传送数据时,发出当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来有效信号来响应响应RTS信号信号 RTS和和CTS是数据终端设备与数据通信设备间一对用于数据发送的是数据终端设备与数据通信设备间一对用于数据发送的联络信号联络信号lDTR:数据终端准备好(出)数据终端准备好(出)lDSR:数据装置准备好(入)数据装置准备好(入)DTR和和DSR也可用做数据终端设备与数据通信设备间的联络信号,例也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收如应答数据接收RS-232-
11、C的主要信号定义(的主要信号定义(3)lGND:信号地信号地n为所有的信号提供一个为所有的信号提供一个公共的参考电平公共的参考电平lDCD:载波信号检测(入)载波信号检测(入)n当本地调制解调器接收到来自对方的载波信号时,该引脚向数据当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号终端设备提供有效信号lRI:振铃指示(入)振铃指示(入)n当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效铃响的指示、保持有效l保护地保护地(机壳地)(机壳地)n起屏蔽保护作用的接地端,一般应参照设备的使用
12、规定,连接到起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地设备的外壳或大地lTxC:发送器时钟发送器时钟n控制数据终端发送串行数据的时钟信号控制数据终端发送串行数据的时钟信号lRxC:接收器时钟接收器时钟n控制数据终端接收串行数据的时钟信号控制数据终端接收串行数据的时钟信号RS-232C的连接的连接l微机利用微机利用232C接口连接调制解调器,用于接口连接调制解调器,用于实现实现通过电话线路通过电话线路的的远距离通信远距离通信l微机利用微机利用232C接口直接连接进行接口直接连接进行短距离通短距离通信信。这种连接不使用调制解调器,所以被。这种连接不使用调制解调器,所以
13、被称为零调制解调器(称为零调制解调器(Null Modem)连接连接连接调制解调器连接调制解调器电话线电话线MODEM微机微机(DB25)(DB25)2345678202223456782022MODEM23456782022数据装置准备好数据装置准备好DSRDSR数据终端准备好数据终端准备好DTRDTR发送数据发送数据TxDTxD接收数据接收数据RxDRxD请求发送请求发送RTSRTS允许发送允许发送CTSCTS信号地信号地GNDGND载波检测载波检测DCDDCD振铃指示振铃指示RIRI微机微机23456782022不使用联络信号的不使用联络信号的3线相连方式线相连方式微机微机TxDRxDG
14、ND微机微机为了交换信息,为了交换信息,TxD和和RxD应当应当交叉连接交叉连接程序中不必使程序中不必使RTS和和DTR有效,也不检测有效,也不检测CTS和和DSR是否有效是否有效“伪伪”使用联络信号的使用联络信号的3线相连方式线相连方式RTS和和CTS各自互接各自互接,DTR和和DSR各自互接各自互接表明请求传送总是允许、数据装置总准备好表明请求传送总是允许、数据装置总准备好微机微机DSRDTRTxDRxDRTSCTSGND微机微机使用联络信号的多线相连方式使用联络信号的多线相连方式通信比较通信比较可靠可靠,所用,所用连线较多连线较多,不如前者经济,不如前者经济微机微机DSRDTRTxDRx
15、DRTSCTSGND微机微机异步串行通信控制器接口芯片异步串行通信控制器接口芯片Ins8250l1M10M时钟频率时钟频率lPC/XT机机:外接外接1.8432MHZ8250的内部结构的内部结构l8250实现了起止式串行异步通信协议,支实现了起止式串行异步通信协议,支持持全双工通信全双工通信n通信字符可选择通信字符可选择数据位数据位为为58位位n停止位停止位1、1.5或或2位位n可进行可进行奇偶校验奇偶校验n具有奇偶、帧和溢出具有奇偶、帧和溢出错误检测电路错误检测电路Ins8250内部结构内部结构数数据据总总线线缓缓冲冲寻寻址址及及控控制制逻逻辑辑CS0CS1CS2A2A1A0/ADSDIST
16、R/DISTRDOSTR/DOSTRDDISMRD0D7内内部部数数据据总总线线发送保持寄存器发送保持寄存器接收缓冲寄存器接收缓冲寄存器发送移位寄存器发送移位寄存器接收移位寄存器接收移位寄存器SoutSin线路控制寄存器线路控制寄存器线路状态寄存器线路状态寄存器除数寄存器高位除数寄存器高位除数寄存器低位除数寄存器低位波特率发生器波特率发生器MODEM控制寄存器控制寄存器MODEM状态寄存器状态寄存器RCLKXTAL1XTAL2/BAUDOUT控制逻辑控制逻辑/RTS/CTS/DTR/DSR/RLSD/RI中断允许寄存器中断允许寄存器中断识别寄存器中断识别寄存器控制逻辑控制逻辑/OUT1/OUT
17、2INTRPT中断中断MODEM1M10M握握手手线线UARTUART内部结构示意内部结构示意/RxC/TxC发发 送送 位位 移移 寄寄 存存 器器发发 送送 数数 据据 缓缓 冲冲 器器TxDRDA接接 收收 位位 移移 寄寄 存存 器器接接 收收 数数 据据 缓缓 冲冲 器器RxDOVRNUARTRxCTxCDATA_BUS接收时钟接收时钟FRERR发送时钟发送时钟TBE控制逻辑控制逻辑/RESET/WR/RDCS溢出错误溢出错误帧格式错误帧格式错误校验错误校验错误PE8250的引脚信号介绍的引脚信号介绍l分成分成连接连接CPU的部分的部分和和连接外设的部分连接外设的部分l注意:注意:8
18、250不是不是Intel公司的产品公司的产品,所以该,所以该芯片引脚名称与前面学习的芯片引脚名称与前面学习的8253、8255等等Intel产品有所不同,但是引脚功能却是类产品有所不同,但是引脚功能却是类似的似的1.与外设连接的信号与外设连接的信号数据装置准备好数据装置准备好/DSR数据终端准备好数据终端准备好/DTR发送数据发送数据SOUT接收数据接收数据SIN请求发送请求发送/RTS允许发送允许发送/CTS信号地信号地GND载波检测载波检测/DCD振铃指示振铃指示/RI825082502.与处理器连接的信号引脚与处理器连接的信号引脚lD0D7 数据线数据线lA0A2 地址线地址线lCS0、
19、CS1、/CS2 片选线片选线lCSOUT 片选输出信号片选输出信号l/ADS 地址选通信号地址选通信号lDISTR /DISTR 数据输入选通数据输入选通,CPU从从8250内部寄存器读出数据内部寄存器读出数据,相当于相当于I/O读信号读信号lDOSTR /DOSTR 数据输出选通,数据输出选通,CPU将数据写入将数据写入8250内部寄存器内部寄存器,相当于相当于I/O写信号写信号lMR 复位信号线复位信号线lINTRPT 中断请求信号输出:中断请求信号输出:8250有有4级级共共10个个中断源,当任一个中断源,当任一个 未被屏蔽的中断源有请求时,未被屏蔽的中断源有请求时,INTRPT输出高
20、电平向输出高电平向CPU 请求中断请求中断lXTAL1 XTAL2 时钟输入引脚和时钟输出引脚:时钟输入引脚和时钟输出引脚:l/BAUDOUT 波特率输出引脚波特率输出引脚,其频率是发送波特率的其频率是发送波特率的16倍倍lRCLK 接收时钟引脚接收时钟引脚,接收外部提供的接收时钟信号;若采用发接收外部提供的接收时钟信号;若采用发 送时钟作为接收时钟,则只要将送时钟作为接收时钟,则只要将RCLK引脚和引脚和/BAUDOUT 引脚直接相连引脚直接相连l/OUT1和和/OUT2 两个一般用途的输出信号两个一般用途的输出信号,由芯片内部调制控制寄存器的由芯片内部调制控制寄存器的 D2和和D3使其输出
21、低电平有效信号使其输出低电平有效信号,复位使其恢复为高复位使其恢复为高lDDIS 驱动器禁止信号输出驱动器禁止信号输出,CPU从从8250读取数据时,读取数据时,DDIS引引 脚输出低电平,用来禁止外部收发器对系统总线的驱脚输出低电平,用来禁止外部收发器对系统总线的驱 动;其他时间,动;其他时间,DDIS为高电平为高电平,PC/XT中未用中未用异步通信适配器接口电路介绍异步通信适配器接口电路介绍lIBM PC/XT机的机的串行异步通信串行异步通信适配器适配器n以以8250为核心为核心n完成发送时的并转串和接收时的串转并以及相完成发送时的并转串和接收时的串转并以及相应的控制工作应的控制工作n配置
22、了配置了TTL电平与电平与EIA电平转换电路等电平转换电路等异步通信适配器的部分接口电路异步通信适配器的部分接口电路RCLKRCLKBAUDOUTBAUDOUTIRQIRQ4 4IRQIRQ3 3RESETRESET+5V+5VA A8 8AENAENA A3 3A A7 7A A9 9IOR IOR IOWIOWA A0 0A A2 2MRMRXTAL1XTAL1OUTOUT1 1OUTOUT2 2INTRPTINTRPTDISTRDISTRDOSTRDOSTRA A0 0A A2 2CS2CS282508250LS245LS245D D0 0D D7 7D D0 0D D7 7J9J9J1
23、0J10J11J11J12J12DIRDIR1.8432MHz1.8432MHzCS0CS0CS1CS1ADSADSDISTRDISTRDOSTRDOSTR5V5V注意:注意:J9J12跨接器跨接器和和OUT2*的作用的作用适配器端口地址译码适配器端口地址译码:A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 I/O地址地址 1 1 1 1 1 1 1 0 0 0 3F8H 1 1 1 1 1 1 1 1 1 1 3FFH 1 0 1 1 1 1 1 0 0 0 2F8H 1 0 1 1 1 1 1 1 1 1 2FFH J12通通J10通通8250的寄存器的寄存器l8250内部有内
24、部有9种种可访问的寄存器,除数寄存可访问的寄存器,除数寄存器是器是16位的,占用两个连续的位的,占用两个连续的8位端口位端口l内部寄存器用引脚内部寄存器用引脚A0A2来寻址;同时还来寻址;同时还要利用通信线路控制寄存器的最高位,即要利用通信线路控制寄存器的最高位,即除数寄存器访问位除数寄存器访问位DLAB,来区别共用两来区别共用两个端口地址的不同寄存器(个端口地址的不同寄存器(P336表表5.10)INS8250内部寄存器地址内部寄存器地址A2 A1 A0 DLAB COM1 寄存器寄存器000 0 3F8 写发送寄存器写发送寄存器/读接收寄存器读接收寄存器000 1 3F8 除数寄存器低字节
25、除数寄存器低字节001 1 3F9 除数寄存器高字节除数寄存器高字节001 0 3F9 中断允许中断允许010 x 3FA 中断识别中断识别011 x 3FB 线路控制线路控制100 x 3FC MODEM控制控制101 x 3FD 线路状态线路状态110 x 3FE MODEM 状态状态111 x 3FF 不用不用1.接收缓冲寄存器接收缓冲寄存器RBR并行数据并行数据检测接收错误检测接收错误去除起始位、去除起始位、校验位、停止位校验位、停止位串行数据串行数据CPU接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器同步控制同步控制8250SIN0/10/1 0/10/10/10/10/1
26、0/1双缓冲寄存器结构保证数双缓冲寄存器结构保证数据的连续接收据的连续接收2.发送保持寄存器发送保持寄存器THR并行数据并行数据加入起始位、加入起始位、校验位、停止位校验位、停止位串行数据串行数据CPU发送保持寄存器发送保持寄存器发送移位寄存器发送移位寄存器同步控制同步控制8250SOUT0/10/1 0/10/10/10/10/10/1双缓冲寄存器结构保证双缓冲寄存器结构保证数据的连续发送数据的连续发送3.除数寄存器除数寄存器除数寄存器保存设定的分频系数除数寄存器保存设定的分频系数分频系数(除数)外部时钟频率分频系数(除数)外部时钟频率(16波特率)波特率)起起 始始 位位时钟时钟(RCLK
27、)数据线数据线(SIN)T16 T16 T8 T4.通信线路控制寄存器通信线路控制寄存器LCRD5 D4 D3D6 D1 D0D2DLAB指定串行异步指定串行异步通信的字符格式通信的字符格式寄存器选择寄存器选择0 正常值正常值1 除数寄存器除数寄存器中止字符中止字符0 无作用无作用1 发送中止字符发送中止字符校验位设置校验位设置0 无校验位无校验位001 设置奇校验设置奇校验011 设置偶校验设置偶校验101 校验位为校验位为1111 校验位为校验位为0停止位个数停止位个数0 1位位1 1.5位(数据位为位(数据位为5位时)位时)1 2位(数据位为位(数据位为68位时)位时)数据位个数数据位个
28、数00 5位位01 6位位10 7位位11 8位位5.通信线路状态寄存器通信线路状态寄存器LSR(P338图图5.58)D0D3D4 D5 D6 D1 D20为为1,表示发,表示发送移位寄存送移位寄存器空;当数器空;当数据由发送保据由发送保持寄存器移持寄存器移入发送移位入发送移位寄存器时,寄存器时,该位为该位为0提供串行异步通信的提供串行异步通信的当前状态供当前状态供CPU读取读取和处理和处理为为1,表,表示发送保示发送保持寄存器持寄存器空,当空,当CPU将字将字符写入发符写入发送保持寄送保持寄存器后,存器后,该位为该位为0为为1,表示表示正在正在传输传输中止中止字符字符为为1,表示表示出现出
29、现帧错帧错误误为为1,表示表示出现出现溢出溢出错错为为1,表示,表示接收数据缓接收数据缓冲器收到一冲器收到一个数据,个数据,即即接收数据准接收数据准备好;当备好;当CPU读走数读走数据后,该位据后,该位为为0为为1,表示表示出现出现奇偶奇偶错错6.调制解调器控制寄存器调制解调器控制寄存器MCR(P339图图5.59)DTROUT2LOOP RTS OUT10 0 0为为1使使/OUT2引引脚为低否脚为低否则为高则为高 为为1使使/OUT1引脚引脚为低否则为低否则为高为高 为为1使使/RTS引脚引脚为低否则为低否则为高为高 为为1使使/DTR引脚为低引脚为低否则为高否则为高 为为1使使8250为
30、为自诊断自诊断工作工作方式否则为方式否则为正常工作方正常工作方式式设置设置8250与数据通信与数据通信设备之间联络应答的设备之间联络应答的输出信号输出信号7.调制解调器状态寄存器调制解调器状态寄存器MSR(P339图图5.60)l反映反映4个控制输入信号的个控制输入信号的当前状态及其变化当前状态及其变化lMSR高高4位位中某位为中某位为1,说明相应输入信号当前为低有,说明相应输入信号当前为低有效,否则为高电平效,否则为高电平lMSR低低4位位中某位为中某位为1,则说明从上次,则说明从上次CPU读取该状态读取该状态后,相应输入信号已发生改变,从高变低或反之后,相应输入信号已发生改变,从高变低或反
31、之lMCR低低4位位任一位置任一位置1,可产生调制解调器状态中断,可产生调制解调器状态中断l当当CPU读取该状态寄存器或复位后,低读取该状态寄存器或复位后,低4位被清零位被清零RLSD RI DSR CTS RLSD RI DSR CTS8.中断允许寄存器中断允许寄存器IER 中断允许寄存器中断允许寄存器的低的低4位控制位控制8250这这4级中断是否被级中断是否被允许允许n某位为某位为1,则对应的中断被允许,则对应的中断被允许n某位为某位为0,则对应的中断被屏蔽,则对应的中断被屏蔽l8250设计有设计有2个中断寄存器个中断寄存器和和4级中断级中断l4级中断的优先权,是按照串行通信过程中事件的级
32、中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是紧迫程度安排的、是固定不变的固定不变的l用户可利用中断允许或禁止进行控制用户可利用中断允许或禁止进行控制接收数据接收数据错错MODEM状态变化状态变化0 0 0 0 发送寄存发送寄存器空器空接收数据接收数据就绪就绪D7D4D3D2D1D0 4级中断级中断l接收线路状态中断接收线路状态中断n奇偶错、溢出错、帧错奇偶错、溢出错、帧错和和中止字符中止字符l接收器数据准备好接收器数据准备好中断中断l发送保持寄存器空发送保持寄存器空中断中断l调制解调器状态中断调制解调器状态中断n清除发送清除发送状态改变状态改变n数据终端准备好数据终端准备好状态改
33、变状态改变n振铃振铃接通变成断开接通变成断开n接收线路信号检测接收线路信号检测状态改变状态改变优先权高优先权高优先权低优先权低4级级10种中断源种中断源9.中断识别寄存器中断识别寄存器IIR*保存正在请求中断的优先权最高的中断保存正在请求中断的优先权最高的中断级别编码级别编码*IRR寄存器的内容仅可以读出寄存器的内容仅可以读出*复位后复位后D0=1,其余位为其余位为0IPID1 ID00 0 0 0 00 有中断有中断1 无中断无中断 接收线路状态接收线路状态 接收数据准备好接收数据准备好 发送保持寄存器空发送保持寄存器空 调制解调器状态调制解调器状态12341 11 00 10 0中断类型中
34、断类型优先权优先权ID1ID0异步通信适配器的初始化编程异步通信适配器的初始化编程l对对8250的内部控制寄存器进行编程写入的内部控制寄存器进行编程写入 写入除数寄存器写入除数寄存器n设置设置波特率波特率 写入通信线路控制寄存器写入通信线路控制寄存器n设置设置字符格式字符格式 写入调制解调器控制寄存器写入调制解调器控制寄存器n设置设置工作方式工作方式 写入中断允许寄存器写入中断允许寄存器n设置设置中断允许或屏蔽位中断允许或屏蔽位异步通信编程举例异步通信编程举例(P340);初始化编程;初始化编程;设置波特率为;设置波特率为2400(P338表表5.11)MOV DX,3FBH ;线路控制寄存器
35、地址线路控制寄存器地址MOV AL,80HOUT DX,AL ;DLAB=1,设置写除数标志设置写除数标志MOV DX,3F9H ;高位除数寄存器;高位除数寄存器MOV AL,0OUT DX,ALMOV DX,3F8H ;低位除数寄存器;低位除数寄存器MOV AL,30HOUT DX,AL;设置数据格式;设置数据格式;数据长;数据长7位,位,1个停止位,偶校验个停止位,偶校验MOV DX,3FBH ;注意;注意DLAB=0MOV AL,00011010BOUT DX,AL;设置操作方式,不用中断设置操作方式,不用中断;/OUT2=1,/DTR=0,/RTS=0MOV DX,3FCH ;MODE
36、M控制寄存器控制寄存器MOV AL,00000011B ;设置设置/RTS、/DTR有效有效OUT DX,ALMOV DX,3F9H ;中断允许寄存器;中断允许寄存器MOV AL,0 ;屏蔽全部中断;屏蔽全部中断OUT DX,AL;查询式通信;查询式通信;发送字符在;发送字符在CL中,若收到字符,暂存于中,若收到字符,暂存于ALKEEP_TRY:MOV DX,3FDH ;读线路状态寄存器端口读线路状态寄存器端口 IN AL,DX TEST AL,00011110B ;检查出错否;检查出错否 JNZ ERROR_ROUTINE ;转出错处理;转出错处理 TEST AL,00000001B ;检查
37、收到新数否;检查收到新数否 JNZ RECEIVE ;转接收;转接收 TEST AL,00100000B ;检查可否发送数据检查可否发送数据 JZ KEEP_TRY ;重新检查;重新检查 MOV DX,3F8H MOV AL,CL ;发送数据;发送数据 OUT DX,AL JMP SHORT KEEP_TRYRECEIVE:MOV DX,3F8H ;接收数据接收数据 IN AL,DX.INS8250内部寄存器地址内部寄存器地址A2 A1 A0 DLAB COM1 寄存器寄存器000 0 3F8 写发送寄存器写发送寄存器/读接收寄存器读接收寄存器000 1 3F8 除数寄存器低字节除数寄存器低字
38、节001 1 3F9 除数寄存器高字节除数寄存器高字节001 0 3F9 中断允许中断允许010 x 3FA 中断识别中断识别011 x 3FB 线路控制线路控制100 x 3FC MODEM控制控制101 x 3FD 线路状态线路状态110 x 3FE MODEM 状态状态111 x 3FF 不用不用4.通信线路控制寄存器通信线路控制寄存器LCRD5 D4 D3D6 D1 D0D2DLAB指定串行异步指定串行异步通信的字符格式通信的字符格式寄存器选择寄存器选择0 正常值正常值1 除数寄存器除数寄存器中止字符中止字符0 无作用无作用1 发送中止字符发送中止字符校验位设置校验位设置0 无校验位无
39、校验位001 设置奇校验设置奇校验011 设置偶校验设置偶校验101 校验位为校验位为1111 校验位为校验位为0停止位个数停止位个数0 1位位1 1.5位(数据位为位(数据位为5位时)位时)1 2位(数据位为位(数据位为68位时)位时)数据位个数数据位个数00 5位位01 6位位10 7位位11 8位位6.调制解调器控制寄存器调制解调器控制寄存器MCR(P339图图5.59)DTROUT2LOOP RTS OUT10 0 0为为1使使/OUT2引引脚为低否脚为低否则为高则为高 为为1使使/OUT1引脚引脚为低否则为低否则为高为高 为为1使使/RTS引脚引脚为低否则为低否则为高为高 为为1使使
40、/DTR引脚为低引脚为低否则为高否则为高 为为1使使8250为为自诊断自诊断工作工作方式否则为方式否则为正常工作方正常工作方式式设置设置8250与数据通信与数据通信设备之间联络应答的设备之间联络应答的输出信号输出信号8.中断允许寄存器中断允许寄存器IER 中断允许寄存器中断允许寄存器的低的低4位控制位控制8250这这4级中断是否被级中断是否被允许允许n某位为某位为1,则对应的中断被允许,则对应的中断被允许n某位为某位为0,则对应的中断被屏蔽,则对应的中断被屏蔽l8250设计有设计有2个中断寄存器个中断寄存器和和4级中断级中断l4级中断的优先权,是按照串行通信过程中事件的级中断的优先权,是按照串
41、行通信过程中事件的紧迫程度安排的、是紧迫程度安排的、是固定不变的固定不变的l用户可利用中断允许或禁止进行控制用户可利用中断允许或禁止进行控制接收数据接收数据错错MODEM状态变化状态变化0 0 0 0 发送寄存发送寄存器空器空接收数据接收数据就绪就绪D7D4D3D2D1D05.通信线路状态寄存器通信线路状态寄存器LSR(P338图图5.58)D0D3D4 D5 D6 D1 D20为为1,表示发,表示发送移位寄存送移位寄存器空;当数器空;当数据由发送保据由发送保持寄存器移持寄存器移入发送移位入发送移位寄存器时,寄存器时,该位为该位为0提供串行异步通信的提供串行异步通信的当前状态供当前状态供CPU
42、读取读取和处理和处理为为1,表,表示发送保示发送保持寄存器持寄存器空,当空,当CPU将字将字符写入发符写入发送保持寄送保持寄存器后,存器后,该位为该位为0为为1,表示表示正在正在传输传输中止中止字符字符为为1,表示表示出现出现帧错帧错误误为为1,表示表示出现出现溢出溢出错错为为1,表示,表示接收数据缓接收数据缓冲器收到一冲器收到一个数据,个数据,即即接收数据准接收数据准备好;当备好;当CPU读走数读走数据后,该位据后,该位为为0为为1,表示表示出现出现奇偶奇偶错错异步通信适配器的部分接口电路异步通信适配器的部分接口电路RCLKRCLKBAUDOUTBAUDOUTIRQIRQ4 4IRQIRQ3
43、 3RESETRESET+5V+5VA A8 8AENAENA A3 3A A7 7A A9 9IOR IOR IOWIOWA A0 0A A2 2MRMRXTAL1XTAL1OUTOUT1 1OUTOUT2 2INTRPTINTRPTDISTRDISTRDOSTRDOSTRA A0 0A A2 2CS2CS282508250LS245LS245D D0 0D D7 7D D0 0D D7 7J9J9J10J10J11J11J12J12DIRDIR1.8432MHz1.8432MHzCS0CS0CS1CS1ADSADSDISTRDISTRDOSTRDOSTR5V5V注意:注意:J9J12跨接器跨接器和和OUT2*的作用的作用中断通信方式的编程注意中断通信方式的编程注意n关键关键解决主程序与中断服务程序的解决主程序与中断服务程序的数据传递数据传递n注意注意处理好处理好8250的的4级级10种中断源种中断源n简便方法简便方法例:只允许接收数据准备好中断例:只允许接收数据准备好中断