五、ATMEGA16的USART与PC机串行通讯
五—(01)、PC机发送字符给单片机操控发光管亮,一同将其传回PC机,其间单片机的发送和接纳都选用查询方法(下一篇中有例程~)
1、USART的首要特点
通用同步和异步串行接纳器和转发器(USART) 是一个高度灵敏的串行通讯设备。首要特
点为:
• 全双工操作( 独立的串行接纳和发送寄存器)
• 异步或同步操作
• 主机或从机供给时钟的同步操作
• 高精度的波特率发生器
• 支撑5, 6, 7, 8, 或9 个数据位和1 个或2 个中止位
• 硬件支撑的奇偶校验操作
• 数据过速检测
• 帧过错检测
• 噪声滤波,包含过错的开始位检测,以及数字低通滤波器
• 三个独立的中止:发送完毕中止, 发送数据寄存器空中止,以及接纳完毕中止
• 多处理器通讯形式
• 倍速异步通讯形式
USART 分为了三个首要部分: 时钟发生器,发送器和接纳器。操控寄存器由三
个单元同享。时钟发生器包含同步逻辑,经过它将波特率发生器及为从机同步操作所运用
的外部输入时钟同步起来。XCK ( 发送器时钟) 引脚只用于同步传输形式。发送器包含一个写缓冲器,串行移位寄存器,奇偶发生器以及处理不同的帧格局所需的操控逻辑。写缓
冲器能够坚持接连发送数据而不会在数据帧之间引进推迟。因为接纳器具有时钟和数据
康复单元,它是USART 模块中最杂乱的。康复单元用于异步数据的接纳。除了康复单
元,接纳器还包含奇偶校验,操控逻辑,移位寄存器和一个两级接纳缓冲器UDR。接纳
器支撑与发送器相同的帧格局,并且能够检测帧过错,数据过速和奇偶校验过错。
3、时钟发生
1)USART支撑4种形式的时钟
时钟发生逻辑为发送器和接纳器发生根底时钟。USART 支撑4 种形式的时钟:正常的异
步形式,倍速的异步形式,主机同步形式,以及从机同步形式。USART 操控位UMSEL
和状况寄存器C (UCSRC) 用于挑选异步形式和同步形式。倍速形式( 只适用于异步形式
) 受控于UCSRA 寄存器的U2X。运用同步形式 (UMSEL = 1) 时,XCK 的数据方向寄存器
(DDR_XCK)决议时钟源是由内部发生(主机形式)仍是由外部出产(从机形式)。仅在同步模
式下XCK 有用。
2)内部时钟用于异步形式和同步主机形式(这儿我也不是很懂~~,专业术语太多,不过说白了便是波特率的核算公式呗,不过好好看看肯定能理解的)
USART 的波特率寄存器UBRR 和降序计数器相连接,一同构成可编程的预分频器或波特
率发生器。降序计数器对体系时钟计数,当其计数到零或UBRRL 寄存器被写时,会主动
装入UBRR 寄存器的值。当计数到零时发生一个时钟,该时钟作为波特率发生器的输出
时钟,输出时钟的频率为fosc/(UBRR+1)。发生器对波特率发生器的输出时钟进行2、8
或16 的分频,详细情况取决于作业形式。波特率发生器的输出被直接用于接纳器与数据
康复单元。数据康复单元运用了一个有2、8或16个状况的状况机,详细状况数由UMSEL、
U2X 与 DDR_XCK 位设定的作业形式决议。
Table 60 给出了核算波特率(位/秒)以及核算每一种运用内部时钟源作业形式的UBRR值
的公式。
3)倍速作业形式
经过设定UCSRA 寄存器的U2X 能够使传输速率加倍。该位只对异步作业形式有用。当
作业在同步形式时,设置该位为”0”。
设置该位把波特率分频器的分频值从16 降到8,使异步通讯的传输速率加倍。此刻接纳
器只运用一半的采样数对数据进行采样及时钟康复,因此在该形式下需求更准确的体系
时钟与更准确的波特率设置。发送器则没有这个要求。