收藏 分享(赏)

【单片机应用课件】7.单片机串行数据通信.ppt

上传人:鼎天工程图书馆 文档编号:20235730 上传时间:2023-12-08 格式:PPT 页数:41 大小:418KB
下载 相关 举报
【单片机应用课件】7.单片机串行数据通信.ppt_第1页
第1页 / 共41页
【单片机应用课件】7.单片机串行数据通信.ppt_第2页
第2页 / 共41页
【单片机应用课件】7.单片机串行数据通信.ppt_第3页
第3页 / 共41页
【单片机应用课件】7.单片机串行数据通信.ppt_第4页
第4页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、基本概念基本概念RS-232RS-232接口接口MCS-51MCS-51的串行接口的串行接口单片机与单片机之间的通信单片机与单片机之间的通信单片机与单片机与PCPC机之间的通信机之间的通信第第章章单单片片机机串串行行数数据据通通信信本章内容本章内容1什么是串行通信?什么是串行通信?vv串行通信和并行通信串行通信和并行通信 计算机1 GND 计算机2 GND并行通信 计算机1 GND 计算机2 GND发送接收串行通信并行通信,即数据的各位并行通信,即数据的各位并行通信,即数据的各位并行通信,即数据的各位同时同时同时同时传送;传送;传送;传送;串行通信,即数据串行通信,即数据串行通信,即数据串行通

2、信,即数据一位一位一位一位一位一位一位一位顺序传送。顺序传送。顺序传送。顺序传送。并行通信的优点是速度快,效率高,确点是不适合远距离通信。串行通信刚好相反。2串行通信的基本知识v 在在MCS-51单单片片机机内内部部,有有一一个个通通用用异异步步接接收收/发发送送器器(UART)。这这是是一一个个全全双双工工串串行行接接口口,能能同同时时进进行行发发送送和和接接收收数数据据。利利用用这这个个串串行行接接口口,可可以以实实现现单单片片机机之之间间的的单单机机通通信信、多机通信,以及与多机通信,以及与PC机之间的通信。机之间的通信。3RS-232CRS-232C信息格式标准信息格式标准RS-232

3、CRS-232C采用串行格式。该标准规定采用串行格式。该标准规定:信息的开始为起信息的开始为起始位始位,信息的结束为停止位信息的结束为停止位;信息本身可以是信息本身可以是5 5、6 6、7 7、8 8位再加一位奇偶位。如果两个信息之间无信息,位再加一位奇偶位。如果两个信息之间无信息,则写则写“1 1”,表示空。,表示空。4串行通信的分类:串行通信的分类:异步异步异步异步(Asynchronous Communication)(Asynchronous Communication)(Asynchronous Communication)(Asynchronous Communication)同步

4、同步同步同步(Synchronous Communication)(Synchronous Communication)(Synchronous Communication)(Synchronous Communication)串行通信制式:串行通信制式:单工单工单工单工(a)a)a)a)、半双工半双工半双工半双工(b)b)b)b)和和和和全双工全双工全双工全双工(c)c)c)c)(simplex half duplex full (simplex half duplex full (simplex half duplex full (simplex half duplex full dupl

5、ex)duplex)duplex)duplex)发送器A站接收器B站单工通信(a)发收A站发收B站发收A站发收B站(b)(c)5单工、半双工单工、半双工 和和 全双工全双工单工:信息只能沿着一个方向传播单工:信息只能沿着一个方向传播半双工:信息可以沿一条线双向传播,但不能半双工:信息可以沿一条线双向传播,但不能同时实现双向传播。同时实现双向传播。全双工:使用两条独立的数据通道,收发可同全双工:使用两条独立的数据通道,收发可同时进行时进行异步串行通信异步串行通信:以字符为单位进行传送以字符为单位进行传送 同步串行通信同步串行通信:以数据块以数据块为单位进行传送为单位进行传送 6异步串行通信异步串

