第8章80C51单片机串行通信.ppt

上传人:赵** 文档编号:67292439 上传时间:2022-12-24 格式:PPT 页数:73 大小:2.78MB
返回 下载 相关 举报
第8章80C51单片机串行通信.ppt_第1页
第1页 / 共73页
第8章80C51单片机串行通信.ppt_第2页
第2页 / 共73页
点击查看更多>>
资源描述

《第8章80C51单片机串行通信.ppt》由会员分享,可在线阅读,更多相关《第8章80C51单片机串行通信.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、熟悉串行通信的基本概念熟悉串行通信的基本概念掌握串行口的结构及工作原理掌握串行口的结构及工作原理掌握串行口的工作方式掌握串行口的工作方式掌握串行口的应用掌握串行口的应用学习重点和难点学习重点和难点 80C51单片机串行通信的基本原理单片机串行通信的基本原理单片机串行通信的应用单片机串行通信的应用 教学目的教学目的 第第8章章 80C51单片机串行通信单片机串行通信第第8章章 80C51单片机串行通信单片机串行通信8.1 8.1 串行通信基础知识串行通信基础知识8.2 80C518.2 80C51串行口串行口8.3 80C518.3 80C51串行口工作方式串行口工作方式8.4 8.4 串行通信

2、数据传输速率串行通信数据传输速率8.5 8.5 串行通信应用串行通信应用8.1 串行通信基础知识串行通信基础知识通信通信:指计算机与外部设备或计算机与计算机之间的信息交换。:指计算机与外部设备或计算机与计算机之间的信息交换。在计算机系统中,在计算机系统中,CPU与外部通信的基本方式有两种:与外部通信的基本方式有两种:l并行通信并行通信数据的各位同时传送。数据的各位同时传送。l串行通信串行通信数据一位一位顺序传送。数据一位一位顺序传送。基本通信方式示意图基本通信方式示意图 8.1 串行通信基础知识串行通信基础知识 并行通信的特点:并行通信的特点:各数据位同时传送,传送速度快、效各数据位同时传送,

3、传送速度快、效率高。率高。但有多少数据位就需要有多少根数据线,因此传送成但有多少数据位就需要有多少根数据线,因此传送成本高。在集成电路芯片的内部、同一插件板上各部件之间、本高。在集成电路芯片的内部、同一插件板上各部件之间、同一机箱内各插件板之间等的数据传送都是并行的。并行数同一机箱内各插件板之间等的数据传送都是并行的。并行数据传送的距离通常小于据传送的距离通常小于30米。米。串行通信的特点:串行通信的特点:数据传送按位顺序进行,最少只需一数据传送按位顺序进行,最少只需一根传输线即可完成,成本低,但速度慢。根传输线即可完成,成本低,但速度慢。计算机与远程终端计算机与远程终端或终端与终端之间的数据

4、传送通常都是串行的。串行数据传或终端与终端之间的数据传送通常都是串行的。串行数据传送的距离可以从几米到几千公里。送的距离可以从几米到几千公里。串行通信有同步通信和异步通信两种基本方式。串行通信有同步通信和异步通信两种基本方式。1.1.异步串行通信异步串行通信 异步串行通信是以字符为单位的间歇传输形式。传送异步串行通信是以字符为单位的间歇传输形式。传送时按时按字符进行包装字符进行包装,为此,在数据位之外要增添,为此,在数据位之外要增添起始位、起始位、奇偶校验位和停止位,构成一个通信帧。奇偶校验位和停止位,构成一个通信帧。下图为异步通信下图为异步通信的帧格式。的帧格式。8.1.1 异步通信和同步通

5、信异步通信和同步通信 几点说明:几点说明:在串行通信中,信息的两种状态分别以在串行通信中,信息的两种状态分别以mark和和space标志。标志。其中其中mark译为标号,对应逻辑状态译为标号,对应逻辑状态1,在发送器空闲时,数,在发送器空闲时,数据线应保持在据线应保持在mark状态;状态;space译为空格,对应逻辑状态译为空格,对应逻辑状态0。起始位起始位。发送器通过发送起始位而开始一个字符的传输。起。发送器通过发送起始位而开始一个字符的传输。起始位使数据线处于始位使数据线处于space状态。状态。数据位数据位。起始位之后传送数据位。在数据位中,低位在前。起始位之后传送数据位。在数据位中,低

6、位在前(左)高位在后左)高位在后(右)。由于字符编码方式的不同,数据位可右)。由于字符编码方式的不同,数据位可以是以是5、6、7或或8位等多种形式。位等多种形式。奇偶校验位奇偶校验位。用于对字符传送作正确性检查,因此,奇偶校。用于对字符传送作正确性检查,因此,奇偶校验位是可选择的,共有验位是可选择的,共有3种可能,即奇校验、偶校验和无校种可能,即奇校验、偶校验和无校验,由用户根据需要选定。验,由用户根据需要选定。所谓偶校验,即数据位和奇偶校验位中逻辑所谓偶校验,即数据位和奇偶校验位中逻辑1 1的个数加的个数加起来必须是偶数起来必须是偶数(全全0 0也视为偶数个也视为偶数个1 1)。)。所谓奇校

