以下是关于 51单片机串口通信(UART) 的详细解析,涵盖基本原理、配置方法、波特率计算及实际应用:
一、UART基本原理
UART(Universal Asynchronous Receiver/Transmitter)是一种异步串行通信协议,特点如下:
- 异步通信:无时钟信号,依靠双方预定义的波特率同步。
- 数据格式:每帧数据包含 起始位(1位)、数据位(5-9位)、校验位(可选)、停止位(1-2位)。
- 全双工:支持同时发送和接收数据(需独立的发送引脚TXD和接收引脚RXD)。
二、51单片机UART相关寄存器
1. SCON(Serial Control Register,地址98H)
位 | 名称 | 功能 |
---|---|---|
SM0/SM1 | 工作模式选择 | 决定UART模式(见下表) |
SM2 | 多机通信使能 | 模式2/3中启用多机通信 |
REN | 接收使能 | 1=允许接收数据 |
TB8 | 发送第9位 | 模式2/3中发送的第9位数据 |
RB8 | 接收第9位 | 模式2/3中接收的第9位数据 |
TI | 发送中断标志 | 发送完成时置1,需软件清零 |
RI | 接收中断标志 | 接收完成时置1,需软件清零 |
SCON模式选择:
SM0 | SM1 | 模式 | 功能 |
---|---|---|---|
0 | 0 | 0 | 同步移位寄存器(不常用) |
0 | 1 | 1 | 8位UART,可变波特率(最常用) |
1 | 0 | 2 | 9位UART,固定波特率(系统时钟/32或/64) |
1 | 1 | 3 | 9位UART,可变波特率(同模式1) |