AVR单片机(Atmel 8)串行通信USART配置bob的是什么网站

微控制器是一种控制设备,它包含许多外设,如RAM、ROM定时器、串行数据通信bob的是什么网站等,需要执行一些预定义的任务。如今,先进的微控制器在各种各样的应用中使用根据他们的能力和可行性执行一些所需的任务,这些控制器包括8051, AVR和PIC单片机。在这篇文章中,我们将学习先进的AVR系列单片机及其编程

AVR单片机

AVR是Atmel公司于1996年生产的一种控制装置。AVR不代表任何东西,它只是一个名字。AVR的微控制器由哈佛体系结构组成因此,设备运行非常快,减少了机器级指令(RISC)的数量。AVR微控制器与其他微控制器相比具有6睡眠模式、内置ADC、内置振荡器和串行数据通信等特殊功能。bob的是什么网站的AVR微控制器支持8位、16位、32位不同配置,可执行各种操作。


AVR单片机
AVR单片机

AVR单片机中的USART串行数据通bob的是什么网站信

USART代表通用同步和异步接收器和发射器。它是两个协议的串行通信。bob的是什么网站该协议用于发送和接收数据相对于时钟脉冲在单线上的位。的AVR单片机有两个引脚:TXD和RXD,专门用于串行传输和接收数据。任何AVR微控制器都由具有自身特点的USART协议组成。

AVR单片机bob的是什么网站中的USART通信
AVR单片机bob的是什么网站中的USART通信

AVR USART的主要特点

  • USART协议支持全双工协议。
  • 它产生高分辨率波特率。
  • 支持5 ~ 9位的串行数据传输,由两个停止位组成。

USART销配置

AVR的USART由三个引脚组成:

  • RXD: USART接收器引脚(ATMega8 pin 2;ATMega16/32销14)
  • TXD: USART发射机引脚(ATMega8 pin3;ATMega16/32销15)
  • XCK: USART时钟引脚(ATMega8 pin 6;ATMega16/32销1)

的操作模式

USART协议的AVR单片机以三种方式工作:

  • 异步正常模式
  • 异步双速模式
  • 同步模式
的操作模式
的操作模式

异步正常模式

在这种通信方式中,数据在没有时钟bob的是什么网站脉冲的情况下,通过由UBBR寄存器设置的预定义波特率逐位发送和接收。

异步双速模式

在这种通信方式下,通过UBBR寄bob的是什么网站存器设置以两倍波特率传输的数据,并在UCSRA寄存器中设置U2X位。这是一种高速同步通信模式,用于快速发送和接收数据。bob的是什么网站该系统用于需要精确波特率设置和系统时钟的场合。

同步模式

在该系统中,UCSRC寄存器将时钟脉冲数据的发送和接收设置为UMSEL=1。

USART配置在AVR单片机

USART可以使用五个寄存器进行配置,例如三个控制寄存器,一个数据寄存器和波特率选择寄存器,如UDR, UCSRA, UCSRB, UCSRC和UBRR。

编写程序的7个步骤

步骤1:计算和设置波特率

USART/UART的波特率由UBRR注册商设置。该寄存器用于以特定的速度产生数据传输。UBRR是一个16位寄存器。因为AVR是一个8位微控制器,它的任何寄存器大小都是8位的。因此,这里的16位UBRR寄存器由两个8位寄存器组成,如UBRR(H)、UBRR(L)。

波特率公式为

波特= Fosc / (16 * (UBBR + 1))

UBRR寄存器的公式为

UBRR = Fosc / (16 * (BAUD-1))

AVR单片机的频率为16MHz=16000000;假设波特率为19200Bps,那么

UBRR = 16000000 / (16 * (19200 - 1))

UBRR = 16000000 / (16 * (19200 - 1))

UBRR = 51.099

最终找到波特率

波特= 16000000 / (16 * (51 + 1))
UBRR = 19230个基点

步骤2:数据模式选择

数据传输方式、起始位和停止位以及字符大小由控制和状态寄存器UCSRC设置。

数据模式选择
数据模式选择

步骤3:数据传输方式选择

同步和异步模式是由控制状态寄存器的UMSEL位选择的。如果我们给出UMSEL=0,那么USART以异步模式运行,否则以同步模式运行。

数据传输方式选择
数据传输方式选择

目的:开始位和停止位

开始位和停止位是串行发送和接收数据的一种方式。一般任何数据名由一个统计位和一个停止位组成,但AVR微控制器有一个开始位和两个停止位来处理数据。额外的停止位对于增加一点额外的接收处理时间是有用的。它特别适用于高数据传输速率,而数据传输速度非常高,所以我们不能得到适当的数据。因此,我们可以通过使用两个停止位来获得适当的数据来增加处理时间。

开始位和停止位
开始位和停止位

停止位的数目是由UCSRC的USBS位选择的-控制状态寄存器。USBS=0,表示一个停止位,USBS=1,表示两个停止位。

顾不上设置字符大小

就像基本的微控制器每次发送和接收数据字节(8位),无论是在AVR微控制器中,我们可以通过UCSRC寄存器的UCSZ位在每帧中选择一种数据帧格式。

数据帧格式
数据帧格式

第六段:存储接收数据

AVR微控制器由UDR缓冲寄存器组成,用于发送和接收数据。UDR是一个16位的缓冲寄存器,其中8位用于接收(RXB)数据,其他位用于发送数据(TXB)。传输数据缓冲区寄存器将目的地UDR寄存器上的写入数据的位置。接收数据缓冲区寄存器将返回UDR寄存器的内容。

Step7:启用收发器

发送和接收的数据将被微控制器的RXC和TXC引脚所允许,这些引脚由微控制器的UCSRA寄存器设置。微控制器为数据设置的标志位通过接收和发送完成(TXC=RXC=1)。

波特率加倍

我们可以将AVR的USART通信的传输速率提高一倍bob的是什么网站单片机从16位到8位UCSRA寄存器中的U2X位有效。此位仅对异步操作有效。如果我们可以设置这个位(U2X=1),它将波特率从16位降低到8位,有效地提高了同步通信的传输速率。bob的是什么网站

这是AVR微控制器的一个高级功能,用于快速处理数据。

USART程序

每个微控制器都预定义了一个特定的IDE,基于这个IDE,单片机采用嵌入式C语言编程或汇编语言。AVR单片机编程是由AVR工作室开发的。此外,如果您需要关于构建基于微控制器的项目的步骤,或有关此主题的详细信息,您可以在下方评论与我们联系。

添加评论