7、验,即数据位和奇偶校验位中逻辑所谓奇校验,即数据位和奇偶校验位中逻辑1 1的个数加的个数加起来必须是奇数。起来必须是奇数。停止位停止位。停止位在最后,用于标志一个字符传输的结束,。停止位在最后,用于标志一个字符传输的结束,对应于对应于markmark状态。停止位可能是状态。停止位可能是1 1、1.51.5或或2 2位,在实际应用位,在实际应用中根据需要确定。中根据需要确定。位时间。一个格式位的时间宽度。位时间。一个格式位的时间宽度。帧帧(Frame(Frame)。从起始位开始到停止位结束的全部内容称为)。从起始位开始到停止位结束的全部内容称为一帧。一帧。异步串行通信是一帧接一帧进行的,传输可以

8、是连续异步串行通信是一帧接一帧进行的,传输可以是连续的,也可以是断续(间歇)的。的,也可以是断续(间歇)的。2.同步串行通信同步串行通信 为提高传送速度,把数据传输按相等的时间间隔分块为提高传送速度,把数据传输按相等的时间间隔分块进行,进行,在数据块的开始加一些特殊字符,作为发送和在数据块的开始加一些特殊字符,作为发送和接收双方的同步标志。接收双方的同步标志。由于数据块的位数较多,为防由于数据块的位数较多,为防止错位,止错位,在发送数据时一般同时给出时钟信号,以保在发送数据时一般同时给出时钟信号,以保持接收与发送的同步,持接收与发送的同步,这就是同步串行通信。同步串这就是同步串行通信。同步串行

9、通信的数据传送格式如下图所示:行通信的数据传送格式如下图所示:同步串行通信的数据格式有如下特点和要求:同步串行通信的数据格式有如下特点和要求:只在数据块传输的开始使用同步字符串,作为发送和接收只在数据块传输的开始使用同步字符串,作为发送和接收双方同步的标志,而在结束时不需要同步标志。双方同步的标志,而在结束时不需要同步标志。数据字符之间不允许有间隔,当线路空闲或没有数据可发数据字符之间不允许有间隔,当线路空闲或没有数据可发时,可发送同步字符串。时,可发送同步字符串。数据块内各字符的格式必须相同。数据块内各字符的格式必须相同。同步串行通信比异步串行通信的传送速度快,但同步串同步串行通信比异步串行

10、通信的传送速度快,但同步串行通信要求收发双方在整个数据传输过程中始终保持同步,行通信要求收发双方在整个数据传输过程中始终保持同步,这将对硬件提出更高的要求,实现起来难度大一些;而异步这将对硬件提出更高的要求,实现起来难度大一些;而异步串行通信只要求在每帧的短时间内保持同步即可,实现起来串行通信只要求在每帧的短时间内保持同步即可,实现起来容易得多。所以同步串行通信适用于数据量大、对速度要求容易得多。所以同步串行通信适用于数据量大、对速度要求比较高的串行通信场合。比较高的串行通信场合。1.单工形式单工形式 单工单工(Simplex)形式的数据传输是形式的数据传输是单向单向的。通信双方中一方的。通信

11、双方中一方固定为发送端,另一方则固定为接收端。单工形式的串行固定为发送端,另一方则固定为接收端。单工形式的串行通信只需要一条数据线,如下图所示。通信只需要一条数据线,如下图所示。例如,计算机与打印机之间的串行通信。例如,计算机与打印机之间的串行通信。8.1.2 8.1.2 串行通信线路形式串行通信线路形式2.2.全双工形式全双工形式 全双工全双工(Full duplex)形式的数据传输是形式的数据传输是双向双向的,可以的,可以同时发送和接收数据,因此,全双工形式的串行通信同时发送和接收数据,因此,全双工形式的串行通信需要两条数据线。需要两条数据线。3.半双工形式半双工形式 半双工半双工(Hal

12、f duplex)形式的数据传输也是双向的。但形式的数据传输也是双向的。但任任何时刻只能由其中的一方发送数据,另一方接收数据何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式既可以使用一条数据线,也可以使用两因此半双工形式既可以使用一条数据线,也可以使用两条数据线。条数据线。n近程串行通信近程串行通信 单片机的数据信号在传输线上传送时,由于受到线间分布单片机的数据信号在传输线上传送时,由于受到线间分布电容和噪声干扰等影响,将引起传输信号的幅度衰减和波电容和噪声干扰等影响,将引起传输信号的幅度衰减和波形畸变,极易导致传输错误。加之导线越长电容越大,所形畸变,极易导致传输错误。加之导线

