
第11讲 微机接口技术(2)-串口8251A.ppt
63页第第9 9章章 微机接口技术微机接口技术((2 2))———串行通信接口苏苏 放放frossesu@frossesu@北京邮电大学北京邮电大学 信息与通信工程学院信息与通信工程学院1一、 串行传送的基本概念2串行通信概述串行通信概述 一、一、 串行通信串行通信 n 串行通信的特点:传送线省,成本低,传送时间长串行通信的特点:传送线省,成本低,传送时间长n 串行传送适用于长距离通信系统串行传送适用于长距离通信系统n 串串行行通通信信编编码码::串串行行通通信信传传送送常常用用ASCIIASCII与与扩扩展展的的BCDBCD交交换换码码EBCDICEBCDIC进行信息传送进行信息传送EBCDICEBCDIC::Extended Binary Coded Decimal Extended Binary Coded Decimal InterchengeInterchenge Code Code3n 串行通信方式:由于串行通信信息在一个方向上传输只占用一串行通信方式:由于串行通信信息在一个方向上传输只占用一根传输线,而这根线上既传送数据,又传送联络信号,为此为区根传输线,而这根线上既传送数据,又传送联络信号,为此为区分这根线传送的信息流中,哪一部分是联络信号,哪一部分是数分这根线传送的信息流中,哪一部分是联络信号,哪一部分是数据,就必须引出串行通信的一系列约定。
据,就必须引出串行通信的一系列约定Ø在串行通信中有在串行通信中有异步通信异步通信和和同步通信同步通信两种基本串行通信方式两种基本串行通信方式 4异步通信异步通信 异异步步通通信信ASYNC(AsynchronoueASYNC(Asynchronoue Data Data Communication)Communication)以以字字符符为为单单位位进进行行传传输输,,即即异异步步传传输输方方式式,,是是非非同同步步传输方式其通信协议是起止式异步通信协议传输方式其通信协议是起止式异步通信协议异步通信的信息格式由起始位、数据位、校验位、停止异步通信的信息格式由起始位、数据位、校验位、停止位与不固定的空闲位五个部分组成位与不固定的空闲位五个部分组成起始位起始位——每个字符开始传送的标志,起始位采用逻辑每个字符开始传送的标志,起始位采用逻辑0 0电平电平数据位数据位——紧跟着起始位传送由紧跟着起始位传送由5 5~~8 8个二进制位组成,低位先传送个二进制位组成,低位先传送校验位校验位——校验是否传送正确;可选奇检验、偶校验或不传送校验位校验是否传送正确;可选奇检验、偶校验或不传送校验位停止位停止位——表示该字符传送结束。
停止位采用逻辑表示该字符传送结束停止位采用逻辑1 1电平,可选择电平,可选择1 1、、1.51.5或或2 2位位空闲位空闲位——传送字符之间的逻辑传送字符之间的逻辑1 1电平,表示没有进行传送电平,表示没有进行传送空闲空闲起始位起始位…...5 ~ 8 数据位数据位1/0 1/01/0011/0校验位校验位停止位停止位11空闲空闲起始位起始位5波特率与发送/接收时钟§波特率:单位时间内传送的二进制信号数§16倍波特率收/发时钟的采样过程波特率决定数据收发的时钟:波特率决定数据收发的时钟:时钟频率=时钟频率=N N ×波特率波特率波特率系数波特率系数N N==1/16/32/641/16/32/64 6同步通信方式同步通信方式 以以一一个个固固定定长长度度的的字字符符组组成成的的数数据据块块((帧帧))为为传传输输单单位位,,每每个个数数据据块块附加附加1 1个或个或2 2个同步字符,最后以校验字符结束个同步字符,最后以校验字符结束 同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂 串串行行同同步步通通信信主主要要应应用用在在网网络络当当中中。
最最常常使使用用高高级级数数据据链链路路控控制制协协议议HDLCHDLC同步字符同步字符较验字符较验字符7同步通信传输步骤同步通信传输步骤●● 传输开始,接受设备不停检测传输线传输开始,接受设备不停检测传输线—测试同步字符是否到来测试同步字符是否到来● ● 收到同步字符(约定好的)之后,收方开始接受数据收到同步字符(约定好的)之后,收方开始接受数据● ● 接受接受 ::N个字符数据个字符数据 + 校验字符校验字符● ● 处理:组合出处理:组合出N个数据字节,查奇偶无错,结束一帧数据传输个数据字节,查奇偶无错,结束一帧数据传输● ● 开始检测同步字符,准备接受下一帧数据开始检测同步字符,准备接受下一帧数据 注:发送与接受每位都保持完全一致,由时钟信号统一注:发送与接受每位都保持完全一致,由时钟信号统一8¨典型代表为IBM的二进制同步通信协议¨所有信息都是由字符组成,即只传送字符的ASCII码¨为了区别数据信息和控制信息定义了10个特殊字符为控制字符这些字符在ASCII码中本来就是控制字符(0列或1列)¨但如果数据信息的代码和控制字符相同,两者就不能区分为此引入“转义字符”DEL(编码为00100000)。
当数据代码和控制字符相同时,前面加上转义字符DEL面向字符的同步协议9¨典型代表为同步数据链路控制规程SDLC¨靠约定的位组合来传输信息,包括数据信息和控制信息控制信息的位的组合需要专门定义¨只有一个规定的控制标志,即开始和结束标志01111110没有定义其他的专用控制字符或控制标志¨传输这只要区分作为标志的01111110和作为数据信息的01111110为此采用对数据信息中出现连续5个1就加一个0的方法来加以区别接收时再自动去处这个添加的0面向比特(位)的同步协议10面向比特(位)的同步协议§地址场规定与之通信的次站的地址控制场可规定若干命令§信息场:数据11数据传送的三种模式数据传送的三种模式 1、全双工模式:、全双工模式:数据发送和接受由两根不同的传输线传送,通信双方在同一时刻进行发送和接受数据发送和接受由两根不同的传输线传送,通信双方在同一时刻进行发送和接受2、半双工模式、半双工模式数据的发送和接受由一根传输线传送,通信双方不能同时收发数据的发送和接受由一根传输线传送,通信双方不能同时收发3、单工模式、单工模式数据发送和接受在单一方向上传送数据发送和接受在单一方向上传送12串行输入串行输入/ /输出的软件实现输出的软件实现 1、、 软件实现软件实现 串串行行数数据据转转换换成成并并行行数数据据或或反反之之,,完完全全可可由由CPUCPU通通过过软软件件来来实实现现,,外外部部只只要要增增加加简简单单的的电电平平转转换电路即可。
换电路即可 TTYOUTTTYOUT::MOVMOVCLCL,,0BH0BH;;输出位数输出位数1010位位MOVMOVALAL,,DLDL;;OR OR ALAL,,ALAL;;CF=0CF=0RCLRCLALAL,,1 1 ;;CFCF送送D0D0,,起始位起始位MOREMORE::OUTOUT02H02H,,ALAL;;CALL CALL DELAY DELAY ;;与波特率相配合与波特率相配合RCRRCRALAL,,1 1;带;带CFCF右移右移STCSTC;;CF=1CF=1,,停止位停止位DECDECCLCLJNEJNEMOREMORERETRET13信号的调制与解调14二、串行通信接口标准15串行接口标准§RS-232C接口标准§RS-422接口标准§RS-485接口标准16¨除了数据链路层协议外,串行通信时还要有物理层的协议,即物理接口标准,主要规定:¨机械连接标准¨电气特性的标准¨信号及其功能定义¨传输过程的规定串行接口标准17¨电气特性¨数据信号: 逻辑1(传号):-5V ~ -15V 逻辑0(空号):+5V ~ +15V¨联络信号(RTS、DSR、DTR、DCD等): 信号有效(ON状态):+5V ~ +15V 信号无效(OFF):-5V ~ -15VRS232接口标准18¨串行口输出时要加电平转换:RS232接口标准19¨机械特性¨最大物理距离为15米(50英尺)¨通信速度低于20Kbit/s¨可用DB-25连接器或DB-9连接器注:注: DB-25连接器中实际也只有连接器中实际也只有9条条RS232信号信号线,另外还有线,另外还有4条电流环接口的条电流环接口的4个电流信号。
个电流信号注:码元失真注:码元失真<4%(实际可以允许更大失真,距(实际可以允许更大失真,距离可以增大)离可以增大)RS232接口标准20¨机械特性:25针和9针连接器RS232接口标准21¨接口信号:¨TxD:发送数据¨RxD:接收数据¨DSR:数据装置(DCE)准备好 ②¨DTR:数据终端(DTE)准备好 ①¨RTS:请求发送 ③¨CTS:允许发送 ④¨DCD:数据载波检出¨RI:振铃指示¨GND:地线RS232接口标准22¨零MODEM方式的标准信号连接RS232接口标准23¨采用MODEM时的信号线连接RS232接口标准24三、可编程串行接口芯片8251A25 串行接口原理串行接口原理以异步收发器以异步收发器UART((Universal Asynchronous Receiver/Transmitter ))为例2627一、组成一、组成由三部分组成:由三部分组成:“接收器接收器”—用来把串行码转换为并行码;用来把串行码转换为并行码;“发送器发送器”—用来把并行码转换为串行码;用来把并行码转换为串行码;“控制器控制器”—用来接收用来接收CPU的控制信号,执行的控制信号,执行CPU所要求的操作,并输出状态信息和控制信息。
所要求的操作,并输出状态信息和控制信息二、功能二、功能UART的功能是接收异步串行输入码并将其转换为的功能是接收异步串行输入码并将其转换为CPU所需要的并行码,并将所需要的并行码,并将CPU内部的并行码转换为内部的并行码转换为串行码输出串行码输出28UART是用外部时钟来和接收的数据进行同步是用外部时钟来和接收的数据进行同步的外部时钟的周期的外部时钟的周期Tc和每个数据位的周期和每个数据位的周期Td有有以下关系:以下关系:Tc=Td/KK=16或或64((K为波特率因子)为波特率因子)外部时钟和接收数据的同步如图所示:外部时钟和接收数据的同步如图所示:2930为了检测长距离传送中可能发生的错误,通常增加为了检测长距离传送中可能发生的错误,通常增加一个奇偶校验位一个奇偶校验位 发送时,自动在奇偶校验位上添上发送时,自动在奇偶校验位上添上“1”或或“0”;; 接收时,接收时,UART检查字符的每一位以及奇偶校验位的检查字符的每一位以及奇偶校验位的“1”的个数,以确定是否发生传送错误的个数,以确定是否发生传送错误3132UART中还设立了各种出错标志:中还设立了各种出错标志:1.奇偶错误(奇偶错误(Parity error):):在接收时。
在接收时UART检查接受到的每一个字符的检查接受到的每一个字符的“1”的个数,若不的个数,若不符合要求,则置这个标志,发出奇偶校验出错信符合要求,则置这个标志,发出奇偶校验出错信息 2.帧错误(帧错误(Frame error):):若接受的字格式不符若接受的字格式不符合规定合规定( (例如缺少停止位等例如缺少停止位等) ),则置位帧出错标志,则置位帧出错标志,发出帧错误信息发出帧错误信息 3.溢出(丢失)错误(溢出(丢失)错误(Overrun error))33 可编程通信接口可编程通信接口8251A((USART))Intel 8251A USART是通用同步是通用同步/异步接收发送器异步接收发送器 一、一、8251A的基本性能的基本性能((1)可用于同步和异步传送可用于同步和异步传送2)波特率:)波特率:DC-19.2K((异步);异步);DC-64K((同步)3)完全双工、双缓冲器发送器接收器完全双工、双缓冲器发送器接收器4)误差检测误差检测348251A的结构图与引脚图35二、二、8251A的结构与引脚功能的结构与引脚功能包括包括8251A同同CPU的接口部分的接口部分—数据总线缓冲器数据总线缓冲器和读写控制逻辑;发送器和接收器及其控制电路。
和读写控制逻辑;发送器和接收器及其控制电路产生产生RS-232C有关信号的有关信号的MODEM控制电路控制电路1. 同同CPU的连接信号的连接信号((1))RESET((2))CLK((3)) ,,((4))C / ((5)) ((6))D0 ~ D7362. MODEM控制信号与MODEM相连的控制信号:(1) (Data Terminal Ready)— 数据终端准备好(输出,低电平有效)(2) (Data Set Ready) — 数据装置准备好(输入,低电平有效)(3) (Request To Send) — 请求发送(输出,低电平有效)(4) (Clear To Send) — 清除发送信号(输入,低电平有效) 373.发送器有关信号(1)TXD:发送数据(2)TXRDY:发送器准备好信号(3)TXE:发送缓冲器(串/并转换器)空标志(4) :输入控制发送器数据速率的时钟4.接收器有关信号(1)RXD:接收数据(2)RXRDY:接收器准备好标志(3) :接收时钟(4)SYNDET/BRKDET:同步和间断检测38 三三 8251A的控制字的控制字 1. 方式寄存器方式寄存器 方式寄存器是方式寄存器是8251A在初始化时,用来写入方式选择字用的。
在初始化时,用来写入方式选择字用的方式选择有两种:同步方式和异步方式方式寄存器有方式选择有两种:同步方式和异步方式方式寄存器有8位,最位,最低低2位全为位全为0时表示是同步方式,最低时表示是同步方式,最低2位不全为位不全为0时表示是异步时表示是异步方式具体格式:方式具体格式: 1) 8251A工作在同步方式下工作在同步方式下 当当825lA工作在同步方式下时,方式寄存器的格式如下图所工作在同步方式下时,方式寄存器的格式如下图所示39图 8251A同步方式下方式寄存器的格式40 (1) D1D0==00是同步方式的标志特征,表示同步传送时波特是同步方式的标志特征,表示同步传送时波特率因子为率因子为1,此时芯片上,此时芯片上TXC和和RXC引脚上的输入时钟频率和波引脚上的输入时钟频率和波特率相等特率相等 (2) D3D2(L2L1)是规定同步传送时每个字符的位数,当是规定同步传送时每个字符的位数,当L2L1对应为对应为00、、01、、10、、11时,分别表示传输字符的位数是时,分别表示传输字符的位数是5、、6、、7、、8位。
位 (3) D4(PEN)是规定在传输数据时是否需要奇偶校验位,该是规定在传输数据时是否需要奇偶校验位,该位为位为“1”表示有校验位,为表示有校验位,为“0”则无校验位则无校验位 (4) D5(EP)是用来规定校验位的类型,该位为是用来规定校验位的类型,该位为“0”表示是表示是奇校验,为奇校验,为“1”表示是偶校验表示是偶校验41 (5) D6(ESD)是用来规定同步的方式,该位为是用来规定同步的方式,该位为“0”表示是内表示是内同步,芯片的同步,芯片的SYNDET引脚为输出端;为引脚为输出端;为“1”表示是外同步,表示是外同步,SYNDET引脚为输入端引脚为输入端 (6) D7(SCS)是用来规定同步字符的数目,该位为是用来规定同步字符的数目,该位为“0”表表示两个同步字符,为示两个同步字符,为“1”表示一个同步字符表示一个同步字符 例如,要求例如,要求825lA作为外同步通信接口,数据位作为外同步通信接口,数据位8位,两个位,两个同步字符,偶校验,其方式选择字应:同步字符,偶校验,其方式选择字应:7CH(01111100B==7CH)。
422) 8251A工作在异步方式下工作在异步方式下当当8251A工作在异步方式下时,方式寄存器的格式如下图工作在异步方式下时,方式寄存器的格式如下图 所示图 8251A异步方式下方式寄存器的格式43 (1) D1D0(B2B1)不全为不全为0的情况表示是异步方式,当的情况表示是异步方式,当B2B1==01时,规定波特率的因子为时,规定波特率的因子为1;;B2B1==10时,规定波特率因子为时,规定波特率因子为16;;B2B1==11时,规定波特率因子为时,规定波特率因子为64 (2) D3D2(L2L1)是规定在异步传送时每个字符的位数,与同是规定在异步传送时每个字符的位数,与同步方式下的数据位数规定相同步方式下的数据位数规定相同 (3) D4(PEN)是规定在异步传输时是否需要校验位,与同步是规定在异步传输时是否需要校验位,与同步方式下的规定相同方式下的规定相同 (4) D5(EP)是用来规定异步方式时,数据校验的类型,与是用来规定异步方式时,数据校验的类型,与同步方式下的规定相同同步方式下的规定相同 44 (5) D7D6(S2S1)是用来规定异步方式时,停止位的个数。
是用来规定异步方式时,停止位的个数为了和同步方式相区别,当为了和同步方式相区别,当D7D6==00时,没有定义停止位的个时,没有定义停止位的个数;当数;当D7D6==01时,表示时,表示1个停止位;当个停止位;当D7D6==10时,表示时,表示1.5个停止位;当个停止位;当D7D6==11时,表示时,表示2个停止位个停止位 例如,要求例如,要求8251A芯片作为异步通信,波特率为芯片作为异步通信,波特率为64,字符,字符长度长度8位,奇校验,位,奇校验,2个停止位的方式选择字应为十六进制的个停止位的方式选择字应为十六进制的DFH(1101111lB==DFH)452. 控制寄存器控制寄存器对对8251A进行初始化时,按上面的方法写入了方式选择字后,接着要写进行初始化时,按上面的方法写入了方式选择字后,接着要写入的是命令字,由命令字来规定入的是命令字,由命令字来规定8251A的工作状态,才能启动串行通信的工作状态,才能启动串行通信开始工作或置位开始工作或置位46 控制寄存器的格式:控制寄存器的格式: (1) D0(TXEN)::允许发送选择。
只有当允许发送选择只有当D0==l时,才允许时,才允许8251A从发送端口发送数据从发送端口发送数据47 (2) D1(DTR)::该位与调制解调器控制电路的该位与调制解调器控制电路的DTR端有直接联端有直接联系,当工作在全双工方式时,系,当工作在全双工方式时,D0、、D2位要同时置位要同时置1,,D1才能置才能置1,,由于由于DTR==1从而使引脚从而使引脚DTR端被置成有效的低电平,通知调制端被置成有效的低电平,通知调制解调器或解调器或MC1488芯片等器件,芯片等器件,CPU的数据终端已经就绪,可以的数据终端已经就绪,可以接收数据了接收数据了 (3) D2(RxEN)::允许接收选择只有当允许接收选择只有当D2==1时,才允许时,才允许825lA从接收端口接收数据从接收端口接收数据 (4) D3(SBRK)::当该位被置当该位被置1后,使串行数据发送管脚后,使串行数据发送管脚TXD变变为低电平,输出为低电平,输出“0”信号,表示数据断缺,而当处于正常通信状信号,表示数据断缺,而当处于正常通信状态时,态时,SBRK==048 (5) D4(ER)::当该位被置当该位被置1后,将消除状态寄存器中的全部后,将消除状态寄存器中的全部错误标志,错误标志,PE、、OE、、FE这三位错误标志由状态寄存器的这三位错误标志由状态寄存器的D3、、D4、、D5来指示。
来指示 (6) D5(RTS)::该位与调制解调器控制电路的请求发送信号该位与调制解调器控制电路的请求发送信号RTS有直接联系,当有直接联系,当D5位被置位被置1,由于,由于RTS==1,,从而使引脚从而使引脚RTS输出有效的低电平,通知调制解调器或输出有效的低电平,通知调制解调器或MCl489芯片等器件,芯片等器件,CPU将要通过将要通过825lA输出数据输出数据 调制解调器控制电路的有效电平不是由调制解调器控制电路的有效电平不是由8251A内部产生,而内部产生,而是通过对控制字的编程来设置,这样可便于是通过对控制字的编程来设置,这样可便于CPU与外设直接联与外设直接联系49 (7) D6(IR)::当该位被置当该位被置1后,使后,使8251A内部复位内部复位当对当对8251A初始化时,使用同一个初始化时,使用同一个奇地址奇地址,先写入方式选择字,,先写入方式选择字,接着写入同步字符接着写入同步字符(异步方式时不写入同步字符异步方式时不写入同步字符),最后写入的,最后写入的才是控制字,这个顺序不能改变,否则将出错才是控制字,这个顺序不能改变,否则将出错。
但是,当初始化以后,如果再通过这个奇地址写入的字,都将但是,当初始化以后,如果再通过这个奇地址写入的字,都将进入控制寄存器,因此控制字可以随时写入进入控制寄存器,因此控制字可以随时写入如果要重新设置工作方式,写入方式选择字,必须先要将控制如果要重新设置工作方式,写入方式选择字,必须先要将控制寄存器的寄存器的D6位置位置1,也就是说内部复位的命令字为,也就是说内部复位的命令字为40H才能使才能使8251A返回到初始化前的状态当然,用外部的复位命令返回到初始化前的状态当然,用外部的复位命令RESET,,也可使也可使825lA复位,而在正常的传输过程中复位,而在正常的传输过程中D6=0 50 (8) D7(EH)::该位只对同步方式才起作用当该位只对同步方式才起作用当D7=l时表示时表示开始搜索同步字符,但同时要求开始搜索同步字符,但同时要求D2(RXEN)==l,,D4(ER)==1,,同同步接收工作才开始进行也就是说,写同步接收控制字时必须步接收工作才开始进行也就是说,写同步接收控制字时必须使使D7、、D4、、D2同时为同时为1513. 状态寄存器状态寄存器 状态寄存器是反映状态寄存器是反映8251A内部工作状态的寄存器,只内部工作状态的寄存器,只能读出,不能写入。
能读出,不能写入CPU可用可用IN指令来读取状态寄存器的指令来读取状态寄存器的内容52状态寄存器的格式如下图状态寄存器的格式如下图 所示状态寄存器也是所示状态寄存器也是8位,每位的定位,每位的定义如下:义如下: (1) D0(TXRDY)::D0=1是发送准备好标志,表明当前数据输是发送准备好标志,表明当前数据输出缓冲器空出缓冲器空•要注意的是,这里状态位要注意的是,这里状态位D0的的TXRDY和芯片引脚上的和芯片引脚上的TXRDY的的信号不同,这是状态位的信号不同,这是状态位的TXRDY不受输入信号不受输入信号CTS和控制位和控制位TXEN的影响;的影响;•而芯片引脚上的而芯片引脚上的TXRDY必须在数据输出寄存器空,并且调制解调必须在数据输出寄存器空,并且调制解调器控制电路的器控制电路的CTS端也为低电平时,控制寄存器的端也为低电平时,控制寄存器的D0(TXEN)==1时才有效时才有效53 (2) D1(RXRDY)::接收器准备好信号,该位为接收器准备好信号,该位为“1”时,表时,表明接口已接收到一个字符,当前正准备输入明接口已接收到一个字符,当前正准备输入CPU中。
当中当CPU从从8251A输入一个字符时,输入一个字符时,RXRDY自动清自动清0 (3) D2::(TXEMPTY),,同同8251A的的18脚说明 (4) D6::(SYNDET/BRKDET),,同同8251A的的16脚说明脚说明54 (5) D7(DSR)::数据终端准备好标志,当外设数据终端准备好标志,当外设(调制解调器调制解调器等等)已准备好发送数据时,就向已准备好发送数据时,就向DSR端发出低电平信号,使端发出低电平信号,使DSR有效此时有效此时DSR位被置位被置1 上面上面Dl、、D2、、D6、、D7这这4位的状态与位的状态与8251A芯片外部同名管芯片外部同名管脚的状态完全相同,反映这些管脚当前的状态脚的状态完全相同,反映这些管脚当前的状态 (6) D3(PE)::奇偶出错标志位,奇偶出错标志位,PE==1时,表示当前产生时,表示当前产生了奇偶错,但不终止了奇偶错,但不终止8251A工作 55 (7) D4(OE)::溢出出错标志位,在接收字符时,如果数据溢出出错标志位,在接收字符时,如果数据输入寄存器的内容没有被输入寄存器的内容没有被CPU及时取走,下一个字符各位已从及时取走,下一个字符各位已从RXD端全部进入移位寄存器,然后进入数据输入寄存器,这时,端全部进入移位寄存器,然后进入数据输入寄存器,这时,在数据输入寄存器中,后一个字符覆盖了前一个字符,因而出在数据输入寄存器中,后一个字符覆盖了前一个字符,因而出错,这时错,这时D4位被置位被置1。
56 (8) D5(FE)::帧格式出错标志位,只适用于异步方式在帧格式出错标志位,只适用于异步方式在异步接收时,接收器根据方式寄存器规定的字符位数、有无奇异步接收时,接收器根据方式寄存器规定的字符位数、有无奇偶校验位、停止位位数等,都由计数器计数接收,若停止位不偶校验位、停止位位数等,都由计数器计数接收,若停止位不为为0,说明帧格式错位字符出错,此时,说明帧格式错位字符出错,此时FE==1 上面的上面的PE=1,,OE==1和和FE==1只是记录接收时的三种错误,只是记录接收时的三种错误,并没有终止并没有终止8251A工作的功能,由工作的功能,由CPU通过通过IN指令读取状态寄指令读取状态寄存器来发现错误存器来发现错误57 8251A的初始化和操作流程如右图所的初始化和操作流程如右图所示8251A在设置方式指令字后,或在同在设置方式指令字后,或在同步方式中又设置了同步字符后,任何时步方式中又设置了同步字符后,任何时候都可以写入命令指令,命令指令是芯候都可以写入命令指令,命令指令是芯片进行操作,或改变操作时必须写入的片进行操作,或改变操作时必须写入的内容。
而每次写入命令指令后,内容而每次写入命令指令后,8251A都都要检查要检查IR位是否有内部复位,如有复位,位是否有内部复位,如有复位,8251A应重新设置方式指令应重新设置方式指令588251A应用举例n用8251A作为串行通信接口,实现两台微机之间的串行通信n要求:采用异步方式,字符长度为7位,采用奇校验,1位停止位n波特率为2400b/s,波特率因子为16nCPU采用查询方式和8251A进行数据传送假设8251A对应的端口地址为388H、389H59608251A初始化程序段MOV DX,389H;控制口MOV AL,40H;内部复位命令OUTDX,ALNOPMOV AL,5AH;方式控制字(异步、1位停止位、字符长度7OUTDX,AL;奇校验、波特率因子为16)MOV AL,37H;命令控制字(RTS、ER、RXE、DTR、TXEN均置“1”)OUTDX,AL61查询式通信程序段:发送字符在CL中,收到的字符暂存于AL中GOON:MOVDX,388H;状态口INAL,DXTESTAL,38H;检查是否出错JNZERR; 转出错处理TESTAL,02H;检查是否收到新数据JNZRECEIVE;转接收TESTAL,01H;检查是否可以发送字符JZGOONMOVDX,388H;数据口MOVAL,CLOUTDX,AL;发送字符JMPGOONRECEIVE:MOVDX,388HINAL,DX;接收字符JMPGOON62Thanks!!!63。












