第六章串并行通信和接口技术-微机原理与接口技术-教学课件.ppt
1第第六六章章 串并行通信和接口技术串并行通信和接口技术本章重点本章重点:1 1、计算机与外设的通信方式、计算机与外设的通信方式 2 2、82518251A A的编程结构和功能结构的编程结构和功能结构 3 3、82518251A A的初始化和应用的初始化和应用 4 4、82558255A A的编程结构的编程结构 5 5、82558255A A的工作方式的工作方式 6 6、82558255A A的初始化和应用的初始化和应用2计计算算机机与与外外设设的的通通信信方方式式1、并行方式、并行方式2、串行方式、串行方式数据各位通过信号线同时传输数据各位通过信号线同时传输数据一位一位的通过同一信号线传输数据一位一位的通过同一信号线传输用的传输线多用的传输线多用的传输线少用的传输线少速率高速率高速率低速率低适于近距离传输适于近距离传输适于远距离传输适于远距离传输目录目录6.1概述概述36.2串行接口和串行通信串行接口和串行通信一、串行接口一、串行接口1、适用场合:、适用场合:外设和计算机按串行方式进行通信。外设和计算机按串行方式进行通信。目录目录可编程串行接口的典型结构可编程串行接口的典型结构保存传保存传输状态输状态CPU给接口给接口的控制信息的控制信息保存保存CPU送送外设的数据外设的数据保存外设送保存外设送CPU的数据的数据6(3)全双工方式)全双工方式 接收和发送采用不同的通路,接收和发送采用不同的通路,A、B可同时发送和接收,两可同时发送和接收,两方资源完全独立。方资源完全独立。发送器发送器/接收器接收器A发送器发送器/接收器接收器B(1)同步通信)同步通信1)概念:)概念:将要传输的数据组成一信息块(帧),每将要传输的数据组成一信息块(帧),每信息块开头加上同步字符,在约定的波特率下,使数信息块开头加上同步字符,在约定的波特率下,使数据一个接一个的从发送端到接收端。据一个接一个的从发送端到接收端。2、按时钟对通信过程的定时方式划分、按时钟对通信过程的定时方式划分2)基本特点)基本特点(2)数据流中字符与字符间和字符内的各位)数据流中字符与字符间和字符内的各位 间都同步;间都同步;(3)发送端和接收端须用同一时钟信号同步。)发送端和接收端须用同一时钟信号同步。(1)以一个数据块(帧)为传输单位,每块)以一个数据块(帧)为传输单位,每块开头用同步字符指示。开头用同步字符指示。同步字符同步字符数据数据数据数据数据数据校验字符校验字符3)优点)优点4)缺点:硬件电路复杂。)缺点:硬件电路复杂。(2)适于传大量的数据)适于传大量的数据(1)传送效率高)传送效率高 同步要求每个数据内各位都按预定频率传送,数据间不同步要求每个数据内各位都按预定频率传送,数据间不允许有间隙,若有用同步字符填充,收发时钟严格同步。允许有间隙,若有用同步字符填充,收发时钟严格同步。10标准(起止式)异步通信协议格式标准(起止式)异步通信协议格式起始位每个字符开始传送的标志,起始位采用逻辑0电平。起始位起始位校验位校验位停止位停止位空闲位空闲位数据位数据位低位低位高位高位字符字符0/10/1 0/10/10/10/10/10/11 10 01 11 11 1数据位数据位数据位紧跟着起始位传送。由数据位紧跟着起始位传送。由58个二进制位组成,低位先传送。个二进制位组成,低位先传送。校验位校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。停止位停止位表示该字符传送结束。停止位采用逻辑表示该字符传送结束。停止位采用逻辑1电平,可选择电平,可选择1、1.5或或2位。位。空闲位空闲位传送字符之间的逻辑传送字符之间的逻辑1电平,表示没有进行传送。电平,表示没有进行传送。标识态标识态3)优点)优点4)缺点)缺点 对时钟同步要求不严格。对时钟同步要求不严格。接收到起始位后,只要在一个字符传输时间内收发器保持接收到起始位后,只要在一个字符传输时间内收发器保持同步就能正确接收。同步就能正确接收。传送效率低。控制信息至少占总信息的传送效率低。控制信息至少占总信息的20。注:注:通信时,收发双方必须遵守共同的通信协议(通信规程),通信时,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题。等问题。例例1、在一串行通信系统中在一串行通信系统中,传送速率为传送速率为960字符每秒,每个字符每秒,每个字符是字符是10位,则波特率为多少?位,则波特率为多少?960109600bit/s(bps)2、例、例例例2、异步传输过程:设每个字符对应异步传输过程:设每个字符对应1 1个起始位、个起始位、7 7个信息位、个信息位、1 1个奇偶校验位和个奇偶校验位和1 1个停止位,如果波特率为个停止位,如果波特率为12001200bpsbps,那么,那么,每秒钟能传输的最大字符数为多少个?每秒钟能传输的最大字符数为多少个?1200/1200/(1 17 71 11 1)120120个。个。15四、四、串行接口标准串行接口标准RS-232C RS-232C RS-232C标准(协议)是美国标准(协议)是美国EIAEIA(电子工业联合会)与电子工业联合会)与BELLBELL等公司一起开发的等公司一起开发的19691969年公布的通信协议。它适合于数据年公布的通信协议。它适合于数据传输速率在传输速率在0 02000020000bitbits s范围内的通信。范围内的通信。现在的台式现在的台式PCPC机一般有两个机一般有两个RS-232RS-232串行口串行口COM1COM1和和COM2COM2,通,通常常COM1COM1使用的是使用的是9 9针针D D形连接器,而形连接器,而COM2COM2使用的是使用的是2525针连接器。针连接器。161、RS-232C的电气特性的电气特性注:注:负逻辑规定负逻辑规定电平电平信号电平标准信号电平标准低电平(逻辑低电平(逻辑0):):5V15V高电平(逻辑高电平(逻辑1):):5V15V实际常用实际常用12V或或15V2、RS-232C标准与标准与TTL标准之间的转换标准之间的转换标准标准TTL电平电平高电平(逻辑高电平(逻辑1):2.4V5V低电平(逻辑低电平(逻辑0):0V0.4V接口接口MC1489MC1488RS-232-C输入输入RS-232-C输出输出TTL输入输入TTL输出输出18一、一、82518251A A的基本性能的基本性能异步方式异步方式58位位/字符;字符;用用1位作为奇偶校验;位作为奇偶校验;能选择能选择1、1.5、2位停止位;位停止位;可检查假启动;可检查假启动;可产生中止字符;可产生中止字符;能自动检测和处理中止字符;能自动检测和处理中止字符;波特率可为波特率可为019.2Kbps;时钟频率为波特率的时钟频率为波特率的1、16、64倍。倍。19一、一、82518251A A的基本性能的基本性能2 2、完全双工工作,具有双缓冲的发送器和接收器。、完全双工工作,具有双缓冲的发送器和接收器。4 4、输入输出电路为、输入输出电路为TTLTTL电平。电平。3 3、具有奇偶校验、溢出和帧错误检测等功能电路。、具有奇偶校验、溢出和帧错误检测等功能电路。注:注:8251A接口电平与接口电平与EIARS-232-C所要求的电平所要求的电平不同,所以互相连接时,必须增加驱动级和不同,所以互相连接时,必须增加驱动级和接收电路。接收电路。20二、二、82518251A A的基本原理的基本原理 1、8251A编程编程结构结构212 2、82518251A A的功能结构的功能结构双向三态的双向三态的8位数位数据缓冲器。与系统据缓冲器。与系统数据总线相连。数据总线相连。提供了一组通用控制信号,使提供了一组通用控制信号,使8251可直接与调制解调器连接。可直接与调制解调器连接。接收串行数据,并进接收串行数据,并进行串并转换。行串并转换。配合接收缓冲器工作,管理有关接收的所有功能。配合接收缓冲器工作,管理有关接收的所有功能。1)异步方式,芯片复位后,先检查输入信号中有效的)异步方式,芯片复位后,先检查输入信号中有效的“1”,检测到后,搜索有效的低电平来确定起始位;检测到后,搜索有效的低电平来确定起始位;2)消除假启动干扰;)消除假启动干扰;3)对接收到的信号奇偶校验,根据校验结果设置状态位;)对接收到的信号奇偶校验,根据校验结果设置状态位;4)异步方式下,检测停止位,根据检测结果设置状态位。)异步方式下,检测停止位,根据检测结果设置状态位。配合发送缓冲器工作,控制和管理所有和发送有关的功能。配合发送缓冲器工作,控制和管理所有和发送有关的功能。(1)异步方式下,为数据加上起始位、校验位和停止位;)异步方式下,为数据加上起始位、校验位和停止位;(2)同步方式下,插入同步字符,在数据中插入校验位。)同步方式下,插入同步字符,在数据中插入校验位。把并行数据加上相应把并行数据加上相应的控制信息,转换成的控制信息,转换成串行数据输出。串行数据输出。采样数据采样数据起始检测起始检测确定已检测到起始位确定已检测到起始位起起始始位位RXCRXDT16T16T8T每每隔隔一一字字符符传传输输时时间间,对对RxD进进行行一一次次采采样样,数数据据送送移移位位寄寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。存器移位,并进行奇偶校验和去掉停止位,得到并行数据。(2)8251A进行常规采样并进行字符装配进行常规采样并进行字符装配(3)通知)通知CPU接收数据接收数据并并行行数数据据经经过过内内部部数数据据总总线线送送接接收收数数据据缓缓冲冲器器,并并置置RxRDY有效,通知有效,通知CPU已收到一个数据,可以取用。已收到一个数据,可以取用。298251A异步接收数据传输格式异步接收数据传输格式注:注:对于少于对于少于8位的数据,位的数据,8251A将高位补将高位补0。318251A异步发送数据传输格式异步发送数据传输格式注:注:对于少于对于少于8位的数据,位的数据,8251A将高位补将高位补0。323)8251A的同步接收方式的同步接收方式单同步字符单同步字符8251检检测测RxD线线,当当RxD线线出出现现一一数数据据位位时时,接接收收送送移移位位寄寄存存器器移移位位,并并与与同同步步字字符符寄寄存存器器的的内内容容比比较较,如如不不等等,继继续续接接收收,比比较较。相相等等时时,8251A的的SYNDET引脚为高电平,表示同步已经实现。引脚为高电平,表示同步已经实现。(1)搜索同步字符)搜索同步字符双同步字符双同步字符检检测测到到第第一一个个同同步步字字符符后后,再再继继续续检检测测此此后后输输入入的的移移位位寄寄存存器器的的内内容容是是否否与与第第二二个个同同步步字字符符寄寄存存器器的的内内容容相相同同,不不同同重重新新比比较较第第一一个个同同步步字字符符;相相同同,则则认认为为同同步步已经实现。已经实现。内内同同步步(a)(b)外同步外同步通通过过在在同同步步输输入入端端SYNDET加加一一高高电电位位实实现现同同步步。当当SYNDET端端出出现现一一个个高高电电平平,并并且且维维持持一一时时钟钟接接收收周周期期,8251A认为已经完成同步。认为已经完成同步。(2)数据的同步传输数据的同步传输 接收器利用时钟信号对接收器利用时钟信号对RxD采样,把收到的数据送移位寄采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收信号,表示收到一数据。到一数据。348251A同步接收数据传输格式同步接收数据传输格式354)8251A的同步发送方式的同步发送方式(2)发送同步字符)发送同步字符根据编程要求,发送器先发送一个或两个同步字符。根据编程要求,发送器先发送一个或两个同步字符。注注:如如发发送送数数据据时时,CPU来来不不及及提提供供新新数数据据,8251A发发送送器器会会自自动插入同步字符,由动插入同步字符,由TxD送出。送出。(3)发送数据块)发送数据块发发送送数数据据块块时时,发发送送器器根根据据要要求求对对数数据据块块中中的的数数据据加加上上奇奇偶校验位或不加。偶校验位或不加。(1)程序置)程序置TxEN(允许发送)有效允许发送)有效 检检测测到到外外设设送送来来的的CTS(请请求求发发送送信信号号的的响响应应信信号号)有有效效,开始发送。开始发送。368251A同步发送数据传输格式同步发送数据传输格式37三、三、8251A的对外连接信号的对外连接信号8251A对外连接信号对外连接信号8251A与与CPU之间的信号之间的信号 8251A与外设之间的信号。与外设之间的信号。1 1、82518251A A与与CPUCPU之间的信号之间的信号 1)数据信号)数据信号D7D0:双向数据线,与系统总线相连,传输数据、双向数据线,与系统总线相连,传输数据、编程命令及状态信息。编程命令及状态信息。2)片选信号)片选信号CS:CPU的地址信号译码后得到。的地址信号译码后得到。CS0:可以对:可以对8251A进行读写;进行读写;CS1:数据总线处于高阻态。:数据总线处于高阻态。381、8251A与与CPU之间的信号之间的信号3)读)读/写控制信号写控制信号(1)RD:为低,表示为低,表示CPU正从正从8251A读数据或状态信息。读数据或状态信息。(2)WR:为低,表示为低,表示CPU正往正往8251A写数据或控制字。写数据或控制字。(3)C/D:控制控制/数据信号数据信号CPU往往8251写控制命令写控制命令011CPU从从8251读状态信息读状态信息101CPU中数据中数据 82510108251中数据中数据 CPU100操作操作WRRDC/D391、8251A与与CPU之间的信号之间的信号4)收发联络信号)收发联络信号(1)TxRDY:发送器准备好。发送器准备好。通通知知CPU8251A已已经经准准备备好好从从CPU接接收收字字符符。CPU得得到到TxRDY有有效效后后,往往8251A写写数数据据,8251A得得到到数数据据后后,使使TxRDY变为低。变为低。当当CTS为为低低,TxEN为为高高,且且发发送送缓缓冲冲器器空空时时,TxRDY有有效效,可作为中断请求信号,也可作为查询方式的联络信号。可作为中断请求信号,也可作为查询方式的联络信号。40(2)TxE:发送器空信号。发送器空信号。8251A无无字字符符发发送送时时,TxE为为高高,实实际际上上指指示示了了一一次次发发送动作的结束。送动作的结束。当当8251A收到收到CPU发来的字符时,发来的字符时,TxE变为低。变为低。注注:在在同同步步发发送送时时,如如CPU没没及及时时往往8251A送送字字符符,TxE会会变变成成高高电电平平,发发送送器器在在输输出出线线上上插插入入同同步步字字符符,以以填填补补空空隙。隙。1、8251A与与CPU之间的信号之间的信号(3)RxRDY:接收器准备好。接收器准备好。表表示示8251A已已经经从从外外设设接接收收到到一一个个数数据据,等等待待CPU来来读读取。取。CPU从从8251A读取数据后,读取数据后,RxRDY变为低电平。变为低电平。可作为中断请求信号,也可作为查询方式的联络信号。可作为中断请求信号,也可作为查询方式的联络信号。(4)SYNDET:同步检测信号,仅用于同步方式。同步检测信号,仅用于同步方式。8251A内同步:内同步:输出信号。输出信号。单同步字符单同步字符:检测到同步字符,变为高电平;检测到同步字符,变为高电平;双双同同步步字字符符:检检测测到到第第二二个个同同步步字字符符的的最最后后一一位位后后,在在该该位位的的中间变为高电平,表示已达到同步。中间变为高电平,表示已达到同步。8251A外同步:外同步:输入信号。输入信号。如如果果从从SYNDET端端输输入入一一个个正正跳跳变变的的信信号号,并并且且维维持持一一时时钟钟接接收收周周期期,8251A认认为为已已经经完完成成同同步步,8251A在在RXC的的下下一一个个下下降沿开始装配字符。降沿开始装配字符。注:注:复位:复位:SYNDET变为低电平;变为低电平;内同步:内同步:CPU执行一次读操作后,变为低电平;执行一次读操作后,变为低电平;外同步:其电平状况决定于外部信号。外同步:其电平状况决定于外部信号。422 2、82518251A A与外设之间的信号与外设之间的信号1)数据信号)数据信号(1)TxD:发送器数据信号端。发送器数据信号端。CPU送送往往8251A的的并并行行数数据据被被转转化化为为串串行行数数据据后后,通通过过TxD端发送给外设。端发送给外设。(2)RxD:接收器数据信号端。接收器数据信号端。接接收收外外设设送送来来的的串串行行数数据据,经经转转换换为为并并行行数数据据后后由由CPU接收。接收。432)收发联络信号)收发联络信号(1)DTR:数据终端准备好信号。数据终端准备好信号。(2)DSR:数据设备准备好。数据设备准备好。由由8251A送送往往外外设设,CPU通通过过命命令令(使使命命令令指指令令的的bit1置置1)可使)可使DTR变为有效电平,通知外设变为有效电平,通知外设CPU已经准备就绪。已经准备就绪。外外设设送送往往8251A的的信信号号,表表外外设设已已准准备备好好。当当DSR端端出出现现低低电电平平时时,会会在在8251A的的状状态态寄寄存存器器第第七七位位上上反反映映出出来来,CPU通过状态寄存器实现对通过状态寄存器实现对DSR信号的检测。信号的检测。2 2、82518251A A与外设之间的信号与外设之间的信号44(3)RTS:请求发送。请求发送。8251A送送给给外外设设的的信信号号。CPU通通过过编编程程命命令令使使RTS变变为为有有效电平,以通知外设,效电平,以通知外设,CPU请求发送数据。请求发送数据。(4)CTS:准许发送。准许发送。外外设设送送给给8251A的的信信号号,外外设设对对RTS信信号号的的应应答答。当当该该信信号有效时,号有效时,8251A才能发送数据。才能发送数据。2 2、82518251A A与外设之间的信号与外设之间的信号备注:备注:为什么提供四个联络信号?/DTR和/RTS是CPU通过8251A送往外设的,CPU通过软件对控制寄存器中的DTR位和RTS位置1就可以使8251A的/DTR和/RTS引脚输出有效电平,所以/DTR和/RTS是CPU对外设的控制信号。/DSR和/CTS是外设通过8251A传递给CPU的状态信号。当外设和/DSR端相连时,往此引脚送一低电平,就会影响8251A状态寄存器的DSR位,CPU可通过软件对DSR位进行检测。/CTS端电平的高低会影响TxRDY端的电平,TxRDY是8251A送给CPU的状态信号。使用时/CTS必须为低,其它三个信号可以悬空不用。即使CPU和外设之间不需传递任何联络信号,也要将/CTS端接地。因为只有/CTS为低,才能使TxRDY为高,CPU才能往8251A发送数据。如果8251A仅工作在接收状态,/CTS也可悬空。453、其它、其它信号信号1)时钟信号)时钟信号(1)CLK:产生产生8251A内部定时信号。内部定时信号。(2)TxC:发送时钟。发送时钟。控制发送字符的速率。控制发送字符的速率。同步传送时,同步传送时,TxC频率等于字符传输的波特率;频率等于字符传输的波特率;异步传送时,异步传送时,TxC频率是字符波特率的频率是字符波特率的1、16或或64倍。倍。(3)RxC:接收时钟。接收时钟。控制接收字符的速率。控制接收字符的速率。同步传送时,同步传送时,RxC频率等于字符传输的波特率;频率等于字符传输的波特率;异步传送时,异步传送时,RxC频率是字符波特率的频率是字符波特率的1、16或或64倍。倍。2)电源信号)电源信号(1)Vcc:5V(2)GND:地线。地线。46四、四、82518251A A的编程的编程1、8位接口芯片和位接口芯片和16位数据总线的连接问题位数据总线的连接问题解决解决方法方法硬件上,将总线的硬件上,将总线的A1A1与芯片的与芯片的C/DC/D相连;相连;软件上,用连续的偶地址代替奇偶地址。软件上,用连续的偶地址代替奇偶地址。CSC/DA1A0系统高位系统高位地址线地址线8251A译码器472 2、82518251A A的初始化的初始化1)8251A初始化的约定初始化的约定(1)芯芯片片复复位位后后,第第一一次次用用奇奇地地址址端端口口写写入入的的值值作作为为方方式式字字进入方式寄存器;进入方式寄存器;(2)如如果果方方式式字字中中规规定定8251A工工作作在在同同步步方方式式,CPU接接着着往往奇地址输出的奇地址输出的1或或2个字节就是同步字符,写入同步寄存器。个字节就是同步字符,写入同步寄存器。(3)随随后后,只只要要不不是是复复位位命命令令,不不管管同同步步还还是是异异步步,CPU用用奇奇地地址址端端口口写写入入的的值值作作为为控控制制字字送送控控制制寄寄存存器器,用用偶偶地地址址端端口口写入的值作为数据送数据输出缓冲寄存器。写入的值作为数据送数据输出缓冲寄存器。2)8251A的的初初始始化化流流程程493 3、82518251A A模式寄存器格式模式寄存器格式1)异步方式下模式寄存器格式)异步方式下模式寄存器格式D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1 停止位个数停止位个数:00:无意义无意义01:1位位10:1位半位半11:2位位 奇偶校验:奇偶校验:0:无校验位无校验位01:奇校验奇校验11:偶校验偶校验 数据位个数数据位个数:00:5位位01:6位位10:7位位11:8位位 波特率因子:波特率因子:01:BF110:BF1611:BF64 时钟频率波特率时钟频率波特率波特率因子波特率因子 例如:例如:方式指令方式指令D1D011,接收数据的波特率为接收数据的波特率为1200bps。接收时钟接收时钟RxC的频率?的频率?RxC的频率的频率12006476.8KHz2)同步方式下模式寄存器格式)同步方式下模式寄存器格式D7 D6 D5 D4 D3 D2 D1 D0 SCS ESDEP PEN L2 L1 00同同步步字字符数符数:0:2个个1:1个个 同步方式:同步方式:0:内同步内同步1:外同步外同步 奇偶校验:奇偶校验:0:无校验位无校验位01:奇校验奇校验11:偶校验偶校验 数数据据位位个个数数:00:5位位01:6位位10:7位位11:8位位 同步方同步方式标志式标志 同步方式波特率时钟频率同步方式波特率时钟频率514、控制寄存器格式、控制寄存器格式注:注:D71,在内同步方式中,在内同步方式中,8251A开始搜索同步字符开始搜索同步字符。发送发送允许。允许。0:禁止禁止1:允许允许 接收允接收允许。许。0:禁止禁止1:允许允许 复位错误复位错误标志。标志。1:使使PE、OE、FE复复位(清除位(清除出错指示出错指示位)位)内部复内部复位。位。1:使使8251A复位,复位,返回方返回方式指令式指令发送空发送空白字符。白字符。1:强迫强迫TxD为为0,发送空,发送空白字符白字符 请求发请求发送。送。1:强迫强迫RTS为为0 数据终端数据终端准备好。准备好。1:强迫强迫DTR为为0搜索同搜索同步字符。步字符。1:启动启动搜索搜索 TxEN DTRRxE SBPKERRTSIREH D0 D1 D2 D3 D4 D5 D6 D7 5、状态寄存器格式、状态寄存器格式2)D11,接口中已收到一个数据,可由接口中已收到一个数据,可由CPU来读取。来读取。当当CPU读走一个字符后,该位自动清读走一个字符后,该位自动清0。3)D21,表示发送器刚发送一个字符,现为空,等待表示发送器刚发送一个字符,现为空,等待CPU发发下一个。下一个。注:注:1 1)当)当CPUCPU往往82518251A A写入一个字符后,写入一个字符后,D0位自动清位自动清0 0。引脚引脚TxRDYTxRDY为为1 1的条件:的条件:数据缓冲器空、数据缓冲器空、CTSCTS0 0、TxENTxEN1 153五、五、82518251A A应用举例应用举例例例1 1、异步方式下初始化编程、异步方式下初始化编程 编编写写8251A的的初初始始化化程程序序,使使之之工工作作于于异异步步模模式式,1 1个个偶偶校校验验位位,2 2个个停停止止位位,数数据据位位7 7位位,波波特特率率因因子子1616;清清除除出出错错标标志志,请请求求信信号号有有效效,使使发发送送、接接收收启启动动,CPU准备就绪。准备就绪。8251A端口地址:端口地址:5050H H,52H52H D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1 停止位个数停止位个数:00:无意义无意义01:1位位10:1位半位半11:2位位 奇偶校验:奇偶校验:0:无校验位无校验位01:奇校验奇校验11:偶校验偶校验 数据位个数数据位个数:00:5位位01:6位位10:7位位11:8位位 波特率因子:波特率因子:01:BF110:BF1611:BF64 1 01 01 11 1解:解:1)确定)确定8251A的模式字的模式字异步模式,异步模式,1 1个偶校验位,个偶校验位,2 2个停止位,数据位个停止位,数据位7 7位,波特率因子位,波特率因子1616。2)确定)确定8251A的控制字的控制字:清除出错标志,请求信号有:清除出错标志,请求信号有效,使发送、接收启动,效,使发送、接收启动,CPU准备就绪。准备就绪。发送发送允许。允许。0:禁止禁止1:允许允许 接收接收允许。允许。0:禁止禁止1:允许允许 复位错误复位错误标志。标志。1:使使PE、OE、FE复复位(清除位(清除出错指示出错指示位)位)内部复内部复位。位。1:使使8251复位,复位,返回方返回方式指令式指令发送空发送空白字符白字符1:强迫强迫TxD为为0,发,发送空白送空白字符字符 请求发请求发送。送。1:强迫强迫RTS为为0 数据终端数据终端准备好。准备好。1:强迫强迫DTR为为0搜索同搜索同步字符步字符1:启动启动搜索搜索 TxEN DTRRxE SBPKERRTSIREH D0 D1 D2 D3 D4 D5 D6 D7 00110111MOV AL,0FAH MOV AL,0FAH;11111010B 11111010B OUT 52H,AL OUT 52H,AL ;设置模式字设置模式字MOV AL,37H MOV AL,37H ;00110111B 00110111B OUT 52H,AL OUT 52H,AL ;设置控制字设置控制字56例例2、同步方式下初始化编程、同步方式下初始化编程编编写写8251A的的初初始始化化程程序序,使使之之工工作作于于同同步步方方式式,同同步步字字符符1 1个个,内内同同步步,数数据据位位7 7位位,偶偶校校验验。一一个个同同步步字字符符为为2 2AHAH。搜搜索索同同步步字字符符,复复位位出出错错标标志志,启启动动接接收收器器和和发发送送器器,CPUCPU准准备好发送备好发送,请求信号有效,请求信号有效。8251A端口地址:端口地址:5050H H,52H52H。MOV AL,0B8H MOV AL,0B8H ;1 10 01 11 110100000B BOUT 52H,AL OUT 52H,AL ;写方式字写方式字MOV AL,2AHMOV AL,2AHOUT 52H,AL OUT 52H,AL ;写同步字符写同步字符 MOV AL,0B7H MOV AL,0B7H ;1 10 01 11011110111B BOUT 52H,AL OUT 52H,AL ;写控制字写控制字57例例3、通过检测状态字实现数据接收功能、通过检测状态字实现数据接收功能编编程程实实现现CPU接接收收80个个字字符符,字字符符输输入入后后放放在在BUFFER所所指指的的内内存存缓缓冲冲区区。8251A工工作作于于异异步步方方式式,波波特特率率因因子子为为1616,7 7个个数据位,偶校验,数据位,偶校验,2 2个停止位。个停止位。8251A端口地址:端口地址:5050H H,52H52H。MOV AL,0FAHMOV AL,0FAH;11111010B11111010BOUT 52H,AL OUT 52H,AL;设置模式字设置模式字MOV AL,35H MOV AL,35H;00110101B00110101BOUT 52H,AL OUT 52H,AL;设置控制字设置控制字MOV DI,0 MOV DI,0 ;变址寄存器初始化变址寄存器初始化MOV CX,80 MOV CX,80 ;计数器初始化计数器初始化BEGIN:IN AL,52HBEGIN:IN AL,52H TEST AL,02H TEST AL,02H JZ BEGIN JZ BEGIN ;读状态字并测试,读状态字并测试,R RX XRDY=0RDY=0转转 IN AL,50H IN AL,50H ;读取字符读取字符 MOV BX,OFFSET BUFFER MOV BX,OFFSET BUFFER MOV BX+DI,AL MOV BX+DI,AL ;传输字符传输字符 INC DI INC DI ;修改缓冲区指针修改缓冲区指针 IN AL,52H IN AL,52H;读取状态字读取状态字 TEST AL,38H TEST AL,38H;测试有无错误测试有无错误 JNZ ERROR JNZ ERROR LOOP BEGIN LOOP BEGIN ;如没有错,则接收下如没有错,则接收下1 1个字符个字符 JMP EXIT JMP EXIT ;如满如满8080个字符,则结束个字符,则结束ERROR:CALL ERR_OUT ERROR:CALL ERR_OUT ;调用出错处理程序调用出错处理程序EXIT:EXIT:59例例4、8251A作为作为CRT接口的例子接口的例子 82518251A A工工作作于于异异步步模模式式,波波特特率率因因子子为为1616,8 8位位数数据据,1 1位位停停止止位位,无无校校验验位位。82538253计计数数器器2 2输输出出方方波波信信号号作作为为82518251A A的的接接收收时时钟钟TxCTxC和和发发送送时时钟钟RxCRxC,编编程程实实现现往往CRTCRT输输出出一一个个字字符符,要要输输出的字符事先放在堆栈中。出的字符事先放在堆栈中。8251A端口地址:端口地址:00 0D8HD8H,00DAH H。8251A的初始化程序段:的初始化程序段:INITINIT:MOV ALMOV AL,00H 00H ;ALAL清零清零 MOV CX MOV CX,00030003OUT1:MOV DXOUT1:MOV DX,00DAH00DAH OUT DX,AL OUT DX,AL LOOP OUT1 LOOP OUT1;往控制端口送往控制端口送3 3个个0 0 MOV AL MOV AL,40H 40H OUT DX,AL OUT DX,AL ;送送4040H H复位复位 MOV AL MOV AL,4EH 4EH ;0100111001001110 OUT DX,AL OUT DX,AL ;设模式字设模式字 MOV AL MOV AL,27H 27H ;00100111B00100111B OUT DX,AL OUT DX,AL ;设命令字启动设命令字启动 .注:注:8251A的复位约定:的复位约定:往奇地址端口先送往奇地址端口先送3个个00H,再送一个再送一个40H。往往CRT输出一个字符的程序段:输出一个字符的程序段:CHAROUTCHAROUT:MOV DXMOV DX,00DAH00DAHSTATESTATE:IN AL IN AL,DXDX;输入状态字输入状态字 TEST AL TEST AL,01 01 JZ STATE JZ STATE;不断测试状态位,不断测试状态位,T TX XRDY=0RDY=0转转 MOV DX MOV DX,00D8H 00D8H;数据端口地址送数据端口地址送DXDX POP AX POP AX ;AXAX中为要输出的字符中为要输出的字符 OUT DX OUT DX,AL AL ;往端口中输出一个字符往端口中输出一个字符8251A的初始化程序段:的初始化程序段:INITINIT:XOR AXXOR AX,AX AX ;AXAX清零清零 MOV CX MOV CX,00030003 MOV DX MOV DX,00DAH00DAHOUT1OUT1:CALL KKKCALL KKK LOOP OUT1 LOOP OUT1 ;往控制端口送往控制端口送3 3个个0 0 MOV AL MOV AL,40H 40H CALL KKK CALL KKK ;送送4040H H复位复位 MOV AL MOV AL,4EH 4EH ;0100111001001110 CALL KKK CALL KKK ;设模式字设模式字 MOV AL MOV AL,27H 27H ;00100111B00100111B CALL CALLKKKKKK ;设命令字启动设命令字启动 .KKKKKK:OUT DXOUT DX,AL AL ;数据输出数据输出 PUSH CXPUSH CX MOV CX MOV CX,0002 0002 ABCABC:LOOP ABC LOOP ABC ;等待输出动作完成等待输出动作完成 POP CXPOP CX RET RET64习题习题1 1、串行通信的类型有哪几种?简述各自的特点。、串行通信的类型有哪几种?简述各自的特点。2 2、什什么么是是波波特特率率因因子子?什什么么是是波波特特率率?设设波波特特率率因因子子为为6464,波特率为波特率为12001200bpsbps,则时钟频率为多少?则时钟频率为多少?3 3、写出标准异步通信数据格式。、写出标准异步通信数据格式。4 4、对、对82518251A A编程时,必须遵守哪些约定?编程时,必须遵守哪些约定?5 5、利用状态字进行检测,异步发送、利用状态字进行检测,异步发送256256个数据。个数据。82518251A A工工作作于于异异步步模模式式,波波特特率率因因子子为为1616,7 7位位数数据据,2 2位位停停止止位位,奇奇检检验验。清清除除出出错错标标志志,请请求求信信号号有有效效,使使发发送送、接接收收启启动动,CPU准准备备就就绪绪。设设待待发发送送的的字字符符放放在在BUFFER标标号号所所指的内存缓冲区。指的内存缓冲区。8251A端口地址:端口地址:80H80H,82H H。D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1 停止位个数停止位个数:00:无意义无意义01:1位位10:1位半位半11:2位位 奇偶校验:奇偶校验:0:无校验位无校验位01:奇校验奇校验11:偶校验偶校验 数据位个数数据位个数:00:5位位01:6位位10:7位位11:8位位 波特率因子:波特率因子:01:BF110:BF1611:BF64 1 01 00 11 1解:解:1)确定)确定8251A的模式字的模式字(0DAH)异步模式,异步模式,1 1个奇校验位,个奇校验位,2 2个停止位,数据位个停止位,数据位7 7位,波特率位,波特率因子因子1616。2)确定)确定8251A的控制字的控制字(37H)清除出错标志,请求信号有效,发送、接收启动,清除出错标志,请求信号有效,发送、接收启动,CPU准备就绪。准备就绪。发送允许。0:禁止1:允许 接收允许。0:禁止1:允许 复位错误标志。1:使PE、OE、FE复位(清除出错指示位)内部复位。1:使82