13、越长电容越大,所以传输距离就受到一定的限制。以传输距离就受到一定的限制。由于近距离串行通信不改变数据位波形和频率,所以也称由于近距离串行通信不改变数据位波形和频率,所以也称为为基带传输方式基带传输方式。虽然基带方式实现起来既方便又经济,。虽然基带方式实现起来既方便又经济,但只能用于近程通信。但只能用于近程通信。对于近距离的串行通信对于近距离的串行通信(例如一个房间内的计算机之间,例如一个房间内的计算机之间,距离不超过距离不超过10 m)10 m),传输中虽有波形畸变产生,但不会严,传输中虽有波形畸变产生,但不会严重到影响使用,仍可使用重到影响使用,仍可使用TTLTTL电平直接传输。近距离的串电

14、平直接传输。近距离的串行通信并不复杂,只需行通信并不复杂,只需将两端串行口直接连接就可进行将两端串行口直接连接就可进行串行数据通信串行数据通信,省去了接口的麻烦,见下图。,省去了接口的麻烦,见下图。n远程通信远程通信对于远程通信(例如城市之间),不能使用基带传输方式,只能使用对于远程通信(例如城市之间),不能使用基带传输方式,只能使用模拟信模拟信号形式号形式进行,一般使用电话线。进行,一般使用电话线。为了在电话线上进行串行数据传输,需要在发送端把数字信号转变为模拟信为了在电话线上进行串行数据传输,需要在发送端把数字信号转变为模拟信号再进行发送,这种把数字信号转变为模拟信号的过程称为号再进行发送

15、,这种把数字信号转变为模拟信号的过程称为调制调制。在接收端。在接收端应把模拟信号再转变为数字信号,这一过程称为应把模拟信号再转变为数字信号,这一过程称为解调解调。远程通信多采用双工。远程通信多采用双工方式,即通信双方都应具有发送和接收功能。为此在通信线路的两端都设置方式,即通信双方都应具有发送和接收功能。为此在通信线路的两端都设置调制器和解调器,并且把二者结合在一起称为调制解调器调制器和解调器,并且把二者结合在一起称为调制解调器(Modem)。使用电。使用电话线作传输线的远程通信连接如下图所示。话线作传输线的远程通信连接如下图所示。8.2 80C518.2 80C51串行口串行口 为了实现串行

16、通信,需要有硬件电路以解决串行数据传输为了实现串行通信,需要有硬件电路以解决串行数据传输中的一系列协调问题,这些硬件就是串行接口电路或简称中的一系列协调问题,这些硬件就是串行接口电路或简称串行口。串行口。8.2.1 80C51串行口硬件结构串行口硬件结构 通常把实现异步通信的串行口称为通常把实现异步通信的串行口称为通用异步接收器通用异步接收器/发送器发送器UART(Universal Asynchronous Receiver/Transmitter)。)。80C51的串行口,虽然是既能实现同步通信,又能实现异的串行口,虽然是既能实现同步通信,又能实现异步通信的全双工串行口,但在单片机的串行数