6、行通信:在在异异步步通通信信中中,数数据据通通常常是是以以字字符符为为单单位位组组成成字字符符帧帧传传送送的的。字字符符帧帧由由发发送送端端一一帧帧一一帧帧地地发发送送,每每一一帧帧数数据据是是低低位位在在前前,高高位位在在后后,通通过过传传输输线线被被接接收收端端一一帧帧一一帧帧地地接接收收。发发送送端端和和接接收收端端可可以以由由各各自自独独立立的的时时钟钟来来控控制制数数据据的的发发送送和和接接收收,这这两两个个时时钟钟彼彼此此独独立立,互互不同步。不同步。在异步通信中,接收端是依靠字符帧格式来判断发送在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送何时结束发送的。字符帧格

7、式是异端是何时开始发送何时结束发送的。字符帧格式是异步通信的一个重要指标。步通信的一个重要指标。7异步串行通信异步串行通信:1 1)字符帧(字符帧(Character FrameCharacter Frame)字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成。等四部分组成。(1 1)起起始始位位:位位于于字字符符帧帧开开头头,只只占占一一位位,为为逻逻辑辑0 0低低电电平平,用于向接收设备表示发送端开始发送一帧信息。用于向接收设备表示发送端开始发送一帧信息。(2 2)数数据据位位:紧紧跟跟起起始始位位之之后后,用用户户根根

8、据据情情况况可可取取5 5位位、6 6位位、7 7位或位或8 8位,低位在前高位在后。位,低位在前高位在后。(3 3)奇奇偶偶校校验验位位:位位于于数数据据位位之之后后,仅仅占占一一位位,用用来来表表征征串串行通信中采用奇校验还是偶校验,由用户决定。行通信中采用奇校验还是偶校验,由用户决定。停止位:位于字符帧最后,为逻辑停止位:位于字符帧最后,为逻辑1 1高电平。通常可取高电平。通常可取1 1位、位、1.51.5位或位或2 2位,用于向接收端表示一帧字符信息已经发送完,也为位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。发送下一帧作准备。8同步串行通信同步串行通信:以数据块以

9、数据块为单位进行传送为单位进行传送 同同步步通通信信是是一一种种连连续续串串行行传传送送数数据据的的通通信信方方式式,一一次次通通信信只只传传输输一一帧帧信信息息。这这里里的的信信息息帧帧和和异异步步通通信信的的字字符符帧帧不不同同,通通常常有有若若干干个个数数据据字字符符。在在同同步步通通信信中中,同同步步字字符符可可以以采采用用统统一一的的标标准准格格式式,也也可可以以由由用用户户约约定。定。91011MCS-51的串行接口的串行接口vv概述概述有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(UART)UART

10、)UART)UART)(Universal(Universal(Universal(Universal AsychronousAsychronousAsychronousAsychronous Receiver/Transmitter Receiver/Transmitter Receiver/Transmitter Receiver/Transmitter )可同时发送、接收数据可同时发送、接收数据可同时发送、接收数据可同时发送、接收数据(Transmit/Receive)Transmit/Receive)有四种工作方式,帧格式有有四种工作方式,帧格式有有四种工作方式,帧格式有有四种工作方式

11、,帧格式有8 8 8 8、10101010、11111111位。位。位。位。波特率波特率波特率波特率(Baud rate)(Baud rate)(Baud rate)(Baud rate)可设置可设置可设置可设置 波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。12MCS-51串行接口的结构串行接口的结构13串行口的结构两个同名的两个同名的接收接收/发送缓冲寄存器发送缓冲寄存器SBUFSBUF 指令指令 MOV SBUFMOV SBUF,A A 启动一次数据发送启动一次数据发送,可向可向SBUFSBUF 再发送下一个数再发送下一个数 指令指令 MOV AMOV A,SB

12、UF SBUF 完成一次数据接收完成一次数据接收,SBUFSBUF可再可再 接收下一个数接收下一个数接收接收/发送数据发送数据,无论是否采用中断方式无论是否采用中断方式 工作工作,每接收每接收/发送一个数据都必须用指发送一个数据都必须用指 令对令对 RI/TI RI/TI 清清0 0,以备下一次收,以备下一次收/发。发。14MCS-51串行接口寄存器SBUFSBUF串行口数据缓冲器串行口数据缓冲器串行口数据缓冲器串行口数据缓冲器vv共两个:一个发送寄存器共两个:一个发送寄存器共两个:一个发送寄存器共两个:一个发送寄存器SBUFSBUF,一个接收,一个接收,一个接收,一个接收SBUFSBUF,二

13、者二者二者二者共用一个地址共用一个地址共用一个地址共用一个地址9999H H。SCONSCON串行口控制寄存器。串行口控制寄存器。串行口控制寄存器。串行口控制寄存器。PCONPCON电源及波特率选择寄存器,格式如下:电源及波特率选择寄存器,格式如下:电源及波特率选择寄存器,格式如下:电源及波特率选择寄存器,格式如下:15控制寄存器控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式选择多机通信控制位允许串行接收位接收数据的第9位发送数据的第9位接收中断标志发送中断标志9FH9EH9DH9CH9BH9AH99H98H16SM0SM1工作方式工作方式功能功能波特率波特率00方式方

14、式08位同步移位寄存器位同步移位寄存器fosc/1201方式方式110位位UART可变可变10方式方式211位位UARTfosc/64或或fosc/3211方式方式311位位UART可变可变串行方式的定义例:设串行口工作在方式例:设串行口工作在方式例:设串行口工作在方式例:设串行口工作在方式1 1 1 1,允许接收,则指令为:,允许接收,则指令为:,允许接收,则指令为:,允许接收,则指令为:MOV SCON,#01010000BMOV SCON,#01010000BMOV SCON,#01010000BMOV SCON,#01010000B17电源及波特率选择寄存器电源及波特率选择寄存器PCO

15、NPCONv电电源源控控制制寄寄存存器器PCON中中只只有有一一位位SMOD与串行口工作有关,它的位格式为:与串行口工作有关,它的位格式为:vSMOD:波波特特率率倍倍增增位位。串串行行口口工工作作在在方方式式1、方方式式2、方方式式3时时,若若SMOD=1,则则波波特特率率提提高高一一倍倍;若若SMOD=0,则则波波特特率率不不提提高高一一倍。单片机复位时,倍。单片机复位时,SMOD=0。18串行口的四种工作方式串行口的四种工作方式vv方式的选择由方式的选择由方式的选择由方式的选择由SM1SM1、SM0SM0实现。实现。实现。实现。vv四种方式的比较:四种方式的比较:四种方式的比较:四种方式

16、的比较:工作方式功能说明波特率方式08位同步移位寄存器常用于扩展I/O口fosc/12方式110位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)方式211位UART8位数据、起始位0、结束位1和奇偶校验位fosc/64或fosc/32方式311位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)19方式方式0 0 在方式在方式在方式在方式0 0 0 0下,串行口作同步移位寄存器用,其波特率固下,串行口作同步移位寄存器用,其波特率固下,串行口作同步移位寄存器用,其波特率固下,串行口作同步移位寄存器用,其波特率固定为定为定为定为f f f foscoscoscosc/12/

