串行通信方式课件_第1页
串行通信方式课件_第2页
串行通信方式课件_第3页
串行通信方式课件_第4页
串行通信方式课件_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章第九章 串行通信方式串行通信方式罗小刚罗小刚 生物工程学院生物工程学院单片机原理及在医学仪器中的应用 串行通信方式串行通信方式什么是通信什么是通信两个设备之间交换数据的过程我们称之为通信两个设备之间交换数据的过程我们称之为通信单工双工AB串行通信方式串行通信方式通信的方式通信的方式v从同时传输的数据位数来分为:串行通信方式串行通信方式串并行方式各自特点串并行方式各自特点速度价格距离并行串行串行通信方式串行通信方式串行通信帧格式串行通信帧格式帧的概念:起始位,数据位,速率帧的概念:起始位,数据位,速率(波特率波特率),应答位或停止位。,应答位或停止位。串行通信方式串行通信方式常见的串行通信

2、协议常见的串行通信协议 名称特点USARTUSBI2CSPI用途PC与MCUPC与MCUMCU之间MCU之间特点简单快,可靠简单复杂,可靠USARTPC与MCU简单串行通信方式串行通信方式串行输出原理串行输出原理串行通信方式串行通信方式串行输入原理串行输入原理串行通信方式串行通信方式F877单片机主要配置有2种形式的串行通信模块: 主控同步串行通信MSSP (Master Synchronous Serial Port) 通用同步/异步收发器USART (Universal Synchronous/Asynchronous Receiver Transmitter )。 MSSP模块主要应用于

3、系统内部近距离的串行通信扩展,如SPI、I2C模式。USART模块主要应用于系统之间的远距离串行通信,在外围接口电路及计算机通信中应用相当广泛。 串行通信方式串行通信方式 9.1 SPI串行通信模块串行通信模块 SPI(Serial Peripheral Interface)是一种单片机外设芯片同步串行扩展接口,由摩托罗拉公司推出。采用SPI接口外围器件的特点是引脚性价比高等优点,因而在市场上得到了广泛的应用。 串行通信方式串行通信方式 10.1.1 SPI模式下相关寄存器模式下相关寄存器 在SPI模式下,有关的寄存器共有10个,其中无编址的只有一个SSPSR。这10个寄存器中有6个寄存器是与

4、其它模块共用的。另外有4个寄存器与MSSP模块相关,它们是与I2C模式共用的。 串行通信方式串行通信方式1SSPBUF(收(收/发数据缓冲器)发数据缓冲器) 2SSPSTAT(同步串口状态寄存器)(同步串口状态寄存器) 串行通信方式串行通信方式 Bit0/BF: Bit0/BF:缓冲器满标志位,被动参数。缓冲器满标志位,被动参数。 仅仅用于仅仅用于SPISPI接收状态下:接收状态下: 0 0:缓冲器空;:缓冲器空; 1 1:缓冲器满。:缓冲器满。Bit6/CKEBit6/CKE:SPISPI时钟沿选择和时钟沿选择和I I2 2C C总线输入电平选择位。总线输入电平选择位。 在在CKP = 0C

5、KP = 0,静态电平为低时:,静态电平为低时: 0 0:SCKSCK的下降沿发送数据;的下降沿发送数据; 1 1:SCKSCK的上升沿发送数据。的上升沿发送数据。 在在CKP = 1, CKP = 1, 静态电平为高时:静态电平为高时: 0 0:SCKSCK的上升沿发送数据;的上升沿发送数据; 1 1:SCKSCK的下降沿发送数据。的下降沿发送数据。Bit7/SMPBit7/SMP:SPISPI采样控制位兼采样控制位兼I I2 2C C总线转换率控制位。总线转换率控制位。 在在SPISPI主控方式下:主控方式下: 0 0:在输出数据的中间采样输入数据;:在输出数据的中间采样输入数据; 1 1