17、据通信中,步通信的全双工串行口,但在单片机的串行数据通信中,最常用的是异步方式,因此,常把它写为最常用的是异步方式,因此,常把它写为UART。串行接串行接口结构如下图所示。口结构如下图所示。80C51串行口寄存器结构串行口寄存器结构v80C5180C51单片机有两个独立的单片机有两个独立的接收、发送缓冲器接收、发送缓冲器SBUF(SBUF(属于特属于特殊功能寄存器殊功能寄存器),一个用作发送,一个用作接收。发送缓冲,一个用作发送,一个用作接收。发送缓冲器只能写入不能读出;接收缓冲器只能读出不能写入,两器只能写入不能读出;接收缓冲器只能读出不能写入,两者共用一个字节地址者共用一个字节地址(99H

18、)(99H)。v在发送时,在发送时,CPUCPU由一条写发送缓冲器的指令把数据由一条写发送缓冲器的指令把数据(字符字符)写写入串行口的发送缓冲器入串行口的发送缓冲器SBUF(SBUF(发发)中,然后从中,然后从TXDTXD端一位位地端一位位地向外发送。与此同时,接收端向外发送。与此同时,接收端RXDRXD也可一位位地接收数据,也可一位位地接收数据,直到收到一个完整的字符数据后通知直到收到一个完整的字符数据后通知CPUCPU,再用一条指令把,再用一条指令把接收缓冲器接收缓冲器SBUF(SBUF(收收)的内容读入累加器。可见,在整个串的内容读入累加器。可见,在整个串行收发过程中,行收发过程中,CP

19、UCPU的操作时间很短,使得的操作时间很短,使得CPUCPU还可以从事还可以从事其他的各种操作其他的各种操作(指工作在中断方式下指工作在中断方式下),从而大大提高了,从而大大提高了CPUCPU的效率。的效率。80C5180C51串行口通过控制寄存器、中断功能和波特率设串行口通过控制寄存器、中断功能和波特率设置实现串行通信控制。置实现串行通信控制。1.1.串行口控制寄存器(串行口控制寄存器(SCONSCON)98H98HvSM0、SM1串行口工作方式选择位。其状态组串行口工作方式选择位。其状态组合所对应的工作方式为:合所对应的工作方式为:SM0 SM100,工作方式,工作方式0;SM0 SM10

20、1,工作方式,工作方式1;SM0 SM110,工作方式,工作方式2;SM0 SM111,工作方式,工作方式3。8.2.2 8.2.2 串行口控制机制串行口控制机制 vSM2多机通信控制位。多机通信控制位。TB8发送数据位发送数据位8。RB8接收数据位接收数据位8。(这。(这3位用于多机通信)位用于多机通信)因为多机通信是在方式因为多机通信是在方式2和方式和方式3下进行的,因此下进行的,因此SM2主要用于方式主要用于方式2和方式和方式3。当串行口以方式。当串行口以方式2和方式和方式3接接收数据时,收数据时,SM2=1,则只有在接收到的第,则只有在接收到的第9位数据位数据(RB8)为为1时才时才将

21、接收到的将接收到的前前8位数据送入位数据送入SBUF,并置位,并置位RI产生中断产生中断请求;否则将接收到的前请求;否则将接收到的前8位数据丢弃。位数据丢弃。SM2=0,则不论第,则不论第9位数据是位数据是0还是还是1,都将,都将前前8位数据位数据装入装入SBUF中,并产生中断请求。中,并产生中断请求。在方式在方式0时,时,SM2必必须为须为0。vRENREN允许接收位。允许接收位。RENREN0 0;禁止接收;禁止接收;RENREN1 1,允许接收。允许接收。vTITI串行发送中断请求标志。在数据发送过程中,串行发送中断请求标志。在数据发送过程中,当最后一个数据位被发送完成后,当最后一个数据

22、位被发送完成后,TITI由硬件置位。由硬件置位。vRIRI串行接收中断请求标志。在数据接收过程中,串行接收中断请求标志。在数据接收过程中,当采样到最后一个数据位有效时,当采样到最后一个数据位有效时,RIRI由硬件置位。由硬件置位。2.串行中断串行中断 80C51有两个串行中断,即串行发送中断和串行接收中有两个串行中断,即串行发送中断和串行接收中断。但这两个串行中断共享一个中断向量断。但这两个串行中断共享一个中断向量0023H。每当串行。每当串行口发送或接收一个数据字节时,都产生中断请求。串行中断口发送或接收一个数据字节时,都产生中断请求。串行中断请求在芯片内部发生,因此不需要引脚。两个中断共享

23、一个请求在芯片内部发生,因此不需要引脚。两个中断共享一个中断向量,就需要在中断服务程序中对中断源进行判断,以中断向量,就需要在中断服务程序中对中断源进行判断,以便进行不同的中断处理。便进行不同的中断处理。对于串行中断控制共涉及对于串行中断控制共涉及3个寄存器,其中一个就是串个寄存器,其中一个就是串行口控制寄存器行口控制寄存器SCON,用于存放串行中断请求标志。另外,用于存放串行中断请求标志。另外两个中断允许控制寄存器两个中断允许控制寄存器IE和中断优先级控制寄存器和中断优先级控制寄存器IP。8.3 80C518.3 80C51串行口工作方式串行口工作方式80C51单片机的串行口共有单片机的串行

24、口共有4种工作方式种工作方式,见下表。,见下表。SM0 SM1SM0 SM1工作方式工作方式功能功能波特率波特率0 00 0方式方式0 08 8位同步移位寄位同步移位寄存器存器f foscosc/12/120 10 1方式方式1 11010位位UARTUART可变可变1 01 0方式方式2 21111位位UARTUARTf foscosc/64/64或或f foscosc/32/321 11 1方式方式3 31111位位UARTUART可变可变8.3.1 8.3.1 串行工作方式串行工作方式0 0 串行工作方式串行工作方式0是把串行口作为同步移位寄存器使用是把串行口作为同步移位寄存器使用,实,

25、实现串行数据的输入现串行数据的输入/输出。移位数据的传输以输出。移位数据的传输以8位为一组,低位位为一组,低位在前、高位在后。在前、高位在后。利用串行工作方式利用串行工作方式0,加上,加上“并入串出并入串出”或或“串入并出串入并出”芯芯片片的配合,的配合,80C51的串行口可实现数据的并行输入的串行口可实现数据的并行输入/输出。输出。方式方式0实现数据并行输入实现数据并行输入/输出,输出,“并入串出并入串出”芯片芯片74LS165、CD4014)用于把并行输入数据通过移位形成位串,传送给串行)用于把并行输入数据通过移位形成位串,传送给串行口;而口;而“串入并出串入并出”芯片(芯片(74LS16

26、4、CD4094)则接收串行口)则接收串行口的的串行数据,通过移位形成串行数据,通过移位形成8位并行数据输出。位并行数据输出。74LS164 CLR为清为清0端,端,输出时输出时CLR必须为必须为1,否则,否则74HC164 Q0Q7输出为输出为0。74HC165 S/L端为移位端为移位/置入端,当置入端,当S/L=0时,从时,从Q0Q7并行数据置入寄并行数据置入寄存器,当存器,当S/L=1时,允许从时,允许从Q端移出数端移出数据。据。串行接口工作方式串行接口工作方式0其波特率是固定的,为其波特率是固定的,为fosc(振荡频率振荡频率)的的1/12。1.方式方式0发送发送 数据从数据从RxD引

27、脚串行输出,引脚串行输出,TxD引脚输出同步脉冲。引脚输出同步脉冲。当一个当一个数据写入串行口发送缓冲器时,串行口将数据写入串行口发送缓冲器时,串行口将8位数据以位数据以fosc/12的固定波特率从的固定波特率从RxD引脚输出,从低位到高位。发送后置引脚输出,从低位到高位。发送后置中断标志中断标志TI为为1,请求中断,在再次发送数据之前,请求中断,在再次发送数据之前,必须用必须用软件将软件将TI清零。清零。2.方式方式0接收接收 在满足在满足REN=1和和RI=0的条件下,串行口处于方式的条件下,串行口处于方式0输入。输入。此时,此时,RxD为数据输入端,为数据输入端,TXD为同步信号输出端为

28、同步信号输出端,接收,接收器也以器也以fosc/12的波特率对的波特率对RxD引脚输入的数据信息采样。引脚输入的数据信息采样。当接收器接收完当接收器接收完8位数据后,置中断标志位数据后,置中断标志RI=1为请求中断,为请求中断,在再次接收之前,在再次接收之前,必须用软件将必须用软件将RI清零清零。在方式在方式0工作时,必须使工作时,必须使SCON寄存器中的寄存器中的SM2位为位为“0”,这并不影响,这并不影响TB8位和位和RB8位。方式位。方式0发送或接收完数据后发送或接收完数据后由硬件置位由硬件置位TI或或RI,CPU在响应中断后要用软件清除在响应中断后要用软件清除TI或或RI标志。标志。8

29、.3.2 8.3.2 串行工作方式串行工作方式1 1 串行工作方式串行工作方式1 1是是1010位为一帧位为一帧的异步串行通信方式,的异步串行通信方式,帧格式帧格式包括包括1 1个起始位,个起始位,8 8个数据位和个数据位和1 1个停止位。个停止位。这种工作方式是这种工作方式是为为双机通信双机通信而准备的。而准备的。1.方式方式l发送发送 由一条写发送寄存器由一条写发送寄存器(SBUF)的指令开始,随后在串行口的指令开始,随后在串行口 由硬件自动加入起始位和停止位,构成一个完整的帧格由硬件自动加入起始位和停止位,构成一个完整的帧格 式,然后在移位脉冲的作用下,由式,然后在移位脉冲的作用下,由T

30、XD端串行输出端串行输出。一个字符。一个字符帧发送完后,使帧发送完后,使TXD输出线维持在输出线维持在1状态下,并将状态下,并将SCON寄存器寄存器的的TI位置位置1,通知,通知CPU可以接着发送下一个字符。可以接着发送下一个字符。2.2.方式方式1 1接收接收 SCON的的REN位应处于允许接收状态,即位应处于允许接收状态,即REN1。在此。在此前提下,串行口采样前提下,串行口采样RXD端,当采样到从端,当采样到从1到到0的状态跳变时,的状态跳变时,就认为已接收到起始位。随后在移位脉冲的控制下,把接收就认为已接收到起始位。随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中。直到停止位到

31、来之后置位中到的数据位移入接收寄存器中。直到停止位到来之后置位中断标志位断标志位RI,通知,通知CPU从从SBUF取走接收到的一个字符。取走接收到的一个字符。8.3.3 串行工作方式串行工作方式2 和和3串行工作方式串行工作方式2 2和和3 3都是都是1111位为一帧的串行通信方式位为一帧的串行通信方式,即,即1 1个个起始位、起始位、9 9个数据位和个数据位和1 1个停止位个停止位。这两种工作方式主要是。这两种工作方式主要是为为多机通信多机通信而准备的。而准备的。在这两种工作方式下,字符还是在这两种工作方式下,字符还是8个数据位,只不过增加了个数据位,只不过增加了一个一个第第9数据位数据位(

32、D8),它是一个可编程位,其功能由用户设),它是一个可编程位,其功能由用户设定。定。在发送数据时,应予先在串行口控制寄存器在发送数据时,应予先在串行口控制寄存器SCON的的TB8位位中把第中把第9个数据位的内容准备好。个数据位的内容准备好。这两种工作方式的数据接收过程也与方式这两种工作方式的数据接收过程也与方式1基本类似,不同基本类似,不同点仍在第点仍在第9数据位上,数据位上,串行口把接收到的前串行口把接收到的前8个数据位移入个数据位移入SBUF,而把第,而把第9数据位送数据位送SCON的的RB8。串行工作方式串行工作方式2和和3是为多机通信而准备的。两者的工作过程是为多机通信而准备的。两者的

33、工作过程相同,差别仅在于波特率的设置,方式相同,差别仅在于波特率的设置,方式2的波特率是固定的的波特率是固定的,而方式,而方式3的波特率可由用户根据需要设定,设定方法与方的波特率可由用户根据需要设定,设定方法与方式式1相同。相同。8.4 串行通信数据传输速率串行通信数据传输速率8.4.18.4.1传输速率的表示方法传输速率的表示方法1.与传输速率有关的术语与传输速率有关的术语n波特率波特率:每秒钟事件发生的数目或信号变化的次数。每秒钟事件发生的数目或信号变化的次数。单位:波特(单位:波特(B B,BaudBaud)n比特率比特率:每秒钟传送二进制的位数。:每秒钟传送二进制的位数。单位:单位:位

34、位/秒(秒(bps)bps)说明:说明:(1 1)在一般的单片机串行通信中,事件和信号变化都反映)在一般的单片机串行通信中,事件和信号变化都反映在二进制位上,波特率与比特率的概念是一样的。在二进制位上,波特率与比特率的概念是一样的。(2 2)但在高速串行通信中,由于一个事件的编码往往不止)但在高速串行通信中,由于一个事件的编码往往不止1 1位,因此波特率与比特率就不一样了。位,因此波特率与比特率就不一样了。例如事件按例如事件按4 4位编码,如果数据传输的波特率是位编码,如果数据传输的波特率是24002400,则比特率就是则比特率就是 960096002.单片机中使用的波特率单片机中使用的波特率

