1、第八章 串行通信,本章要点: n 串行通信基本知识 n MCS-51单片机的串行口及控制寄存器 n MCS-51单片机的串行通信,第八章 串行通信,8.1串行通信基础知识 8.2MCS-51单片机的串行口及控制寄存器 8.3MCS-51单片机的串行通信,8.1串行通信基础知识,计算机的数据传送共有两种方式:并行数据传送和串行数据传送。 并行数据传送的特点是:各数据位同时传送,传送速度快、效率高。但并行数据传送有多少数据位就需多少根数据线,因此传送成本高。并行数据传送的距离通常小于30米,在计算机内部的数据传送都是并行的。 串行数据传送的特点是:数据传送按位顺序进行,最少只需一根传输线即可完成,
2、成本低但速度慢。计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千公里。,通常把计算机与其外界的数据传送称之为通信,因此我们通常所说的通信就是指串行通信,串行通信又分为异步和同步两种方式。在单片机中使用的串行通信都是异步方式,因此本章只介绍异步通信。 1 异步串行通信的字符格式 异步串行通信以字符为单位,即一个字符一个字符地传送。那么字符传送的格式又是如何呢?图7-1就是一个字符的异步串行通信格式。,对异步串行通信的字符格式作如下说明: (1)在这种格式标准中,信息的两种状态分别为 mark和 space标志。其中“mark”译为“标号”,对应逻辑“1”状态。在发送器空闲时,数
3、据线应保持在mark状态;“space”译为“空格”,对应逻辑“0”状态。 (2)起始位。发送器是通过发送起始位而开始一个字符的传送。起始位使数据线处于“space”状态 (3)数据位。起始位之后就传送数据位。在数据位中,低位在前(左),高位在后(右)。由于字符编码方式的不同,数据位可以是5、6、7或8位。 (4)奇偶校验位。用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有3种可能,即奇校验、偶校验和无校验,由用户根据需要选定。 (5)停止位。停止位在最后,用以标志一个字符传送的结束,它对应于mark状态。停止位可能是1、1.5或2位,在实际应用中根据需要确定。,(6)位时间。一个格
4、式位的时间宽度。 (7)帧(frame)。从起始位开始到停止位结束的全部内容称之为一帧,帧是一个字符的完整通信格式,因此也就把串行通信的字符格式称之为帧格式。 异步串行通信是一帧接一帧进行的,传送可以是连续的,也可以是断续的。连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符传送,即帧与帧之间是连续的。而断续的异步串行通信,则是在一帧结束之后并不一定接着传送下一个字符,不传送时维持数据线的mark状态,使数据线处于空闲。其后,新的字符传送可在任何时刻开始,并不要求整数倍的位时间。,2串行通信的数据通路形式 串行数据通信共有以下几种数据通路形式。 (1)
5、单工(Sim-Plex)形式 单工形式的数据传送是单向的。通信双方中一方固定为发送端,另一方则固定为接收钱。单工形式的串行通信,只需要一条数据线。如下图所示。 例如计算机与打印机之间的串行通信就是单工形式,因为只能有计算机向打印机传送数据,而不可能有相反方向的数据传送。,(2)全双工(Full-duplex)形式 全双工形式的数据传送是双向的,且可以同时发送和接收数据因此全双工形式的串行通信需要两条数据线。如图所示。,(3)半双工(Half-duplex)形式 半双工形式的数据传送也是双向的。但任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式既可以使用一条数据线,也可以使用两条
6、数据线。如图7-4(c)所示。,3串行通信的传送速率 传送速率用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率(band rate)。每秒传送一个格式位就是1波特。即: 1波特=1bps(位/秒) 在串行通信中,格式位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率高,则波特率也高,通信速度就快;反之,时钟频率低,则波特率也低,通信速度就慢。串行通信可以使用的标准波特率在RS-232C标准中已有规定,使用时应根据速度需要、线路质量以及设备情况等因素选定。波特率选定之后,对于设计者来说,就是如何得到能满足波特率
7、要求的发送时钟脉冲和接收时钟脉冲。,8.1.2 RS-232总线标准 串行通信使用 RS-232C标准,为美国电子工业协会(Electronic Industry Asso -ciation)的推荐标准,现已在全世界范围内被广泛采用。RS-232C实际上是串行通信的总线标准。 1RS-232C信号引脚定义 该总线标准定义了25条信号线,使用25个引脚的连接器,各信号引脚的定义见表7-1。,2RS-232C主要串行通信信号 RS-232C标准中的许多信号是为通信业务联系或信息控制而定义的,在计算机串行通信中主要使用如下信号: (1)数据传送信号发送数据(TXD)接收数据(RXD),(2)调制解调
8、器控制信号 请求发送(RTS) 清除发送(CTS) 数据通信设备准备就绪(DSR) 数据终端设备准备就绪(DTR) (3)定位信号 接收时钟(RXC) 发送时钟(TXC) (4)信号地(SG)和保护地(PG),3RS-232C的其它规定 除信号定义外,RS-232C标准的其它规定还有: (1)RS-232C是一种电压型总线标准,以不同极性的电压表示逻辑值: -3 V-25 V表示逻辑“1”(mark) +3V+25V表示逻辑“0”(space) (2)标准数据传送速率有50、75、110、150、300、600、1200、2400、4800、9600、19200波特等。 (3)采用标准的25芯
9、插头座(DB-25)进行连接,因此该插头座也称之为RS-232C连接器。,8.1.3 串行接口电路 串行数据通信主要有两个技术问题。一个是数据传送,另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。而数据转换则是指数据的串并行转换。因为在计算机中使用的数据都是并行数据,因此在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。 数据转换由串行接口电路实现,这种电路也称之为通用异步接收发送器(UART)。从原理上说,一个UART应包括发送器电路、接收器电路和控制电路等内容,其主要功能是: l数据的串行化反串行化 所谓串行化处理就是把并行数据格
10、式变换为串行数据格式,即按帧格式要求把格式信息(起始位、奇偶位和停止位)插入,和数据位一起构成串行数据的位串,然后进行串行数据传送。在UART中,完成数据串行化的电路属发送器。,所谓反串行化就是把串行数据格式变换为并行数据格式,即把帧中的格式信息滤除而保留数据位。在UART中,实现数据反串行化处理的电路属接收。 2错误检验 错误检验的目的在于检验数据通信过程是否正确。在串行通信中可能出现的错误包括奇偶错和帧错等。 但请注意,要完成串行数据通信,光有硬件电路还不够,还需要有软件的配合。,8.2 MCS-51单片机的串行口及控制寄存器 在单片机芯片中,UART已集成在其中,作为其组成部分,构成一个
11、串行口。MCS-51系列单片机的串行口是全双工的,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。 在串行口中可供用户使用的是它的寄存器,因此其寄存器结构对用户来说十分重要。,8.2.1 串行口寄存器结构 MCS-51单片机串行口寄存器的基本结构如图7-5所示。,图7-5 MCS-51串行口寄存器结构,图中共有两个串行口的缓冲寄存器(SBUF),一个是发送寄存器,一个是接收寄存器,以便MCS-51能以全双工方式进行通信。串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器。但因为发送与接收不能同时进行
12、,所以给这两个寄存器以同一地址(99H)。在第二章的专用寄存器表中已经列出。 在接收方式下,串行数据通过RXD(P3.0)引脚进入。由于在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误(即在帧数据来时,前一帧数据还没有读走)。 在发送方式下,串行数据通过引脚TXD(3.1)送出与接收数据情况不同,发送数据时,不会发生帧重叠错误,因此发送电路就不需双重缓冲结构,这样可以提高数据发送速度。,8.2.2 串行通信控制寄存器 8051的串行口是一个可编程接口,因此对它的初始化编程只需把控制字写入相关寄存器即可,与串行有关的控制寄存器共有个,分别为SC
13、ON、PCON和IE。下面分别进行介绍。 1.串行口控制寄存器SCON SCON是MCS-51的一个可位寻址的专用寄存器,用于串行数据通信的控制。字节地址98H,位地址9FH98H。寄存器格式内容及位地址如表7-2所示。,表7-2行控制寄存器SCON,各位功能说明如下: (1)SM0、SM1 :串行口工作方式选择 其状态组合所对应的工作方式为:SM0 SM1 工作方式0 0 00 1 11 0 21 1 3 (2)SM2 :多机通信控制位 因多机通信是在方式2和方式3下进行,因此SM2位主要用于方式2和方式3。当串行口以方式接收时,如SM2,则只有当接收到的第位数据(RB8)为“”,才将接收到
14、的前位数据送入SBUF,并置位RI产生中断请求;否则,将接收到的前位数据丢弃。而当SM2时,则不论第位数据为“”还是为“”,前位数据都装入SBUF中,并产生中断请求。,在方式时,SM2必须为“” ()REN:允许接收位 REN位用于对串行数据的接收进行控制: REN 禁止接收 REN 允许接收 该位由软件置位或复位 (4)TB8 :发送数据位 在方式和方式时,TB8的内容是要发送的第位数据,其值由用户通过软件设置。在双机通信时,TB8一般作为奇偶校验位使用;在多机通信中,常以TB8位的状态表示主机发送的是地址帧还是数据帧,且一般约定:TB8为数据帧,TB8为地址帧。 (5)RB8:接收数据位
15、在方式或方式时,RB8存放接收到的第位数据,代表着接收数据的某种特征(与TB8的功能类似),故应根据其状态对接收数据进行操作。,(6)TI:发送中断标志 当方式时,发送完第位数据后,该位由硬件置位。在其它方式下,该位在发送停止位之前,由硬件置位。因此TI,表示帧发送结束,其状态既可供软件查询用,也可作为中断申请标志向CPU请求中断。 TI位由软件清“0”。 (7)RI:接收中断标志 当工作于方式0时,接收完第8位数据后,该位由硬件置位。在其它方式下,当接收到停止位时,该位由硬件置位。因此RI=1,表示帧接收结束。其状态既可供软件查询使用,也可作为中断申请标志向CPU请求中断。 RI位由软件清“
16、0”。,2电源控制寄存器PCON PCON主要是为CHMOS型单片机80C51的电源控制而设置的专用寄存器。字节地址为87H。其内容如表7-3所示。,表7-3电源控制寄存器PCON,在HMOS的单片机中,该寄存器除最高位之外,其它位都没有定义。最高位(SMOD)是串行口波特率的倍增位,当 SMOD=1时,串行口波特率加倍。系统复位时,SMOD=0。 PCON寄存器不能进行位寻址,因此表中写了“位序”而没有标明“位地址”。 3中断允许寄存器IE 该寄存器已在第五章中介绍过,但为介绍串行数据通信再在此将它列出。IE各位定义如表7-4所示。,表7-4中断允许寄存器IE,其中,ES为串行中断允许位。
17、ES0 禁止串行中断 ES1 允许串行中断,8.3 MCS-51单片机的串行通信 MCS-5l单片机的串行口共有 4种工作方式,4种方式的基本情况如表7-5所示。,从表中可以看到,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,其值由定时器T1的溢出率控制。下面分别介绍各种工作方式。,8.3.1 串行工作方式 在方式0下,串行口作为同步移位寄存器使用,这时以 RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位时钟脉冲。这种方式主要用于扩展I/O接口。移位数据的发送和接收以8位为一组,低位在前高位在后。其格式为:,1. 数据发送与接收 使用方式0实现
18、数据的移位输入输出时,实际上是把串行口变成为并行口使用。串行口作为并行输出口使用时,要有“串入并出”的移位寄存器(例如 CD4094或74LS164、74HC164等)配合,其电路连接如图7-6(a)所示。 数据预先写入串行口数据缓冲寄存器,然后从串行口RXD端在移位时钟脉冲(TXD)的控制下逐位移入CD4094。当8位数据全部移出后,SCON寄存器的发送中断标志TI被自动置“1”。其后程序可以中断或查询的方法,通过设置STB状态的控制,把CD4094的内容并行输出。,图7-6(b) 串行口扩展并行输入口,如果把能实现“并入串出”功能的移位寄存器(例如CD4014或74LS165、74HC16
19、5等)与串行口配合使用,就可以把串行口变为并行输入口使用。如图7-6(b)所示。,CD4014移出的串行数据同样经RXD端串行输入,移位时钟脉冲由TXD端提供。8位数据串行接收需要有允许接收的控制,具体由 SCON寄存器的REN位实现。REN=0,禁止接收;REN=1,允许接收。当软件置位REN时,即开始从RXD端输入数据(低位在前),当接收到8位数据时,置位接收中断标志RI。,方式0时,移位操作(串入或串出)的波特率是固定的,为单片机晶振频率的十二分之一,如晶振频率以fosc表示,则:波特率=fosc12。按此波特率也就是一个机器周期进行一次移位,如fosc=6MHZ,则波特率为500K(b
20、ps),即2s移位一次。如fosc=12 MHZ,则波特率为1M(bps),即1s移位一次。,2.应用举例 【例7-1】在MCS-51系统中,若串行口未被占用,则可用串行口的工作方式0来扩展并行I/O口。此时不占用片外RAM的地址。 设电路连接如图7-7所示,将CD4094的并行输出端接8支发光二极管,利用它的串入并出功能,把发光二极管从左向右依次点亮,并反复循环之。假定发光二极管为共阴极型。,图7-7 串行移位输出电路连接,分析: 串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,若采用中断方式,可在发完一帧数据后由TI置位发出中断申
21、请,在中断服务程序中发送下一帧数据;若采用查询方式,可通过程序查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通讯之前,都要先对控制寄存器SCON进行初始化。在方式0中,只要将控制字00H送SCON就可以了。 把80C51串行口8位状态码串行移位输出后,TI置“l”,把TI作为状态查询标志,则使用查询方式完成的参考程序如下:,MOV SCON,00H ;串行口方式0工作CLR ES ;禁止串行中断MOV A,80H ;发光管从左边亮起 DELR:CLR P1.0 ;关闭并行输
22、出MOV SBUF,A ;串行输出JNB TI, ;状态查询SETB P1.0 ;开启并行输出ACALL DELAY ;状态维持CLR TI ;清发送中断标志RR A ;发光组合右移AJMP DELR ;继续,在使用时要注意SM2的状态必须为“0”。如采用中断方法,系统同样不能自动清除TI和RI状态,需由用户软件复位。,8.3.2 串行工作方式 方式1是10位为一帧的异步串行通信方式。共包括 1个起始位(低电平),8个数据位(最低位在前)和1个停止位。其帧格式为:,1数据发送与接收 方式1的数据发送是由一条写发送寄存器(SBUF)的指令开始,随后在串行口由硬件自动加入起始位和停止位,构成一个完
23、整的帧格式,然后在移位脉冲的作用下,由TXD端串行输出。一个字符帧发送完后,使TXD输出线维持在“l”(mark)状态下,并将 SCON寄存器的TI置“1”,通知 CPU可以接着发送下一个字符。,接收数据时,SCON的REN 位应处于允许接收状态(REN=1)。在此前提下,串行口采样RXD端,当采样到从“l”向“0”的状态跳变时,则认定为接收到起始位,随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中,直到停止位到来之后把停止位送RB8中,并置位中断标志位RI,通知 CPU从 SBUF取走接收到的字符。 2波特率的设定 方式0的波特率是固定的,但方式1的波特率则是可变的,以定时器T作波特
24、率发生器使用,其值由定时器1的计数溢出率和PCON寄存器中SMOD位的值来决定,其公式为:,波特率,其中smod为PCON寄存器最高位的值,其值为1或0。 当定时器1作波特率发生器使用时,通常使T1工作在工作方式2模式(即8位自动加载方式)。定时器之所以选择工作方式2,是因为方式2具有自动加载功能,可避免通过程序反复装入初值所引起的定时误差,使波特率更加稳定。假定计数初值为X,那么每过“256-X”个机器周期,定时器T1就会产生一次溢出,为了避免因溢出而产生不必要的中断,所以此时应禁止T1中断。,溢出周期为:,溢出率为溢出周期的倒数,因此溢出率为: 将溢出率带入波特率计算公式,则有:波特率实际
25、使用时,总是先确定波特率,再计算定时器1的计数初值,然后进行定时器的初始化。根据上述波特率计算公式,得出计数初值的计算公式为:,由于T1作为波特率发生器是由系统硬件决定的,因此硬件电路接好后,无需用户在硬件上再做额外的工作,只需根据通信所要求的波特率计算出定时器TI的计数初值,以便在程序中使用即可。,8.3.3 串行工作方式2 方式2是11位为一帧的串行通信方式,即 1个起始位、9个数据位和 1个停止位。其帧格式为:,在方式 2下,字符还是 8个数据位,只不过增加了一个第9个数据位TB8(D8),而且其功能由用户确定,是一个可编程位。TB8由软件置位或复位,可以作为多机通信中的地址数据标志位,
26、也可作为数据的奇偶校验位。 在发送数据时,应预先在SCON的TB8位中把第9个数据位的内容准备好。这可使用如下指令完成: SETB TB8 ;TB8位置“1” CLR TB8 ;TB8位置“0”,发送数据(D0D7)由MOV指令向SBUF写入,而D8位的内容则由硬件电路从TB8中直接送到发送移位寄存器的第九位,并以此来启动串行发送。一个字符帧发送完毕后,将TI位置“1”,其它过程与方式1相同。 方式2的接收过程也与方式1基本类似,所不同的只在第9数据位上。串行口把接收到的前8个数据位送入SBUF,而把第9数据位送入RB8。 方式2的波特率是固定的,且有两种。一种是晶振频率的三十二分之一;另一种
27、是晶振频率的六十四分之一。即:fosc32和fosc64。如用公式表示则为:,波特率即与 PCON寄存器中SMOD位的值有关。当SMOD=0时,波特率为fosc的六十四分之一;当SMOD=1时,波特率等于fosc的三十二分之一。,8.3.4 串行工作方式 方式3同样是11位为一帧的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率。方式2的波特率只有固定的两种,而方式3的波特率则可由用户根据需要设定。其设定方法与方式1相同,即通过设置定时器1的初值来设定波特率,其公式为:波特率可以看出,方式1和方式3的波特率主要取决于定时器T1的溢出率,其中较常用波特率的设定参数如表7-6所示。,
28、7.3.5 多机通信利用单片机的串行口,可以实现单片机与单片机、单片机与微机间的点对点双机通信。而在实际应用中,有时需要多个微处理器协调工作,为此8031单片机还提供了多机通信方式。多机通信系统通常采用主从结构,1台主机控制多台从机,从机同时执行各自的程序,可以减轻主机工作负担,提高工作效率。图7-8所示为一个总线式主/从多机通信图,主机的RXD端与所有从机的TXD端相连,主机的TXD端与所有从机的RXD端相连,主机发布信息从机接收,从机发送的信息只能由主机接收,主机控制从机之间的信息交换,从机之间不能直接通信。,图7-8 总线式主/从多机通信图,1多机通信原理 多机通信必须在方式2或方式3下
29、工作,规定相同的通信波特率。 主机应设SM2=0;从机应设SM2=1(接收数据帧时设SM2=0)。 主机发布的信息帧有两类: (1)地址帧:包含有从机地址和TB8=1的标志。 (2)数据帧:包含的数据和TB8=0的标志。 SM2位在方式2、3接收过程中的作用: 满足下列接收条件: (1)RI=0 (只要是接收RI必须清0) (2)SM2=0或接收到第9位数据为1。 则将数据装入SBUF和RB8,并置RI=1。否则,接收到的数据全部丢失,并且RI也不置位,而后不管上述两个条件是否满足,接收器复位,重新检测RXD上的跳变,从机说明: (1)只要是地址帧(RB8=1)从机都会接收。 (2)从机设置R
30、I=0、SM2=1条件,只能接收地址帧(RB8=1)。不能接收数据帧(第9位数据为0)。 (3)从机设置RI=0、SM2=0条件,数据帧、地址帧均可接收。 2主从式多机通信协议 为使多机通信可靠工作,必须规定严格的通信协议。现介绍几条规定的基本协议: (1)数据块长度为16个字节。 (2)从机的地址为00H0FEH,即最多允许接入255台从机。 (3)先使所有从机的SM2位置位,处于允许接入地址帧的状态。 (4)主机SM2=0;从机SM2=1,以便接收主机的地址帧。 (5)主机发布地址帧(TB8=1)。,(6)所有从机在REN=1、RI=0、SM2=1条件下,接收到主机发布的地址帧,RB8=1
31、,置RI=1,进入中断服务程序,并和本机地址比较以确认是否呼叫本机。 (7)被寻址从机置SM2=0,以便接收数据帧,并向主机回应本机地址,供主机核对。未被寻址从机保持SM2=1,并退出中断服务程序。 (8)主机发送数据帧(TB8=0),被寻址从机接收数据帧。未被寻址从机由于不满足接收条件,放弃接收到的数据帧。 (9)通信完成后,被寻址从机重新置SM2=1,并退出中断服务程序,等待下次通信。 3多机通信编程示例,【例7-3】设一台主机与若干台从机实现多机通信。所有从机的RXD端并在一起后与主机的TXD端相连,每一个从机都有一个各自的约定地址编号,主机通过发送地址寻找要实现通信的从机,找到后给从机
32、发去数据,而其它的从机都收不到这个数据,从而实现多机通信。设主机和从机都工作在串行方式2,使用统一的波特率。主机要发送的数据存在R2中,从机接收到的数据存在R3中。,解:根据多机通信协议,设从机接收采用中断方式,主机与从机通信的算法流程图如图7-9所示。,图7-9(a)主机程序流程图,图7-9(b)从机程序流程图,主机通信子程序如下:MAIN: MOV SCON,#80HSETB TB8 ;地址标志MOV SBUF,#ADDR1 ;发地址CLR ESHERE1: JNB TI,HERE1 ;等地址发送完CLR TICLR TB8 ;数据标志MOV SBUF,R2 ;发数据HERE2: JNB
33、TI,HERE2 ;等数据发送完CLR TIRET,(2)从机通信程序如下:SUBRD:MOV SCON,#0B0H ;做好接受准备MOV IE,#90H ;开串行口中断WAIT:AJMP WAIT ;等待中断;下面为接收中断服务程序SUBR:JNB SM2,RECEDAMOV A,SBUF ;接收地址CJNE A,#ADSILF,ME ;主机是否呼叫自己CLR SM2ME: CLR RI,RETIRECEDA:MOV A,SBUF ;接收数据MOV R3,ASETB SM2CLR RIRETI,本章小结 本章在介绍串行通信基础知识的基础上,着重介绍了MCS-51单片机串行口的构成、串行口相关
34、控制寄存器的功能及使用方法,并举例说明了四种串行工作方式的特点及各自的应用环境。其中串行通信方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,主要由定时器T1的溢出率决定。,思考与练习,一、思考题 1假定异步串行通信的字符格式为一个起始位、8个数据位、2个停止位以及奇校验,请画出传送字符“T”的帧格式。 2设串行口工作于方式2,SMOD=1,发送数据#Data,第9位作奇偶校验位,请编写发送子程序。,3以80C51串行口按工作方式3进行串行数据通信。假定波特率为1200bps,第九数据位作奇偶校验位,以中断方式传送数据,请编写通信程序。 4串行工作方式2,SMOD=1,接收数据
35、并作奇偶校验。请编写接收子程序。,二、习题,填空题 1计算机的数据传送有两种方式,即:_方式和_方式,其中具有成本低特点的是_数据传送。 2异步串行数据通信的帧格式由_位、_位、_位和_位组成。,3异步串行数据通信有_、_和_共三种数据通路形式。 4串行接口电路的主要功能是_化和_化,把帧中格式信息滤除而保留数据位的操作是_化。 5专用寄存器“串行数据缓冲寄存器”,实际上是_寄存器和_寄存器的总称。,6MCS-51的串行口在工作方式0下,是把串行口作为_寄存器来使用。这样,在串入并出移位寄存器的配合下,就可以把串行口作为_口使用,在并入串出移位寄存器的配合下,就可以把串行口作为_口使用。 7在
36、串行通信中,收发双方对波特率的设定应该是_的。 8使用定时器计数器1设置串行通信的波特率时,应把定时器计数器1设定作方式_,即_方式。,选择题 在下列的(A)、(B)、(C)、(D)4个选项中,只有一个是正确的。请选择出来。 1调制解调器(MODEM)的功能是 (A)数字信号与模拟信号的; (B)电平信号与频率信号的; (C)串行数据与并行数据的; (D)基带传送方式与频带传送方式的。,2串行通信的传送速率单位是波特,而波特的单位是 (A)字符秒; (B)位秒; (C)帧/秒;(D)帧/分。 380C51有一个全双工的串行口,下列功能中该串行口不能完成的是 (A)网络通信; (B)异步串行通信
37、; (C)作为同步移位寄存器; (D)位地址寄存器。 4帧格式为1个起始位、8个数据位和1个停止位的异步串行通信方式是 (A)方式0; (B)方式1; (C)方式2; (D)方式3。 5通过串行口发送或接收数据时,在程序中应使用 (A)MOV指令; (B)MOVX指令; (C)MOVC指令; (D)SWAP指令。 6以下所列特点中,不属于串行工作方式2的是 (A)11位帧格式; (B)有第九数据位; (C)使用一种固定的波特率; (D)使用两种固定的波特率。,7下有关第9数据位的说明中,错误的是 (A)第9数据位的功能可由用户定义; (B)发送数据的第9数据住内容在SCON寄存器的TB8位中预先准备好; (C)帧发送时使用指令把TB8位的状态送入发送SBU; (D)接收到的第9数据位送SCON寄存器的RB8中。 8串行工作方式1的波特率 (A)固定的,为时钟频率的十二分之一; (B)固定的,为时钟频率的三十二分之一; (C)固定的,为时钟频率的六十四分之一; (D)可变的,通过定时器计数器1的溢出率设定。,