第8章80C51单片机串行通信.ppt
《第8章80C51单片机串行通信.ppt》由会员分享,可在线阅读,更多相关《第8章80C51单片机串行通信.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 C51 单片机 串行 通信
限制150内