6、:在输出数据的末尾采样输入数据。:在输出数据的末尾采样输入数据。 注意:在注意:在SPISPI从动方式下,从动方式下,SMPSMP位必须置位。位必须置位。串行通信方式串行通信方式3SSPCON(同步串口控制寄存器)(同步串口控制寄存器) Bit3-Bit0/SSPM3-SSPM0:同步串行口MSSP方式选择位。 串行通信方式串行通信方式Bit4/CPKBit4/CPK:时钟极性选择位。:时钟极性选择位。 0 0:表示空闲时时钟停留在低电平;:表示空闲时时钟停留在低电平; 1 1:表示空闲时时钟停留在高电平。:表示空闲时时钟停留在高电平。Bit5/SSPENBit5/SSPEN:同步串口:同步串

7、口MSSPMSSP使能位。使能位。 在在SPISPI模式下时,有关引脚必须正确的设定为输入或输出状态。模式下时,有关引脚必须正确的设定为输入或输出状态。 0 0:关闭串行端口功能,且设定关闭串行端口功能,且设定SCKSCK、SODSOD、SDISDI和和SSSS为普通数为普通数字字I/OI/O脚;脚;1 1:允许串行端口工作,且设定允许串行端口工作,且设定SCKSCK、SODSOD、SDISDI和和SSSS为为SPISPI接口专用。接口专用。 串行通信方式串行通信方式Bit6/SSPOVBit6/SSPOV:接收溢出标志位,被动参数。:接收溢出标志位,被动参数。 0 0:未发生接收溢出;:未发

8、生接收溢出; 1 1:发生接收溢出。:发生接收溢出。 注意:所指的接收溢出是缓冲器注意:所指的接收溢出是缓冲器SSPBUFSSPBUF中数据还未取出时,移位中数据还未取出时,移位寄存器寄存器SSPSRSSPSR中又收到新的数据,原中又收到新的数据,原SSPSRSSPSR中的数据丢失。中的数据丢失。Bit7/WCOLBit7/WCOL:写操作冲突检测位,被动参数。:写操作冲突检测位,被动参数。 在在SPISPI从动方式下:从动方式下: 0 0:未发生冲突;:未发生冲突; 1 1:发生冲突。:发生冲突。 注意:当注意:当WCOL=1, WCOL=1, 正在发送前一个数据时,又有新数据写入正在发送前

9、一个数据时,又有新数据写入SSPBUFSSPBUF,必须用软件予以清零。,必须用软件予以清零。 串行通信方式串行通信方式4SSPSR移位寄存器移位寄存器 直接从端口引脚接收或发送数据,将已经成功直接从端口引脚接收或发送数据,将已经成功接收到的数据送到缓冲器接收到的数据送到缓冲器SSPBUFSSPBUF中,或者从缓冲器中,或者从缓冲器SSPBUFSSPBUF读取将发送的数据。读取将发送的数据。串行通信方式串行通信方式9.1.2 SPI模式工作原理模式工作原理 要发送的数据通过数据总线送入发送缓冲器,然后要发送的数据通过数据总线送入发送缓冲器,然后自动传送到移位寄存器中;移位寄存器接收到数据自动自

10、动传送到移位寄存器中;移位寄存器接收到数据自动传送到接收缓冲器,然后由程序读取收到的数据;移位传送到接收缓冲器,然后由程序读取收到的数据;移位寄存器有移入和移出两个端口,分别与收和发两条通信寄存器有移入和移出两个端口,分别与收和发两条通信线路连接,负责收发数据。线路连接,负责收发数据。 串行通信方式串行通信方式SPI模式电路的基本结构模式电路的基本结构 串行通信方式串行通信方式SPI工作原理示意图工作原理示意图 串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式 9.2 I2C串行通信模式串行通信模式 19801980年年PHILIPSPHILIPS公司首创公司首创I I

11、2 2C C(Inter Integrated Circuit Inter Integrated Circuit BusBus)总线规范,已成为一种串行总线事实上的工业标准。)总线规范,已成为一种串行总线事实上的工业标准。I I2 2C C总总线是一种高性能芯片间串行同步传输总线,被大量的用作系统内线是一种高性能芯片间串行同步传输总线,被大量的用作系统内部的电路板级总线。部的电路板级总线。 它定义了两根信号线,串行数据线它定义了两根信号线,串行数据线SDASDA和串形时钟线和串形时钟线SCLSCL,可,可实现双工同步数据传输,能够极其方便的构成多机系统和外围器实现双工同步数据传输,能够极其方便