17、12/12/12。串行数据从串行数据从串行数据从串行数据从RXD(P3.0)RXD(P3.0)RXD(P3.0)RXD(P3.0)端输入或输出,同步移端输入或输出,同步移端输入或输出,同步移端输入或输出,同步移位脉冲由位脉冲由位脉冲由位脉冲由TXD(P3.1)TXD(P3.1)TXD(P3.1)TXD(P3.1)送出。这种方式常用于扩展送出。这种方式常用于扩展送出。这种方式常用于扩展送出。这种方式常用于扩展I/OI/OI/OI/O口。口。口。口。方式0用于扩展I/O口输出20方式0用于扩展I/O口输入21MOVSCON,#00HCLRESMOVA,#80HDELR:CLRP1.0MOVSBUF

18、,AJNBTI,$SETBP1.0ACALLDELAYCLRTIRRAAJMPDELR22方式110位的帧格式 串行口为波特率可调的串行口为波特率可调的1010位通用异步接口位通用异步接口UARTUART。发送或发送或接收一帧信息,包括接收一帧信息,包括1 1位起始位位起始位0 0,8 8位数据位和位数据位和1 1位停止位位停止位1 1。232.方式1串行口工作于模式1时,为波特率可变的8位位异异步步通信接口。数据位由P3.0(RXD)端接收,由P3.1(TXD)端发送。传送一帧信息为10位:一位起始位(0),8位数据位(低位在前)和一位停止位(1)。波特率是可变的,它取决于定时器T1的溢出速

