51单片机——UART 串口通信

目录

[一、UART 核心定义与通信属性](#一、UART 核心定义与通信属性)

[1.1 基础概念](#1.1 基础概念)

[1.2 UART 接线方式](#1.2 UART 接线方式)

二、通信核心分类与规则

[2.1 通信方式分类](#2.1 通信方式分类)

[2.2 数据传输核心规则](#2.2 数据传输核心规则)

三、串口通信关键参数与帧结构

[3.1 核心通信参数](#3.1 核心通信参数)

[3.2 字符帧结构](#3.2 字符帧结构)

[3.3 奇偶校验原理](#3.3 奇偶校验原理)

四、同步与异步通信区别

[五、51 单片机 UART 寄存器配置](#五、51 单片机 UART 寄存器配置)

[5.1 SCON 寄存器](#5.1 SCON 寄存器)

[5.2 PCON 寄存器](#5.2 PCON 寄存器)

[5.3 波特率产生配置](#5.3 波特率产生配置)

[5.4 中断允许配置](#5.4 中断允许配置)

六、主机与从机通信定义

七、重点内容


一、UART 核心定义与通信属性

1.1 基础概念

UART(Universal Asynchronous Receiver Transmitter)即通用异步收发器,是硬件电路中的通信接口,拥有独立的通信规则(协议),核心属性为异步、全双工、串行通信

  • 异步:无时钟线同步,通信双方通过预设参数保持节奏一致;
  • 全双工:双向同时通信,收发独立不冲突;
  • 串行:数据逐位依次传输,硬件成本低、抗干扰性强。

1.2 UART 接线方式

UART 通信需 4 根基础线路,核心遵循 "交叉连接" 原则:

  • VCC:接电源正极(为模块供电);
  • GND:接地(双方共地,确保电平参考一致);
  • RXD:数据接收线;
  • TXD:数据发送线;

**注意:**使用串口与外部设备进行通信时,需要交叉连接 TXD - RXD,RXD - TXD

二、通信核心分类与规则

2.1 通信方式分类

通信方式 数据传输方向 数据线数量 核心特点 适用场景
单工 单向固定 1 根 发送方和接收方固定,无法双向传输 红外遥控、串口打印(仅发送)
半双工 双向但不同时 1 根 双方可收发数据,但同一时刻仅能单向传输 对讲机、I2C 总线(软件半双工)
全双工 双向同时 2 根(TXD+RXD) 收发独立,可同时进行数据传输 单片机与电脑、蓝牙模块通信

三种通信方式

2.2 数据传输核心规则

**发送顺序:**遵循 LSB 优先的原则,低位先行。

示例:数据 0xA6(二进制 10100110):

| 位序号 | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
| 发送数据 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |

发送顺序 8 7 6 5 4 3 2 1

传输形式:

  • 串行:
    • 通过一根数据线将多个bit按照先后次序,逐个bit逐个bit发送
    • 传输速率慢
    • 硬件成本低
    • 传输距离远,抗干扰性好
  • 并行:
    • 通过多根数据线将多个bit同时发送
    • 传输速率快
    • 硬件成本高
    • 传输距离近,抗干扰性差(距离增加后会造成多根数据线的信号偏移,会受到电磁波的干扰,会出现一些误差)

三、串口通信关键参数与帧结构

3.1 核心通信参数

串口通信参数格式为 "波特率 数据位 校验位 停止位",需双方完全一致才能正常通信:

  • 波特率:每秒传输的二进制位数(bit/s),常用值为 2400、4800、9600、115200;
  • 数据位:每帧数据的有效位数,常用 8 位;
  • 校验位:用于检测传输错误,分 3 类:
    • 奇校验(O):数据位中 "1" 的个数 + 校验位 = 奇数;
    • 偶校验(E):数据位中 "1" 的个数 + 校验位 = 偶数;
    • 无校验(N):无需校验位(最常用);
  • 停止位:每帧数据的结束标志,常用 1 位。
  • 示例参数:9600 8 N 1(9600 波特率、8 位数据位、无校验、1 位停止位)。

3.2 字符帧结构

每帧数据(1 个字符)的传输顺序为:空闲→起始位→数据位→校验位→停止位→空闲
串口通信时序图

  • 起始位:1 位低电平(0),标识数据开始;
  • 数据位:5~9 位(常用 8 位),按 LSB 优先传输;
  • 校验位:0 或 1 位(依校验方式选择);
  • 停止位:1~2 位高电平(1),标识数据结束。

3.3 奇偶校验原理

  • 奇校验:
    • 若数据位 "1" 的个数为偶数,校验位为 "1",使总个数为奇数;若为奇数,校验位为 "0";
  • 偶校验:
    • 若数据位 "1" 的个数为奇数,校验位为 "1",使总个数为偶数;若为偶数,校验位为 "0"。

核心局限:仅能检测奇数个 bit 错误,无法检测偶数个错误;

四、同步与异步通信区别

  • 同步通信:双方通过时钟线同步通信频率,节奏一致;
  • 异步通信:无时钟线,依赖预设参数(波特率等)保持同步,UART 即采用此类方式。

五、51 单片机 UART 寄存器配置

UART 功能通过 SCON、PCON 寄存器及定时器 1(波特率发生器)配置

5.1 SCON 寄存器

  • 将 SCON 寄存器中的 bit6 和 bit7 清 0
  • 再将 SCON 寄存器中的 bit6 置 1,代表串口工作在 8 位 UART,波特率可变模式
  • 将 SCON 寄存器中的 REN 位置 1,代表允许串口接收数据:
  • TI 位,用来查询 8 位数据是否发送完毕,发送完毕后会自动置 1;必须用软件清 0
  • RI 位,用来查询 8 位数据是否接收完毕,接收完毕后会自动置 1;必须用软件清 0

5.2 PCON 寄存器

  • 将 PCON 寄存器中的 SMOD 位置 1,波特率翻倍
  • 将 PCON 寄存器中的 SMOD0 位清 0,代表通过 SCON 寄存器中的 SM0 和 SM1 这两个位共同指定串口工作模式

5.3 波特率产生配置

  • 依赖模块:定时器 1(作为波特率发生器);

  • 定时器 1 模式:需配置为8 位自动重装载模式(TMOD 寄存器中 M1=1、M0=0);

  • 初值计算公式:

    • FOSC:单片机晶振频率(常用 11.0592MHz 或 12MHz);
    • SMOD:PCON 寄存器中的波特率加倍位(0 或 1);
  • 辅助配置:TCON 寄存器中 TR1=1(启动定时器 1),TF1(溢出标志位)可通过软件清 0。

5.4 中断允许配置

  • 需开启总中断允许位 EA(IE 寄存器 B7 位),EA=1;
  • 开启串口中断允许位 ES(IE 寄存器 B4 位),ES=1;
  • IE 寄存器地址:A8H(可位寻址),其他位无需改动(默认清 0)。

5.5 串口初始化顺序

六、主机与从机通信定义

  • 主机:拥有通信绝对控制权,所有通信由主机发起;
  • 从机:无法主动发起通信,仅根据主机下发的指令执行对应操作,并向主机回复应答。

七、重点内容

  1. 串口概念
  2. 单工、半双工、全双工区别
  3. 串口发送数据的顺序
  4. 串行和并行的概念及区别
  5. 串口通信的时序/过程
  6. 奇校验和偶校验
  7. 串口通信的参数(波特率、数据位、校验位、停止位)
  8. 常见的波特率
  9. 同步和异步的概念
  10. 串口的波特率是如何产生的
  11. 串口波特率产生所依赖的定时器模式
  12. 16 位定时器和8位自动重装载定时器的区别
  13. 主机和从机
  14. Modbus 协议的数据格式
相关推荐
2301_773730312 小时前
嵌入式—51单片机day3
单片机·嵌入式硬件·51单片机
gumu2714 小时前
国产MCU打印调试工具Segger RTT
单片机·mcu
smalming5 小时前
模块-图形界面之MCU
单片机·嵌入式硬件
余生皆假期-6 小时前
为什么反电势超前 d 轴 90°?
单片机·嵌入式硬件·嵌入式
破晓单片机6 小时前
STM32单片机分享:智能语音识别垃圾桶系统
stm32·单片机·嵌入式硬件·语音识别
华清远见IT开放实验室7 小时前
以“科技+教育”双引擎,打造虚实融合的智能化教育新生态——华清远见亮相央广网2025教育年度盛典
科技·stm32·单片机·物联网·esp32·虚拟仿真·非凡就业班
擎天柱工坊7 小时前
RK3576硬件设计全套讲解笔记1-整体硬件系统原理图详解
笔记·嵌入式硬件·硬件工程
zy135380675738 小时前
TT119/PM1132芯片-220v转5v应急灯应用方案
科技·单片机·物联网·智能电视
Q_21932764559 小时前
基于单片机智能百叶窗卷帘门自动门设计
单片机·嵌入式硬件