12、的构成多机系统和外围器件扩展系统。件扩展系统。 串行通信方式串行通信方式 9.2.1 I2C串行通信模式串行通信模式 串行通信方式串行通信方式 1I2C数据格式数据格式 I I2 2C C数据格式有五部分组成:启动信号(数据格式有五部分组成:启动信号(SCL=1SCL=1,SDASDA从高到低);被控器地址(可从高到低);被控器地址(可7 7位或位或1010位);位);R/ WR/ W信号;若干个数据字节;停止信号(信号;若干个数据字节;停止信号(SCL=1SCL=1,SDASDA从低从低到高)。到高)。串行通信方式串行通信方式 主控器向被控器写数据主控器向被控器写数据 串行通信方式串行通信方

13、式主控器向被控器读数据主控器向被控器读数据 串行通信方式串行通信方式10位地址格式位地址格式 其中A9、A8是10位地址的高2位。 串行通信方式串行通信方式2I2C地址设定地址设定 在I2C总线系统中的器件,一般都有一个专用的7位从器件地址码。地址码分为两部分,A6、A5、A4、A3为器件类型码。如存贮器为:1010,LCD点阵显示器启动器为:0111等等,不可更改统一规定。A2、A1、A0可由器件改变,所以同一类器件在I2C总线系统中最多能接8个。 串行通信方式串行通信方式3数据传递数据传递 v主控器发送数据,被控器接收数据的通信过程如下:主控器发送数据,被控器接收数据的通信过程如下: v主

14、控器在检测到总线空闲的状况下,首先发送一个启动主控器在检测到总线空闲的状况下,首先发送一个启动S S信号;信号;v接着发送一个地址字节(包含着接着发送一个地址字节(包含着7 7位地址码和一位读位地址码和一位读/ /写位,假设写位,假设= 0 = 0 ););v在被控器收到地址字节后回送一个应答信号在被控器收到地址字节后回送一个应答信号ACK = 0ACK = 0;v在主控器收到该应答位后开始发送第一个数据字节;在主控器收到该应答位后开始发送第一个数据字节;v在被控器收到第一个数据字节后又回送一个应答位在被控器收到第一个数据字节后又回送一个应答位ACK = 0ACK = 0;v在主控器收到应答位