19、率及SMOD的状态。(1)方式1发送过程。用软件清除TI后,CPU执行任何一条以SBUF为目标寄存器的指令,就启动发送过程。数据由TXD引脚输出,此时的发送移位脉冲是由定时器/计数器T1送来的溢出信号经过16或32分频而取得的。一帧信号发送完时,将置位发送中断标志TI=1,向CPU申请中断,完成一次发送过程。24(2)方式1接收过程。用软件清除RI后,当允许接收位REN被置位1时,接收器以选定波特率的16倍的速率采样RXD引脚上的电平,即在一个数据位期间有16个检测脉冲,并在第7、8、9个脉冲期间采样接收信号,然后用三中取二的原则确定检测值,以抑制干扰。并且采样是在每个数据位的中间,避免了信号

20、边沿的波形失真造成的采样错误。当检测到有从“1”到“0”的负跳变时,则启动接收过程,在接收移位脉冲的控制下,接收完一帧信息。当最后一次移位脉冲产生时能满足下列两个条件:RI=0;接收到的停止位为1或SM2=0。25则停止位送入RB8,8位数据进入SBUF,并置RI1,完成一次接收过程。否则,所接收到的一桢信息将丢失,接收器复位,并从新开始检测负跳变,以便接收下一桢信息。注意:接收中断标志RI应由软件清除。26方式方式2 2 串行口为串行口为1111位位UARTUART,传送波特率与传送波特率与SMODSMOD有关。发送或接有关。发送或接收一帧数据包括收一帧数据包括1 1位起始位位起始位0 0,

21、8 8位数据位,位数据位,1 1位可编程位位可编程位(用于用于奇偶校验奇偶校验)和和1 1位停止位位停止位1 1。11位的帧格式27方式方式3 3 方式方式3 3为波特率可变的为波特率可变的1111位位UARTUART通信方式,除了波通信方式,除了波特率以外,方式特率以外,方式3 3和方式和方式2 2完全相同。完全相同。28方式2和和方式3串行口工作于方式2和方式3时,被定义为9位位异异步步通信接口。它们的每帧数据结构是11位的:最低位是起始位(0),其后是8位数据位(低位在先),第10位是用户定义位(SCON中的TB8或RB8),最后一位是停止位(1)。方式2和方式3工作原理相似,唯一的差别

22、是方式2的波特率是固定的,即为f/32或fOSC/64;而方式3的波特率是可变的,与定时器T1的溢出率有关。29(1)方式2和方式3的发送过程。发送过程是由执行任何一条SBUF为目的寄存器的指令来启动的。由“写入SBUF”信号把8位数据装入SBUF,同时还把TB8装入发送移位寄存器的第9位,并通知发送控制器要求进行一次发送。发送开始,把一个起始位(0)送到TXD端。移位后,数据由移位寄存器送到TXD端。再过一位,出现第一个移位脉冲。第一次移位时,把一个停止位“1”由控制器的停止位发生端送入移位寄存器的第9位。此后,每次移位时,把0送入第9位。因此,当TB8的内容送到移位寄存器的输出位置时,其左

23、面一位是停止位“1”,而再往左的所有位全为“0”。这种状态由零检测器检测到后,就通知发送控制器作最后一次移位,然后置TI=1,请求申请中断。第9位数据(TB8)由软件置位或清零,可以作为数据的奇偶校验位,也可以作为多机通信中的地址、数据标志位。如把TB8作为奇偶校验位,可以在发送程序中,在数据写入SBUF之前,先将数据位写入TB8。30(2)方式2和方式3接收过程。与方式1类似,方式2和方式3接收过程始于在RXD端检测到负跳变时,为此,CPU以波特率16倍的采样速率对RXD端不断采样。一检测到负跳变,16分频计数器就立刻复位,同时把1FFH写入输入移位寄存器。计数器的16个状态把一位时间等分成