35、 在单片机中使用在单片机中使用波特率波特率来表示串行通信的传送速率。来表示串行通信的传送速率。波特率:每秒钟传送二进制的位数波特率:每秒钟传送二进制的位数波特率:每秒钟传送二进制的位数波特率:每秒钟传送二进制的位数1 1波特波特=1=1位位/秒(秒(bps)bps)注意:波特率和字符的传输速率不同注意:波特率和字符的传输速率不同例如:如果每秒钟传送例如:如果每秒钟传送240240个字符,而每个字符格式包含个字符,而每个字符格式包含1010位位(1(1个起始位、个起始位、8 8个数据位、个数据位、1 1个停止位个停止位),这时的波,这时的波特率为:特率为:1010位位240240个个/秒秒 =2

36、400 bps=2400 bps波特率是串行通信的重要技术指标波特率是串行通信的重要技术指标n在串行通信中,波特率除表明数据传送速率外,还可以在串行通信中,波特率除表明数据传送速率外,还可以表示串行口中移位脉冲频率的高低。波特率高表明移位脉表示串行口中移位脉冲频率的高低。波特率高表明移位脉冲频率高,串行数据传输速度就快;反之,波特率低表明冲频率高,串行数据传输速度就快;反之,波特率低表明移位脉冲频率也低,串行数据传输速度就慢。移位脉冲频率也低,串行数据传输速度就慢。n在实际的串行通信中,应根据速度要求、线路质量以及在实际的串行通信中,应根据速度要求、线路质量以及设备情况等因素选定波特率。设备情

37、况等因素选定波特率。1.1.串行工作方式串行工作方式0 0的波特率的波特率串行工作方式串行工作方式0 0的波特率是固定的,其计算公式为:的波特率是固定的,其计算公式为:2.串行工作方式串行工作方式2的波特率的波特率串行工作方式串行工作方式2 2的波特率也是固定的,但有两个数值。的波特率也是固定的,但有两个数值。其计算公式为:其计算公式为:SMOD=0时时,波特率,波特率=,=,SMOD=1时,波特率时,波特率=8.4.2 80C518.4.2 80C51单片机的波特率设置单片机的波特率设置位序位序 B7 B6 B5B4B3B2B1B0位符号位符号 SMOD /GF1GF0PDIDL电源控制寄存

38、器电源控制寄存器PCON字节地址字节地址87H其中其中SMOD:串行口的波特率倍增位:串行口的波特率倍增位SMOD=0,波特率不加倍,波特率不加倍SMOD=1,串行口波特率加倍。,串行口波特率加倍。系统复位时,系统复位时,SMOD=0。PCON不能位寻址。不能位寻址。3.串行工作方式串行工作方式1和方式和方式3的波特率的波特率串行工作方式串行工作方式1 1和方式和方式3 3的波特率不是固定的,可以根据需的波特率不是固定的,可以根据需要设置。要设置。当串行口工作在方式当串行口工作在方式1和方式和方式3时,时,由由80C5180C51单片机的单片机的定时定时器器T1T1作为波特率发生器作为波特率发

39、生器(以定时器以定时器T1T1作波特率发生器是由作波特率发生器是由系统决定的系统决定的),为串行口提供移位脉冲。为串行口提供移位脉冲。串行工作方式串行工作方式1和方式和方式3的波特率的波特率计算公式为:计算公式为:当定时器当定时器T1T1作波特率发生器使用时,通常选用工作方式作波特率发生器使用时,通常选用工作方式2 2(即(即8 8位自动重装载方式)。选择方式位自动重装载方式)。选择方式2 2可以避免通过程序可以避免通过程序反复装入定时初值所引起的定时误差,使波特率更加稳定反复装入定时初值所引起的定时误差,使波特率更加稳定定时器的溢出周期:定时器的溢出周期:定时器溢出一次所需要的时间。定时器溢

40、出一次所需要的时间。定时器的溢出率:定时器的溢出率:单位时间定时器溢出的次数。单位时间定时器溢出的次数。溢出率等于溢出周期的倒数溢出率等于溢出周期的倒数当定时器当定时器T1T1工作在方式工作在方式2 2(即(即8 8位自动重装载方式),位自动重装载方式),假假定定时器定定时器T1T1的计数初值为的计数初值为X X,则,则定时器定时器T1T1的溢出周期的溢出周期为:为:溢出率为溢出周期的倒数,溢出率为溢出周期的倒数,则则定时器定时器T1的溢出率的溢出率为:为:实际使用中,波特率是已知的。因此需要根据波特率的实际使用中,波特率是已知的。因此需要根据波特率的计算公式求定时初值计算公式求定时初值X X

41、。则则波特率计算公式波特率计算公式为:为:根据上述波特率计算公式,得出计数初值的计算公式为:根据上述波特率计算公式,得出计数初值的计算公式为:用户只需要把定时初值设置到定时器用户只需要把定时初值设置到定时器1 1,就能得到所要求,就能得到所要求的波特率。的波特率。思考题:定时器思考题:定时器T1工作在方式工作在方式2,串行口方式,串行口方式1波特率波特率=1200bps,fosc=12MHZ,SMOD=0,则,则X=?如果如果T1T1预装的初值预装的初值X=E6HX=E6H,则实际得到的波特率为:,则实际得到的波特率为:误差怎么解决?误差怎么解决?其它条件不变,取其它条件不变,取fosc=11

42、.0592MHZ,则,则X=?说明:说明:(1 1)当串行口工作在方式)当串行口工作在方式1 1或方式或方式3 3,且要求波特率按规范取,且要求波特率按规范取12001200、24002400、48004800、96009600时,若采用晶振时,若采用晶振12MHz12MHz和和6MHz,6MHz,按按波波特率计算特率计算公式算出的公式算出的T1T1定时初值将不是一个整数,因此会产生定时初值将不是一个整数,因此会产生波特率误差而影响串行通信的同步性能。解决的方法可以调整波特率误差而影响串行通信的同步性能。解决的方法可以调整单片机的晶振频率单片机的晶振频率foscfosc,通常采用为通常采用为1