15、后开始发送第二个数据字节;在主控器收到应答位后开始发送第二个数据字节;v被控器收到第二个数据字节后再返送一个(非)应答位(被控器收到第二个数据字节后再返送一个(非)应答位(NACK=1NACK=1)ACK=0ACK=0;v在主控器将所需发送的全部数据(在此假设是两个字节)发送完毕后,就发在主控器将所需发送的全部数据(在此假设是两个字节)发送完毕后,就发送一个停止送一个停止P P信号时序,结束整个通信过程,并且释放总线,使总线返回空信号时序,结束整个通信过程,并且释放总线,使总线返回空闲状态。闲状态。 串行通信方式串行通信方式9.2.2 I2C总线模式下相关的寄存器总线模式下相关的寄存器 串行通

16、信方式串行通信方式1SSPSTAT同步串口寄存器同步串口寄存器 SSPSTATSSPSTAT用来记录用来记录MSSPMSSP模块的各种工作状态:模块的各种工作状态: 串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式2SSPCON同步串口控制寄存器同步串口控制寄存器 串行通信方式串行通信方式 Bit3-Bit0/SSPM3-SSPM0Bit3-Bit0/SSPM3-SSPM0:同步串口:同步串口MSSPMSSP方式选择位方式选择位串行通信方式串行通信方式 Bit4/CKPBit4/CKP:时钟极性选择位(对于:时钟极性选择位

17、(对于SPISPI模式而言)。模式而言)。 在在I I2 2C C被控方式下,被控方式下,SCLSCL时钟使能位(时钟使能位(I I2 2C C主控下没有用):主控下没有用): 0 0:将时钟线拉低并保持,以延长时钟周期,来确保数据建立时间;:将时钟线拉低并保持,以延长时钟周期,来确保数据建立时间; 1 1:时钟正常工作。:时钟正常工作。Bit5/SSPENBit5/SSPEN:同步串口:同步串口MSSPMSSP使能位。使能位。 0 0:不允许关闭串行端口工作,设定:不允许关闭串行端口工作,设定SDASDA和和SCLSCL为普通数字为普通数字I/OI/O引脚;引脚; 1 1:允许串行端口工作,

18、设定:允许串行端口工作,设定SDASDA和和SCLSCL为为I I2 2C C总线专用引脚。总线专用引脚。 Bit6/SSPOVBit6/SSPOV:接收溢出标志位。:接收溢出标志位。 当接收溢出时,当接收溢出时,SSPBUFSSPBUF前一个数据还没被取走,又收到了新数据;前一个数据还没被取走,又收到了新数据; 在发送方式下此位无效,必须用软件清零。在发送方式下此位无效,必须用软件清零。 0 0:未发生接收溢出;:未发生接收溢出; 1 1:发生接收溢出。:发生接收溢出。 Bit7/WCOLBit7/WCOL:写操作冲突检测位。:写操作冲突检测位。 当发生冲突时,当发生冲突时,I I2 2C

19、C总线的状态还没有准备好时,试图向总线的状态还没有准备好时,试图向SSPBUFSSPBUF缓缓 冲器写入数据,冲器写入数据,WCOL = 1WCOL = 1,必须用软件清零。,必须用软件清零。 0 0:未发生冲突;:未发生冲突; 1 1:发生冲突。:发生冲突。 串行通信方式串行通信方式3SSPADD从地址从地址/波特率寄存器波特率寄存器 串行通信方式串行通信方式 4 同步串口控制寄存器同步串口控制寄存器2-SSPCON2 主要是为增强主要是为增强MSSPMSSP模块模块I I2 2C C总线模式的主控器功能总线模式的主控器功能而新增加的。而新增加的。 串行通信方式串行通信方式串行通信方式串行通

20、信方式Bit5/ACKDTBit5/ACKDT:应答信息位。:应答信息位。 在在I I2 2C C主控接收方式下,在一个字节收完之后,主控器软件应返送一个应主控接收方式下,在一个字节收完之后,主控器软件应返送一个应答信号,该位就是用户软件写入的将被返送的值:答信号,该位就是用户软件写入的将被返送的值: 0 0:将发送有效应答位(:将发送有效应答位(ACKACK););1 1:将发送非应答位(:将发送非应答位(NACKNACK)。)。Bit6/ACKSTATBit6/ACKSTAT:应答状态位。:应答状态位。 在在I I2 2C C主控方式下,硬件自动接收来自被控器的应答信号主控方式下,硬件自动

21、接收来自被控器的应答信号 0 0:收到来自被控接收器的有效应答位(或表示位);:收到来自被控接收器的有效应答位(或表示位); 1 1:没有收到来自被控接收器的有效应答位(或表示为:没有收到来自被控接收器的有效应答位(或表示为NACKNACK)。)。Bit7/GCENBit7/GCEN:通用呼叫地址寻址使能位,主动参数。:通用呼叫地址寻址使能位,主动参数。 0 0:禁止以通用呼叫地址寻址;:禁止以通用呼叫地址寻址;1 1:当:当SSPSTATSSPSTAT中收到通用呼叫地址(中收到通用呼叫地址(00H00H)时允许中断。)时允许中断。 串行通信方式串行通信方式9.2.3 I2C从动模式从动模式

22、当当I I2 2C C工作在从动方式时,工作在从动方式时,SDASDA和和SCLSCL引脚必须设置引脚必须设置为输入,如果需要发送时,为输入,如果需要发送时,MSSPMSSP模块强行将输入状态模块强行将输入状态改为输出状态。在地址匹配后,收到传送的数据后,改为输出状态。在地址匹配后,收到传送的数据后,将自动产生将自动产生ACK,ACK,并将并将SSPSRSSPSR中的数据传入中的数据传入SSPBUFSSPBUF。 串行通信方式串行通信方式I2C从动方式电路模块结构从动方式电路模块结构 串行通信方式串行通信方式9.2.4 I2C主控模式主控模式 对对SSPCONSSPCON寄存器中的相应寄存器中

23、的相应SSPMSSPM置位和清零,对置位和清零,对SSPENSSPEN置位即可使能主控工作方式,控制工作方式使能置位即可使能主控工作方式,控制工作方式使能后,用户有以下六种选择后,用户有以下六种选择 :v 送启动信号到送启动信号到SDASDA和和SCLSCL(将(将SENSEN置位);置位);v 送重复启动信号到送重复启动信号到SDASDA和和SCLSCL(将(将RSENRSEN置位);置位);v 写写SSPBUFSSPBUF寄存器启动数据或地址的传送;寄存器启动数据或地址的传送;v 送结束信号到送结束信号到SDASDA和和SCLSCL(将(将PENPEN置位);置位);v 设置设置I I2

24、2C C端口以接收数据;端口以接收数据;v 数据字节接收完成后,发出应答信号。数据字节接收完成后,发出应答信号。 串行通信方式串行通信方式 I2C在主控基本结构模块在主控基本结构模块 串行通信方式串行通信方式 【例题9-3】本例题电路原理图和图9-5相同,除连接有8位数码显示和16个键盘电路以外,还利用RC6和R C 7 引 脚 组 成 一 个 I2C 同 步 串 行 功 能 , 实 现 对24LC515EEPROM的串行数据传送。编程要求:首先将64个数据00H-3FH存入EEPROM单元0000H-003FH中,然后再将00010H-0001FH单元中的数据取出,存入数据存储器单元40H-

25、4FH,最后逐个送往数码显示区的最后两位显示,每个数显示停留1秒种。 串行通信方式串行通信方式 9.3 USART串行通信模块串行通信模块 PIC PIC系列芯片中,片内除了含有同步串行口系列芯片中,片内除了含有同步串行口SSPSSP(SPISPI,I I2 2C C)外,还有一个串行通信接口)外,还有一个串行通信接口SCISCI。这是一。这是一个通用同步异步收发器,简称个通用同步异步收发器,简称USARTUSART,它是计算机,它是计算机最常用的通信接口之一。最常用的通信接口之一。 USARTUSART可工作于如下三种方式:全双工异步方式;可工作于如下三种方式:全双工异步方式;半双工同步主控