24、16份,在每一位的第7、8、9个状态时,位检测器对RXD端的值采样。如果所接收到的起始位无效(为1),则复位接收电路,等待另一个负跳变的到来。若起始位有效(为0)则起始位移入移位寄存器,并开始接收这一帧的其余位。当起始位0移到最左面时,通知接收控制器进行最后一次移位。把8位数据装入接收缓冲器SBUF,第9位数据装入SCON中的RB8,并置中断标志RI=1。31装入SBUF和RB8以及置位RI的信号只有在产生最后一个移位脉冲且同满足下列两个条件,才会产生:RI=0;SM2=0或接收到的第9位数据为“1”。上述两个条件中任一个不满足,所接收的数据帧就会丢失,不再恢复。两者都满足时,第9位数据装入T

25、B8,前8位数据装入SBUF。请注意:与方式1不同,方式2和3中装入RB8的是第9位数据,而不是停止位。所接收的停止位的值与SBUF、RB8和RI都没有关系,利用这一特点可用于多机通信中。32MCS-51串行口的波特率串行口的波特率1.1.1.1.方式方式方式方式0 0 0 0和方式和方式和方式和方式2 2 2 2的波特率是固定的的波特率是固定的的波特率是固定的的波特率是固定的在方式在方式2中,波特率取决于中,波特率取决于PCON中的中的SMOD值:值:当当SMOD=0时,波特率为时,波特率为fosc/64;当当SMOD=1时,波特率为时,波特率为fosc/32.即波特率即波特率=。oscSM

26、ODf642在方式在方式0中,波特率为时钟频率的中,波特率为时钟频率的1/12,即,即fosc/12,固定不变固定不变332.2.2.2.方式方式方式方式1 1 1 1和方式和方式和方式和方式3 3 3 3的波特率可变,由定时器的波特率可变,由定时器的波特率可变,由定时器的波特率可变,由定时器1 1 1 1的溢出率决定的溢出率决定的溢出率决定的溢出率决定波特率/(b/s)fosc/MHzSMOD定时器1C/模式初始值方式0:1方式2:375k方式1、3:62.5k19.2k9.6k4.8k2.4k1.2k137.5k11011012121211.05911.05911.05911.05911.

27、05911.9866121110000000000000000222222221FFHFDHFDHFAHF4HE8H1DH72HFEEBHT34(3)方式1和方式3的波特率除了与SMOD位有关之外,还与定时器T1的溢出率有关。定时器T1作为波特率发生器,常选用定时方式2(8位重装载初值方式),并且禁止T1中断。此时TH1从初值计数到产生溢出,它每秒钟溢出的次数称为溢出率。于是35假设某MCS-51单片机系统,串行口工作于方式3,要求传送波特率为1200Hz,作为波特率发生器的定时器T1工作在方式2时,请求出计数初值为多少?设单片机的振荡频率为6MHz。因为串行口工作于模式3时的波特率为所以36

28、当SMOD=0时,初值TH1=256-6106/(12001232/1)=243=0F3H当SMOD=1时,初值TH1=256-6106/(12001232/2)=230=0E6H37单片机之间的通信双机异步通信接口电路381.当采用定时器 1作为串行口波特率发生器使用时,通常定时器工作在方式().A.0B.1C.2D.32.当设置串行口工作为方式 2时,采用()指令。A.MOV SCON,#80HB.MOV PCON,#80HC.MOV SCON,#10HD.MOV SCON,#10H393.SCON中SM2位的作用是()。A.决定串行口工作方式B.多机通信的控制位C.允许串行接收位D.接收中断标志位4.串行口工作在方式 0时,其波特率()。A.取决于定时器1的溢出率B.取决于PCON中的SMOD位 C.取决于时钟频率D.取决于PCON中的SMOD位和定时器11的溢出率405.在11位帧格式中,除了8位数据、1位起始位、1位停止位外,还有1位()。A.标志位B.符号位C.进位位D.奇偶校验位6.串行口的发送数据和接收数据端为()。A.TXD和RXDB.TI和RIC.TB8和RB8D.REN41

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

当前位置:首页 > 技术资料 > 材料科学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报