43、1.0592MHz11.0592MHz的晶振,这样的晶振,这样可使计算出的可使计算出的T1T1初值为整数。初值为整数。(2 2)实际使用时,可根据波特率的计算公式来计算实际使用时,可根据波特率的计算公式来计算T1的初值。的初值。为避免烦杂的初值计算,可以通过查为避免烦杂的初值计算,可以通过查常用常用波特率与定时器波特率与定时器1 的的 参数关系表参数关系表。(3)串行口工作在方式)串行口工作在方式1和方式和方式3时,定时器时,定时器1初始化程序的初始化程序的步骤:步骤:首先确定波特率首先确定波特率 再计算定时器再计算定时器1的计数初值的计数初值 然后进行定时器的初始化然后进行定时器的初始化例题

44、:单片机的晶振频率为例题:单片机的晶振频率为11.0592MHZ,串行口工,串行口工作在方式作在方式1,波特率为,波特率为2400bps,计算定时器,计算定时器T1的计的计数初值,并写出初始化程序。(假设数初值,并写出初始化程序。(假设SMOD=0)解:定时器解:定时器T1T1工作在方式工作在方式2 2(8 8位自动重装载方式)位自动重装载方式)初始化程序:初始化程序:MOV TMOD,#20HMOV TL1,#0F4HMOV TH1,#0F4HSETB EACLR ESMOV PCON,#00HMOV SCON,#50HSETB TR180C51单片机的串行口共有单片机的串行口共有4种工作方