26、方式;半双工同步从动方式。半双工同步主控方式;半双工同步从动方式。 串行通信方式串行通信方式 9.3.1与与USART模块相关的寄存器模块相关的寄存器 1 1发送状态兼控制寄存器:发送状态兼控制寄存器:TXSTA TXSTA 2 2接收状态兼控制寄存器:接收状态兼控制寄存器:RCSTA RCSTA 3 3USARTUSART发送缓冲寄存器:发送缓冲寄存器: TXREGTXREG4 4USARTUSART接收缓冲寄存器接收缓冲寄存器 :RCREGRCREG5 5PIEPIE寄存器寄存器 6 6PIRPIR寄存器寄存器 串行通信方式串行通信方式1发送状态兼控制寄存器发送状态兼控制寄存器TXSTA

27、串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式串行通信方式 2. 接收状态兼控制寄存器接收状态兼控制寄存器RCSTA Bit0/RX9D Bit0/RX9D:所接收数据的第:所接收数据的第9 9位,可作校验位或标识位等。位,可作校验位或标识位等。Bit1/OERRBit1/OERR:溢出标志位(:溢出标志位(overruan error bit overruan error bit )。)。 0 0:未发生溢出错误;:未发生溢出错误; 1 1:发生了溢出错误。:发生了溢出错误。Bit2/FERRBit2/FERR:帧格式错误标志位,被动参数。:帧格式错误标志位,被动参数。 0 0

