单片机第7章 89C51串行口及串行通信技术.ppt
《单片机第7章 89C51串行口及串行通信技术.ppt》由会员分享,可在线阅读,更多相关《单片机第7章 89C51串行口及串行通信技术.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 UART串行输入串行输入/输出端口输出端口 目目 录录7.1 串行通信基本知识串行通信基本知识7.2 串行口结构及控制串行口结构及控制7.3 串行口工作方式串行口工作方式7.4 串行口应用举例串行口应用举例7.5 单片机与单片机与PC机通信的接口电路机通信的接口电路本章要点本章要点 本章主要讲述串行通信基本知识、本章主要讲述串行通信基本知识、89C52单片单片机串行口结构、串行口工作方式以及单片机与机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。机通信的接口电路。7.1 串行通信基本知识串行通信基本知识主要内容主要内容7.1.1 数据通信数据通信7.1.2 异步通信和
2、同步通信异步通信和同步通信7.1.3 波特率波特率7.1.4 通信方向通信方向7.1.5 串行通信接口种类串行通信接口种类7.1.1 数据通信数据通信 在实际工作中,计算机的在实际工作中,计算机的CPU与外部设备之间常常要进与外部设备之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。息,所有这些信息交换均可称为通信。基本的通信方法有并基本的通信方法有并行通信和串行通信两种。行通信和串行通信两种。通常根据信息传送的距离决定采用哪种通信方式。通常根据信息传送的距离决定采用哪种通信方式。1并行通信并行
3、通信单位信息(通常指一个字节)的各位数据单位信息(通常指一个字节)的各位数据同时传送同时传送的通的通信方法称为并行通信。信方法称为并行通信。2串行通信串行通信单位信息的各位数据被分时单位信息的各位数据被分时一位一位依次顺序传送一位一位依次顺序传送的通的通信方式称为串行通信。信方式称为串行通信。89C51单片机具有并行和串行二种基本通信方式。单片机具有并行和串行二种基本通信方式。并行通信并行通信并行通信是指数据的各位同时进行传送并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。(发送或接收)的通信方式。其优点是传送速度快;其优点是传送速度快;缺点是数据有多少位,就需要多少根传缺点是数据
4、有多少位,就需要多少根传送线。送线。例如,例如,89C51单片机与打印机之间的数单片机与打印机之间的数据传送就属于并行通信。据传送就属于并行通信。右右图图所示为所示为89C51与外设间与外设间8位数据并行位数据并行通信的连接方法。并行通信在位数多、通信的连接方法。并行通信在位数多、传送距离又远时就不太合适了。传送距离又远时就不太合适了。串行通信串行通信串行通信指数据是一位一位按顺序传送的通信串行通信指数据是一位一位按顺序传送的通信方式。方式。它的突出优点是只需一对传输线(利用电话线它的突出优点是只需一对传输线(利用电话线就可作为传输线),这样就大大降低了传送成就可作为传输线),这样就大大降低了
5、传送成本,特别适用于远距离通信;本,特别适用于远距离通信;其缺点是传送速度较低。假设并行传送其缺点是传送速度较低。假设并行传送N位数位数据所需时间位据所需时间位T,那么串行传送的时间至少为那么串行传送的时间至少为NT,实际上总是大于实际上总是大于NT的。的。图图7-1(b)所示为串行通信方式的连接方法。所示为串行通信方式的连接方法。7.1.2异步通信和同步通信异步通信和同步通信 串行通信有两种基本通信方式,即异步通信和同步通信。串行通信有两种基本通信方式,即异步通信和同步通信。1、异步通信、异步通信 在异步通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送在异步通信中,数据是一帧一帧(
6、包括一个字符代码或一字节数据)传送的,每一帧的数据格式如下图所示的,每一帧的数据格式如下图所示图图7-3(a)表示一个表示一个字符紧接一个字符传字符紧接一个字符传送的情况,上一个字送的情况,上一个字符的停止位和下一个符的停止位和下一个字符的起始位是紧邻字符的起始位是紧邻的;的;图图7-3(b)则是两个则是两个字符间有空闲位的情字符间有空闲位的情况,空闲位为况,空闲位为1,线,线路处于等待状态。存路处于等待状态。存在空闲位正是异步通在空闲位正是异步通信的特征之一。信的特征之一。1、异步通信、异步通信 在帧格式中,一个字符由四个部分组成:在帧格式中,一个字符由四个部分组成:起始位起始位数据位数据位
7、奇偶校验位奇偶校验位停止位。停止位。首先是一个起始位(首先是一个起始位(0),然后是),然后是5位位-8位数位数据(规定低位在前,高位在后),接下来是奇据(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位(偶校验位(可省略),最后是停止位(1)。)。1、异步通信、异步通信起始位(起始位(0)信号只占用一位,用来通知接收设备一个待接收的)信号只占用一位,用来通知接收设备一个待接收的字符开始到达。线路上在不传送字符时应保持为字符开始到达。线路上在不传送字符时应保持为1。接收端不断。接收端不断检测线路的状态,若连续为检测线路的状态,若连续为1以后又测到一个以后又测到一个0,就知道
8、发来一个,就知道发来一个新字符,新字符,应马上准备接收。字符的起始位还被用作同步接收端的应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。时钟,以保证以后的接收能正确进行。起始位后面紧接着是数据位,它可以是起始位后面紧接着是数据位,它可以是5位(位(D0-D4)、)、6位、位、7位或位或8位(位(D0-D7)。)。奇偶校验(奇偶校验(D8)只占一位,但在字符中也可以规定不用奇偶校验只占一位,但在字符中也可以规定不用奇偶校验位,则这一位就可省去。也可用这一位(位,则这一位就可省去。也可用这一位(1/0)来确定这一帧中的)来确定这一帧中的字符所代表信息的性质(地址字
9、符所代表信息的性质(地址/数据等)。数据等)。停止位用来表征字符的结束,它一定是高电位(逻辑停止位用来表征字符的结束,它一定是高电位(逻辑1)。停止)。停止位可以是位可以是1位、位、1.5位或位或2位。接收端收到停止位后,知道上一字符位。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备已传送完毕,同时,也为接收下一个字符做好准备-只要再接收只要再接收到到0,就是新的字符的起始位。若停止位以后不是紧接着传送下,就是新的字符的起始位。若停止位以后不是紧接着传送下一个字符,则使线路电平保持为高电平(逻辑一个字符,则使线路电平保持为高电平(逻辑1)。)。2、同步通信、同步通
10、信同步通信中,在数据开始传送前用同步字符来指示(常约定同步通信中,在数据开始传送前用同步字符来指示(常约定1个个-2个),并由时钟来实现发送端和接收端同步,即检测到规定的个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。同步字符后,下面就连续按顺序传送数据,直到通信告一段落。同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符仅在数据块开始时用同步字符SYNC来指示,其数据格式如图来指示,其数据格式如图7-4所示。所示。图图7-4 同步通信数据格
11、式同步通信数据格式2、同步通信、同步通信同步字符的插入可以是单同步字符方式或双同步字同步字符的插入可以是单同步字符方式或双同步字符方式,如图符方式,如图7-4所示,然后是连续的数据块。同步所示,然后是连续的数据块。同步字符可以由用户约定,当然也可以采用字符可以由用户约定,当然也可以采用ASCII码中码中规定的规定的SYNC代码,即代码,即16H。按同步方式通信时,先按同步方式通信时,先发送同步字符,接收方检测到同步字符后,即准备发送同步字符,接收方检测到同步字符后,即准备接收数据。接收数据。在同步传送时,要求用时钟来实现发送端与接收端在同步传送时,要求用时钟来实现发送端与接收端之间的同步。为了
12、保证接收正确无误,发送方除了之间的同步。为了保证接收正确无误,发送方除了传送数据外,还要同时传送时钟信号。传送数据外,还要同时传送时钟信号。同步传送可以提高传输速率(达同步传送可以提高传输速率(达56kb/s或更高),或更高),但硬件比较复杂。但硬件比较复杂。3、波特率(、波特率(Baud rate)波特率,即数据传送速率,表示每秒钟传送二进波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是制代码的位数,它的单位是b/s或或bps。波特率对于波特率对于CPU与外界的通信是很重要的。与外界的通信是很重要的。假设数据传送速率是假设数据传送速率是每秒钟每秒钟10个字符个字符,而每个字
13、而每个字符格式符格式的一帧为的一帧为11位位,这时这时,传送的波特率为:传送的波特率为:11b字符字符10字符字符s110bs异步通信的传送速率在异步通信的传送速率在50b/s-19200b/s之间,常之间,常用于计算机到终端机和打印机之间的通信、直通用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据发送等。电报以及无线电通信的数据发送等。7.1.4 通信方向通信方向单工方式:单工方式:一对传输线只允许一对传输线只允许单方向单方向传送数据;传送数据;半双工方式:半双工方式:一对传输线允许向两个方向中的任一方向传送一对传输线允许向两个方向中的任一方向传送数据,但数据,但不能同时不
14、能同时进行;进行;全双工方式:全双工方式:用两对传输线连接在发送器和接收器上,发送用两对传输线连接在发送器和接收器上,发送和接收和接收能同时能同时进行。进行。7.1.5 串行通信接口种类串行通信接口种类根据串行通信格式及约定(如同步方式、根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的:许多串行通信接口标准,如常见的:UART(串行异步通信接口)、(串行异步通信接口)、USB(通用串行总线接口)、(通用串行总线接口)、I2C(集成电路间的串行总线)、(集成电路间的串行总线)、SPI(串行外设总线)、(串行
15、外设总线)、485总线、总线、CAN总线接口等。总线接口等。7.2 串行口串行口结构及控制结构及控制主要内容主要内容7.2.1 89C51串行口结构串行口结构7.2.2 与串行口有关的特殊功能寄存器与串行口有关的特殊功能寄存器7.2.3 波特率设计波特率设计7.2 串行口结构串行口结构 89C51单片机除具有单片机除具有4个个8位并行口外,还具有串行位并行口外,还具有串行接口。接口。此串行接口是一个全双工串行通信接口,即能同时此串行接口是一个全双工串行通信接口,即能同时进行串行发送和接收数据。进行串行发送和接收数据。它可以作它可以作UATR(通用异步接收和发送器)用,也通用异步接收和发送器)用
16、,也可以作同步移位寄存器用。可以作同步移位寄存器用。使用串行接口可以实现使用串行接口可以实现89C51单片机系统之间点对单片机系统之间点对点的单机通信和点的单机通信和89C51与系统机(如与系统机(如IBM-PC机等)机等)的单机或多机通信。的单机或多机通信。7.2.1 89C51串行口结构串行口结构图图7-6 串行口方式串行口方式1、3内部结构示意简图内部结构示意简图图图7-7 串行口内部结构示意简图串行口内部结构示意简图图中有两个物理独立的接收、发送缓冲器图中有两个物理独立的接收、发送缓冲器SBUF,它们占用同一地它们占用同一地址址99H,可同时发送、接收数据。发送缓冲器只能写入,不能读出
17、;可同时发送、接收数据。发送缓冲器只能写入,不能读出;接收缓冲器只能读入,不能写出。接收缓冲器只能读入,不能写出。串行发送与接收的速率与移位时钟同步。串行发送与接收的速率与移位时钟同步。89C51用定时器用定时器T1作为串作为串行通信的波特率发生器,行通信的波特率发生器,T1溢出率经溢出率经2分频(或不分频)后又经分频(或不分频)后又经16分频作为串行发送或接收的移位脉冲。移位脉冲的速率即是波特率。分频作为串行发送或接收的移位脉冲。移位脉冲的速率即是波特率。1、结、结 构构从图中可看出,接收器是双缓冲结构,在前一个字节被从接收从图中可看出,接收器是双缓冲结构,在前一个字节被从接收缓冲器缓冲器S
18、BUF读出之前,第二个字节即开始被接收(串行输入读出之前,第二个字节即开始被接收(串行输入至移位寄存器),但是,在第二个字节接收完毕而前一个字节至移位寄存器),但是,在第二个字节接收完毕而前一个字节CPU未读取时,会丢失前一个字节。未读取时,会丢失前一个字节。串行口的发送和接收都是以特殊功能寄存器串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行的名义进行读或写的。当向读或写的。当向SBUF发发“写写”命令时(执行命令时(执行“MOV SBUF,A”指指令),即是向发送缓冲器令),即是向发送缓冲器SBUF装载并开始由装载并开始由TXD引脚向外发引脚向外发送一帧数据,发送完便使发送中断标志
19、位送一帧数据,发送完便使发送中断标志位TI=1。在满足串行口接收中断标志位在满足串行口接收中断标志位RI(SCON.0)=0的条件下,置的条件下,置允许接收位允许接收位REN(SCON.4)=1就会接收一帧数据进入移位寄就会接收一帧数据进入移位寄存器,并装载到接收存器,并装载到接收SBUF中,同时使中,同时使RI=1。当发读当发读SBUF命令命令时(执行时(执行“MOV A,SBUF”命令),便由接收缓冲器(命令),便由接收缓冲器(SBUF)取取出信息通过出信息通过89C51内部总线送内部总线送CPU。对于发送缓冲器,因为发送时对于发送缓冲器,因为发送时CPU是主动的,不会产生重叠错是主动的,
20、不会产生重叠错误,一般不需要用双缓冲器结构来保持最大传送速率。误,一般不需要用双缓冲器结构来保持最大传送速率。7.2.2 与串行口有关的特殊功能寄存器与串行口有关的特殊功能寄存器1控制状态寄存器控制状态寄存器SCON用于定义串行通信口的工作方式和反映串行口状态,其用于定义串行通信口的工作方式和反映串行口状态,其字节地址为字节地址为98H,复位值为,复位值为0000 0000B,可位寻址可位寻址格式为:格式为:D7D6D5D4D3D2D1D0SM0 SM1 SM2 REN TB8 RB8TIRIlSM0和和SM1(SCON.7、SCON.6):串行口工作方式选择位。):串行口工作方式选择位。SM
21、0 SM1 工作方式工作方式功能说明功能说明波特率波特率00方式方式0同步移位寄存器同步移位寄存器fosc/1201方式方式18位数据位数据UART可变可变(T1溢出率溢出率/32或或/16)10方式方式29位数据位数据UARTfosc/64或或 fosc/3211方式方式39位数据位数据UART可变可变(T1溢出率溢出率/32或或/16)2、串行口控制字及控制寄存器、串行口控制字及控制寄存器SM2(SCON.5)多机通信控制位,主要用于方式多机通信控制位,主要用于方式2和方式和方式3。若置若置SM2=1,则允许多机通信。当一片则允许多机通信。当一片89C51(主机)与多片主机)与多片89C5
22、1(从从机)通信时,所有从机的机)通信时,所有从机的SM2位都置位都置1。主机首先发送的一帧数据为地址,。主机首先发送的一帧数据为地址,即从机机号,其中第即从机机号,其中第9位为位为1,所有的从机接收到数据后,将其中第,所有的从机接收到数据后,将其中第9位装位装入入RB8中。中。各个从机根据收到的第各个从机根据收到的第9位数据(位数据(RB8中)的值来决定从机可否再接收主中)的值来决定从机可否再接收主机的信息。若(机的信息。若(RB8)0,说明是数据帧,则使接收中断标志位说明是数据帧,则使接收中断标志位RI0,信息丢失;若(信息丢失;若(RB8)1,说明是地址帧,数据装入说明是地址帧,数据装入
23、SBUF并置并置RI1,中断所有从机,被寻址的目标从机清除中断所有从机,被寻址的目标从机清除SM2以接收主机发来的一帧数据。以接收主机发来的一帧数据。其他从机仍然保持其他从机仍然保持SM21。若若SM2=0,即不属于多机通信情况即不属于多机通信情况,则接收一帧数据后则接收一帧数据后,不管第九位数据是不管第九位数据是0还是还是1,都置都置RI=1,接收到的数据装入接收到的数据装入SBUF。根据根据SM2这个功能这个功能,可实现多个可实现多个89C51应用系统的串行通信。应用系统的串行通信。在方式在方式1时时,若若SM2=1,则只有接收到有效停止位时则只有接收到有效停止位时,RI才置才置1,以便接
24、收下一以便接收下一帧数据。在方式帧数据。在方式0时时,SM2必须是必须是0。REN(SCON.4)允许接收控制位。由软件置允许接收控制位。由软件置1或清或清0,只有当,只有当REN1时才允许接收,相当于串行接收的开关;若时才允许接收,相当于串行接收的开关;若REN0,则禁止接收。,则禁止接收。在串行通信接收控制过程中,如果满足在串行通信接收控制过程中,如果满足RI0和和REN1(允许接收)的条(允许接收)的条件,就允许接收,一帧数据就装载入接收件,就允许接收,一帧数据就装载入接收SBUF中。中。2、串行口控制字及控制寄存器、串行口控制字及控制寄存器TB8(SCON.3)发送数据的第发送数据的第
25、9位(位(D8)装入装入TB8中。中。在方式在方式2或方式或方式3中,根据发送数据的需要由软件置位或复中,根据发送数据的需要由软件置位或复位。在许多通信协议中可用作奇偶校验位,也可在多机通位。在许多通信协议中可用作奇偶校验位,也可在多机通信中作为发送地址帧或数据帧的标志位。对于后者,信中作为发送地址帧或数据帧的标志位。对于后者,TB81,说明该帧数据为地址;说明该帧数据为地址;TB80,说明该帧数据为数说明该帧数据为数据字节。在方式据字节。在方式0或方式或方式1中,该位未用。中,该位未用。RB8(SCON.2)接收数据的第接收数据的第9位。在方式位。在方式2或方式或方式3中,接收到的第中,接收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机第7章 89C51串行口及串行通信技术 单片机 89 C51 串行口 串行 通信 技术
限制150内