45、式种工作方式,见下表。,见下表。SM0 SM1SM0 SM1工作方式工作方式功能功能波特率波特率0 00 0方式方式0 08 8位同步移位寄位同步移位寄存器存器f foscosc/12/120 10 1方式方式1 11010位位UARTUART可变可变1 01 0方式方式2 21111位位UARTUARTf foscosc/64/64或或f foscosc/32/321 11 1方式方式3 31111位位UARTUART可变可变【例题例题】用用80C51单片机的串行口外接串入并出的芯片单片机的串行口外接串入并出的芯片CD4094扩展并行输出口控制一组发光二极管扩展并行输出口控制一组发光二极管,

46、使发光二极管从左至右延使发光二极管从左至右延时轮流点亮。(时轮流点亮。(fosc=12MHZ)ORG 0000HLJMP MAINORG 2000HMAIN:MOV SCON,#00HMOV A,#80HCLR P1.0START:MOV SBUF,ALOOP:JNB TI,LOOPSETB P1.0ACALL DELAYCLR TIRR ACLR P1.0SJMP STARTDELAY:MOV R7,#05HLOOP2:MOV R6,#0FFHLOOP1:DJNZ R6,LOOP1DJNZ R7,LOOP2RETEND【思考题思考题】用用80C5180C51单片机的串行口外接并入串出的芯片单

47、片机的串行口外接并入串出的芯片CD4014 CD4014 扩展并行输入口,输入一组开关的信息,开关扩展并行输入口,输入一组开关的信息,开关 K K 闭合时有效。闭合时有效。ORG 0000HLJMP MAINORG 2000HMAIN:SETB P1.1START:JB P1.1,STARTSETB P1.0MOV SCON,#10H CLR P1.0LOOP:JNB RI,LOOPCLR RIMOV A,SBUF 80C51 RXD TXD P1.0QB CLK P/S P1.1K0K7 KCD401472H2006MHz110D0H20011.0592MHz600E8H20011.0592

48、MHz1.2KF4H20011.0592MHz2.4KFAH20011.0592MHz4.8KFDH20011.0592MHz9.6KFDH20111.0592MHz19.2KFFH20112MHz62.5K串口方式串口方式1或或3112MHz375K串口方式串口方式212MHz1M串口方式串口方式0相相应应初初值值所所选选方式方式C/T定定时时器器T1SMODFosc波特率波特率常用波特率与定时器常用波特率与定时器1的参数关系表的参数关系表8.5 串行通信应用串行通信应用8.5.1近程串行通信近程串行通信8.5.2调制解调器的使用调制解调器的使用8.5.3 双机通信双机通信1、问题的提出、问

49、题的提出 把甲机存放在内部把甲机存放在内部RAM40HRAM40H4FH4FH中的中的1616个字节的个字节的数据块传送到乙机内部数据块传送到乙机内部RAM40HRAM40H4FH4FH中,如何实现?中,如何实现?2、问题分析与解决、问题分析与解决 从上面的问题可以看出,这实际上是双机通信问题,从上面的问题可以看出,这实际上是双机通信问题,由甲机发送,乙机接收。由甲机发送,乙机接收。在进行双机通信之前,发送和接收双方要进行在进行双机通信之前,发送和接收双方要进行一些约定,明确一些技术问题。一些约定,明确一些技术问题。(1)数据通路采用何种形式,硬件电路如何连接?采用)数据通路采用何种形式,硬件

50、电路如何连接?采用何种串行工作方式?何种串行工作方式?约定:串行工作方式约定:串行工作方式1双机异步通信接口电路双机异步通信接口电路若若f foscosc=11.0592MHZ,=11.0592MHZ,取取SMOD=0SMOD=0,根据波特率的计算公式,根据波特率的计算公式也可以通过查表,确定也可以通过查表,确定X=F4H。可求得计数初值可求得计数初值X X为:为:(2 2)数据传送的波特率是多少?)数据传送的波特率是多少?约定:约定:2400bps(4 4)双方如何取得联络?)双方如何取得联络?约定:约定:甲机向乙机发送一个甲机向乙机发送一个E1作为联络信号,表示请求通信作为联络信号,表示请

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