28、:无帧格式错误;:无帧格式错误; 1 1:有帧格式错误。:有帧格式错误。串行通信方式串行通信方式 Bit3/ADDENBit3/ADDEN:地址匹配检测使能位:地址匹配检测使能位; ; 接收数据选择接收数据选择9 9位时,该位才起作用。位时,该位才起作用。0 0:取消地址匹配检测功能;:取消地址匹配检测功能; 1 1:启用地址匹配检测功能。:启用地址匹配检测功能。Bit4/CRENBit4/CREN:连续接收使能位。:连续接收使能位。 异步模式下:异步模式下:0 0:禁止连续接收功能;:禁止连续接收功能;1 1:使能连续接收功能。:使能连续接收功能。 同步模式下:同步模式下:0 0:关闭连续接

29、收;:关闭连续接收;1 1:使能连续接收,直到该未被清:使能连续接收,直到该未被清0 0为止。优先于为止。优先于SRENSREN位。位。 串行通信方式串行通信方式 Bit5/SRENBit5/SREN:单字节接收使能位。:单字节接收使能位。 同步方式下:同步方式下: 0 0:禁止单字节接收功能;:禁止单字节接收功能; 1 1:使能单字节接收功能。:使能单字节接收功能。 异步方式下未用,并且在同步从属接收方式下该位也无用。接收完成后该位即被异步方式下未用,并且在同步从属接收方式下该位也无用。接收完成后该位即被清零。清零。Bit6/RX9Bit6/RX9:接收数据长度选择位。:接收数据长度选择位。

30、 0 0:选择接收:选择接收8 8位数据;位数据; 1 1:选择接收:选择接收9 9位数据。位数据。Bit7/SPENBit7/SPEN:串行端口使能位。:串行端口使能位。 0 0:禁止串行端口工作;:禁止串行端口工作; 1 1:允许串行端口工作。:允许串行端口工作。 此时,此时,RCRC7 7和和RCRC6 6作为作为USARTUSART的接收发送引脚。的接收发送引脚。 串行通信方式串行通信方式3TXREG,USART发送缓冲寄存器发送缓冲寄存器 每次发送的数据都是通过写入该缓冲器来实现的。 串行通信方式串行通信方式4RCREG,USART接收缓冲寄存器接收缓冲寄存器 每次接收到的数据都可从

31、该缓冲器读取出来的。每次接收到的数据都可从该缓冲器读取出来的。 串行通信方式串行通信方式 5SPBRG波特率寄存器波特率寄存器 SPBRG SPBRG寄存器的设定值(寄存器的设定值(0-2550-255)与波特率成反比关)与波特率成反比关系。在同步方式下,波特率仅由该寄存器来决定;而在系。在同步方式下,波特率仅由该寄存器来决定;而在异步方式下,则由异步方式下,则由BRGHBRGH位(位(TXSTATXSTA寄存器的寄存器的bit2bit2)和该寄)和该寄存器共同确定。存器共同确定。 串行通信方式串行通信方式9.3.2 USART波特率发生器波特率发生器 USART USART模块带有一个波特率

32、发生器模块带有一个波特率发生器BRGBRG(baud rate baud rate generatorgenerator),用以产生串行传送所需的时钟,它支持),用以产生串行传送所需的时钟,它支持USARTUSART的同步方式和异步方式。在异步方式下,的同步方式和异步方式。在异步方式下,BRGHBRGH位位用来控制波特率。在同步方式下,用来控制波特率。在同步方式下, BRGHBRGH位不起作用。位不起作用。 波特率发生器的逻辑结构如图波特率发生器的逻辑结构如图10-2410-24。其核心实际。其核心实际是一个递减的位二进制计数器,其计数初始值是由是一个递减的位二进制计数器,其计数初始值是由寄存

