资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,全国高职高专规划教材,精品与示范系列,单片机应用技术,(,C,语言版),串行通信基础,两种通信方式的示意图,串行通信基础,并行通信中,信息传输的位数和数据位数相等;串行通信中,数据一位一位顺序传送。,并行通信速度快,传输线多,适合于近距离的数据通信,但硬件接线成本高;串行通信速度慢,但硬件成本低,传输线少,适合于长距离数据传输。,串行通信的制式,在串行通信中数据是在两个站之间进行传送的,按照数据传送方向,串行通信可分为单工(,simplex,)、半双工(,half duplex,)和全双工(,full duplex,)三种制式。,在单工制式下,通信线的一端是发送器,一端是接收器,数据只能按照一个固定的方向传送。,在半双工制式下,系统的每个通信设备都由一个发送器和一个接收器组成,但同一时刻只能有一个站发送,一个站接收;两个方向上的数据传送不能同时进行。即只能一端发送,一端接收,其收发开关一般是由软件控制的电子开关示。,全双工通信系统的每端都有发送器和接收器,可以同时发送和接收,即数据可以在两个方向上同时传送。,异步通信,在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据是低位在前,高位在后,通过传输线被接收端一帧一帧地接收。发送端和接收端可以由各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。,在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送何时结束发送的。,字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成。,异步通信,异步通信的另一个重要指标为波特率。,波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为,b/s,,即位,/,秒。波特率用于表征数据传输的速度,波特率越高,数据传输速度越快。通常,异步通信的波特率为,50,9600b/s,。,MCS-51,单片机串行口,SBUF,(,发),SBUF,(,收),发送控制器,TI,接收控制器,RI,移位寄存器,波特率发生器,1,A,累加器,移位寄存器,RxD,TxD,申请中断,引脚,引脚,CPU,内部,串行口结构,MCS-51,的串行接口,SBUF,是两个在物理上独立的接收、发送寄存器,一个用于存放接收到的数据,另一个用于存放待发送的数据,可同时发送和接收数据。两个缓冲器共用一个地址,99H,,通过对,SBUF,的读、写语句来区别是对接收缓冲器还是发送缓冲器进行操作。,CPU,在写,SBUF,时,操作的是发送缓冲器;读,SBUF,时,就是读接收缓冲器的内容。,SBUF=,sendi,;/,发送第,i,个数据,bufferi,=SBUF;/,接收数据,串行口控制寄存器,SCON,SCON (98H),SM0,SM1,SM2,REN,TB8,RB8,TI,RI,串行口的工作方式,SM0 SM1,工作方式,功能,波特率,0 0,方式,0,8,位同步移位寄存器,f,osc,/12,0 1,方式,1,10,位,UART,可变,1 0,方式,2,11,位,UART,f,osc,/64,或,f,osc,/32,1 1,方式,3,11,位,UART,可变,串行口控制寄存器,SCON,SCON (98H),SM0,SM1,SM2,REN,TB8,RB8,TI,RI,SM2,:多机通信控制位,用于方式,2,和方式,3,中。,REN,:允许串行接收位。由软件置位或清零。,REN=1,时,允许接收,,REN=0,时,禁止接收。,TB8,:发送数据的第,9,位。在方式,2,和方式,3,中,由软件置位或复位。一般可做奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位,一般约定地址帧时,TB8,为,1,,数据帧时,TB8,为,0,。,RB8,:接收数据的第,9,位。功能同,TB8,。,串行口控制寄存器,SCON,SCON (98H),SM0,SM1,SM2,REN,TB8,RB8,TI,RI,TI,:发送中断标志位。在方式,0,中,发送完,8,位数据后,由硬件置位;在其他方式中,在发送停止位之初由硬件置位。因此,,TI=1,是发送完一帧数据的标志,其状态既可供软件查询使用,也可请求中断。,TI,位必须由软件清,0,。,RI,:接收中断标志位。在方式,0,中,接收完,8,位数据后,由硬件置位;在其他方式中,当接收到停止位时该位由硬件置,1,。因此,,RI=1,是接收完一帧数据的标志,其状态既可供软件查询使用,也可请求中断。,RI,位也必须由软件清,0,。,电源及波特率选择寄存器,PCON,PCON,主要是为,CHMOS,型单片机的电源控制而设置的专用寄存器,字节地址为,87H,,不可以位寻址。在,HMOS,的,AT89C51,单片机中,,PCON,除了最高位以外其它位都是虚设的。,PCON(87H),SMOD,GF1,GF0,PD,IDL,与串行通信有关的只有,SMOD,位。,SMOD,为波特率选择位。在方式,1,、,2,和,3,时,串行通信的波特率与,SMOD,有关。当,SMOD=1,时,通信波特率乘,2,,当,SMOD=0,时,波特率不变。,MCS-51,串行口的工作方式,方式,0,在方式,0,下,串行口作同步移位寄存器使用,其波特率固定为,fosc/12,。串行数据从,RXD,(,P3.0,)端输入或输出,同步移位脉冲由,TXD(P3.1),送出。,这种方式通常用于扩展,I/O,口。,MCS-51,串行口的工作方式,方式,1,发送时,当数据写入发送缓冲器,SBUF,后,启动发送器发送,数据从,TXD,输出。当发送完一帧数据后,置中断标志,TI,为,1,。方式,1,下的波特率取决于定时器,1,的溢出率和,PCON,中的,SMOD,位。,接收时,,REN,置,1,,允许接收,串行口采样,RXD,,当采样由,1,到,0,跳变时,确认是起始位,“,0,”,,开始接收一帧数据。当,RI=0,,且停止位为,1,或,SM2=0,时,停止位进入,RB8,位,同时置中断标志,RI,;否则信息将丢失。所以,采用方式,1,接收时,应先用软件清除,RI,或,SM2,标志。,MCS-51,串行口的工作方式,方式,2,发送时,先根据通信协议由软件设置,TB8,,然后将要发送的数据写入,SBUF,,启动发送。写,SBUF,的语句,除了将,8,位数据送入,SBUF,外,同时还将,TB8,装入发送移位寄存器的第,9,位,并通知发送控制器进行一次发送,一帧信息即从,TXD,发送。在送完一帧信息后,,TI,被自动置,1,,在发送下一帧信息之前,,TI,必须在中断服务程序或查询程序中清,0,。,MCS-51,串行口的工作方式,方式,2,当,REN=1,时,允许串行口接收数据。当接收器采样到,RXD,端的负跳变,并判断起始位有效后,数据由,RXD,端输入,开始接收一帧信息。当接收器接收到第,9,位数据后,若同时满足以下两个条件:,RI=0,和,SM2=0,或接收到的第,9,位数据为,1,,则接收数据有效,将,8,位数据送入,SBUF,,第,9,位送入,RB8,,并置,RI=1,。若不满足上述两个条件,则信息丢失。,MCS-51,串行口的工作方式,方式,3,方式,3,为波特率可变的,11,位,UART,通信方式,除了波特率以外,方式,3,和方式,2,完全相同。,MCS-51,串行口的波特率,方式,0,和方式,2,在方式,0,中,波特率为时钟频率的,1/12,,即,fosc/12,,固定不变。,在方式,2,中,波特率取决于,PCON,中的,SMOD,值,当,SMOD=0,时,波特率为,fosc/64,;当,SMOD=1,时,波特率为,fosc/32,。即波特率,=,。,。,MCS-51,串行口的波特率,方式,1,和方式,3,在方式,1,和方式,3,下,波特率由定时器,T1,的溢出率和,SMOD,共同决定,即:,方式,1,和方式,3,的波特率,=,定时器,1,溢出率,其中,定时器,1,的溢出率取决于单片机定时器,1,的计数速率和定时器的预置值。计数速率与,TMOD,寄存器中的,C/,位有关,当,C/=0,时,计数速率为,fosc/12,,当,C/=1,时,计数速率为外部输入时钟频率。,。,MCS-51,串行口的波特率,方式,1,和方式,3,实际上,当定时器,T1,做波特率发生器使用时,通常是工作在模式,2,下,即作为一个自动重装载的,8,位定时器,此时,TL1,作计数用,自动重装载的值在,TH1,内。设计数的预置值(初始值)为,X,,那么每过,256-X,个机器周期,定时器溢出一次。为了避免溢出而产生不必要的中断,此时应禁止,T1,中断。溢出周期为,12,(,256-X,),/,fosc,.,溢出率为溢出周期的倒数。,。,80C51,单片机的串口中断号为,,,按每次传送数据之前是否同步字符来看,,串口的通信方式有,和,两种基本通信方式。,5,、,同步通信,、,异步通信,;,若,8051,单片机串行口以异步通信模式,3,传送数据,,已知每分钟传送,3600,个字符,其波特率,bps,。,660,MCS-51,单片机的串口工作方式,0,是(,C,)。,A,、单工通信方式,B,、双工通信方式,C,、同步通信方式,D,、异步通信方式,数据传送的速率是,3600,字符,/,秒,每个字符由一个起始位,8,个数据位和一个停止位组成,则传送波特率为()。,MCS-51,用串行接口扩展并行,I/O,口时,串行接口,工作方式选择()。,36000bps,、,方式,0,串行口控制寄存器,SCON,中,,REN,位的作用是(,C,)。,A,、接收中断请求标志,B,、发送中断请求标志,C,、串行口允许接收位,D,、地址,/,数据标志位,计算机的串行口和单片机的串行口采用的分别是,(,B,)电平标准信号。,A,、,RS-232C,RS-232C B,、,RS-232C,TTL,C,、,TTL,RS-232C D,、,TTL,TTL,两个,8051,单片机进行双机通信时,双方的波特率及发送引脚(,TXD,),和接收引脚(,RXD,)的连接必须符合下列哪个条件(,D,)。,A,、相等,平行,B,、不等,交叉,C,、不等,平行,D,、相等,交叉,当使用,8051,单片机的串行口扩展并行输入,/,输出口时,,必须设置,SM1,和,SM0,分别为(,A,)。,A,、,0,,,0 B,、,0,,,1 C,、,1,,,0 D,、,1,,,1,两个,8051,单片机通过,MAX232,连接进行双机通信时,,单片机的发送引脚(,TXD,)和接收引脚(,RXD,),分别连接,MAX232,的(,C,)引脚。,A.T1IN,、,T1OUT B.R1IN,、,R1OUT,C.T1IN,、,R1OUT D.T1OUT,、,R1IN,MCS-51,单片机串行口接收数据的次序是下述的顺序(,C,)。,(,1,)接收完一帧数据后,硬件自动将,SCON,的,R1,置,1,(,2,)用软件将,RI,清零,(,3,)接收到的数据由,SBUF,读出,(,4,)置,SCON,的,REN,为,1,,外部数据由,RXD,(,P3,0,)输入,A,、(,1,)(,2,)(,3,)(,4,),B,、(,4,)(,1,)(,2,)(,3,),C,、(,4,)(,3,)(,1,)(,2,),D,、(,3,)(,4,)(,1,)(,2,),MCS-51,单片机串行口发送数据的次序是下述的顺序(,A,)。,(,1,)待发送数据送,SBUF,(,2,)硬件自动将,SCON,的,TI,置,1,(,3,)经,TXD,(,P3.1,)串行发送一帧数据完毕,(,4,)用软件将,TI,清,0,A,、(,1,)(,3,)(,2,)(,4,),B,、(,1,)(,2,)(,3,)(,4,),C,、(,4,)(,3,)(,1,)(,2,),D,、(,3,)(,4,)(,1,)(,2,),串行通信方式的通信速率低于同条件的并行通信方式。(,),
展开阅读全文