33、器寄存器SPBRGSPBRG装入,在每次递减计数器到达装入,在每次递减计数器到达00H00H之后的之后的下一个计数脉冲到来时进行装入。系统时钟经过位下一个计数脉冲到来时进行装入。系统时钟经过位分频器后作为传递计数器的计数脉冲,其分频比可以分频器后作为传递计数器的计数脉冲,其分频比可以由由BRGHBRGH位和位和SYNCSYNC位设定为位设定为: :、:16:16、或、或: :。 串行通信方式串行通信方式波特率时钟发生器示意图波特率时钟发生器示意图 串行通信方式串行通信方式其波特率计算方式如下:其波特率计算方式如下:1 1同步方式同步方式 波特率波特率f foscosc/ /4 4(N+1N+1

34、) N Nf foscosc/ /(4 4波特率)波特率)- - 注意,注意,N N为为SPBRGSPBRG寄存器的初始值;寄存器的初始值;BRGHBRGH必须设置为必须设置为0 0,BRGHBRGH为为1 1无用。无用。 2 2异步方式异步方式 BRGH=0BRGH=0时:时: 波特率波特率f foscosc/ /6464(N+1N+1) N Nf foscosc/ /(6464波特率)波特率)- - BRGH=1BRGH=1时:时: 波特率波特率f foscosc/ /1616(N+1N+1) N Nf foscosc/ /(1616波特率)波特率)- - 串行通信方式串行通信方式 9.3

35、.3 USART异步通信模式异步通信模式 串行通信方式串行通信方式1. USART异步发送模式异步发送模式 串行通信方式串行通信方式 USART异步发送其结构示意图异步发送其结构示意图 串行通信方式串行通信方式2. USART异步接收模式异步接收模式 串行通信方式串行通信方式 特别注意以下几点:特别注意以下几点: 如如RSRRSR将数据装载到将数据装载到RCREGRCREG时,时,RCREGRCREG内已有内已有2 2个数据,则产生数据传个数据,则产生数据传送溢出错误。送溢出错误。OERROERR置位。置位。RSRRSR中数据将不能装入中数据将不能装入RCREGRCREG;v OERROERR

36、置位后置位后,RSR,RSR不会接收新的数据。只有将不会接收新的数据。只有将OERROERR清清0 0后才能接收新后才能接收新数据。数据。OERROERR清零的方法是将清零的方法是将CRENCREN清零再置位;清零再置位;v 如收到停止位为如收到停止位为0 0,则,则FERRFERR置位;置位;v 读读RCREGRCREG时,会将时,会将FERRFERR和和RXD9RXD9值丢失。所以为读取值丢失。所以为读取FERRFERR和和RXD9RXD9,必须,必须在读在读RCREGRCREG之前读取。之前读取。串行通信方式串行通信方式3. 带地址检测的带地址检测的9位异步接收方式位异步接收方式 主要由

37、主要由RSRRSR移位寄存器,移位寄存器,RCREGRCREG寄存器即波特率发生器寄存器即波特率发生器BRGBRG组成。组成。工作过程如下:从工作过程如下:从RC7/RX31RC7/RX31引脚输入数据,在波特率时钟作用下,引脚输入数据,在波特率时钟作用下,一位一位移入一位一位移入RSRRSR寄存器,一旦收到停止位,就将收到的第寄存器,一旦收到停止位,就将收到的第9 9位数位数据分别装入据分别装入RCREGRCREG和和RX9DRX9D中,并置中,并置RCIF=1RCIF=1。再读取。再读取RCREGRCREG中的数据中的数据时,自动将时,自动将RCIFRCIF清零。清零。串行通信方式串行通信方式USART带地址检测的位异步接收器结构示意图带地址检测的位异步接收器结构示意图 串行通信方式串行通信方式 9.3.4 USART同步模式同步模式 USARTUSART的同步模式是指进行通信双方之间,除了有数据传输线的同步模式是指进行通信双方之间,除了有数据传输线以外,还有一条时钟专用线。起着同步发送以外,还有一条时钟专用线。起着同步发送/ /接收的作用。在同接收的作用。在同步方式下,数据格式可以使用步方式下,数据格式可以使用8 8位或位或9 9位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论