news 2026/6/15 18:05:27

嵌入式第四十六篇——51单片机基础——UART通信

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式第四十六篇——51单片机基础——UART通信

一、UART 基本概念

UART(Universal Async Receiver Transmitter),即通用异步收发器,是一种硬件接口及通信协议,用于设备间的异步串行通信。核心特性:

  • 通信模式:异步、全双工、串行
  • 无需时钟线同步,通过约定参数保证数据传输一致性

二、UART 接线方式

UART 核心接线引脚共 4 个,通信时需遵循交叉连接原则:

引脚功能接线注意事项
VCC接电源正极需与外设电源电压匹配
GND接地必须共地,否则会出现信号干扰
RXD数据接收线与外设的 TXD 引脚相连
TXD数据发送线与外设的 RXD 引脚相连

关键规则:设备 A 的 TXD ↔ 设备 B 的 RXD;设备 A 的 RXD ↔ 设备 B 的 TXD。

三、通信方式分类(按数据传输方向)

通信方式核心特点数据线数量传输方向限制
单工收发角色固定1 根仅单向传输
半双工收发角色可切换1 根同一时刻仅能单向传输
全双工收发角色可同时进行2 根任意时刻双向传输(UART 采用此方式)

四、数据传输形式:串行 vs 并行

传输形式传输原理优缺点
串行单根数据线,数据按 bit 位顺序逐个发送优点:硬件成本低、传输距离远、抗干扰性好缺点:传输速率慢
并行多根数据线,多个 bit 位同时发送优点:传输速率快缺点:硬件成本高、传输距离近、抗干扰性差(易受信号偏移和电磁干扰)

五、UART 数据发送顺序

遵循LSB(最低位)优先原则,低位先行发送。示例:发送数据0xA6(二进制10100110

位序号bit7(MSB)bit6bit5bit4bit3bit2bit1bit0(LSB)
数据值10100110
发送顺序87654321

六、串口通信核心参数(4 大参数)

通信双方必须参数一致,否则会出现数据乱码,格式表示为波特率 数据位 校验位 停止位

  1. 波特率
    • 定义:每秒传输的 bit 数,衡量传输速率
    • 常用值:2400、4800、9600、115200
  2. 数据位
    • 定义:每个数据帧中有效数据的 bit 位数
    • 常用值:8 位(最常用)
  3. 校验位
    • 作用:用于检测数据传输错误(无法检测偶数个 bit 错误)
    • 类型:
      • N(None):无校验
      • E(Even):偶校验,数据位 + 校验位的 1 的总数为偶数
      • O(Odd):奇校验,数据位 + 校验位的 1 的总数为奇数
  4. 停止位
    • 定义:每个数据帧的结束标志位
    • 常用值:1 位

常见参数组合:9600 8 N 1、2400 8 E 1、115200 8 O 1

七、同步通信 vs 异步通信

通信类型同步方式硬件需求核心特点
同步时钟线同步通信频率需时钟线传输精度高,硬件复杂
异步无时钟线,靠约定参数同步无需时钟线硬件简单,UART 采用此方式

八、UART 相关寄存器配置(以 51 单片机为例)

1. SCON 寄存器(串口控制寄存器)

配置操作功能说明
清 0 bit6、bit7初始化串口模式相关位
置 1 bit6串口工作在8 位 UART 模式,波特率可变
置 1 REN 位允许串口接收数据
TI 位发送中断标志位:数据发送完毕自动置 1,需软件清 0
RI 位接收中断标志位:数据接收完毕自动置 1,需软件清 0

2. PCON 寄存器(电源控制寄存器)

配置操作功能说明
置 1 SMOD 位波特率翻倍
清 0 SMOD0 位由 SCON 的 SM0、SM1 位指定串口工作模式

3. 波特率计算(定时器 1 8 位自动重装模式)

  • 需根据目标波特率计算定时器初值
  • 主机与从机的波特率必须一致

九、主机与从机的概念

角色核心权限通信逻辑
主机拥有通信绝对控制权主动发起通信,下发指令
从机无主动通信权接收主机指令,执行操作并回复应答
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:10:18

Supertonic多语言实战:5种语言语音合成,云端一键切换

Supertonic多语言实战:5种语言语音合成,云端一键切换 你是不是也遇到过这样的问题:作为语言学习类APP的开发者,想测试不同语言的语音合成效果,结果本地环境只能跑英文TTS,一换到西班牙语、法语就报错&…

作者头像 李华
网站建设 2026/6/15 13:16:41

制造业企业如何构建高效数据采集系统:从挑战到实践

在当今竞争激烈的全球市场中,制造业企业正面临着前所未有的压力。产品生命周期缩短、客户需求日益个性化、供应链波动加剧,这些因素共同推动着企业向智能化、数字化方向转型。然而,许多制造企业在数字化转型的起步阶段就遇到了巨大障碍——数…

作者头像 李华
网站建设 2026/6/15 7:19:43

Claude自己写出Claude!2小时干完两月活,人类在工位上多余了?

Claude Cowork的横空出世,不仅是用10天自建系统的技术奇迹,更是对人类职业价值的一次残酷拷问:当AI两小时能干完两个月的工作,我们是该庆幸解放,还是该恐惧被替代? 打工人版Claude重磅出世,给全…

作者头像 李华
网站建设 2026/6/15 13:18:42

改进A星算法:剔除冗余节点与光滑转折点

改进A星算法 剔除冗余节点,光滑转折点 对比优化前后路径。在路径规划领域,A星算法无疑是一颗耀眼的明星。然而,原始的A星算法生成的路径可能存在冗余节点,并且转折点不够光滑,影响了路径的实用性和美观性。今天咱们就来…

作者头像 李华
网站建设 2026/6/15 13:19:07

WSRP(Web Services for Remote Portlets)技术详解

前言 在现代企业信息系统架构中,统一门户(Enterprise Portal)作为用户访问各类业务系统的单一入口,承担着信息聚合、身份统一、用户体验一致等关键职责。然而,随着业务系统的不断扩展,如何高效、安全、可维…

作者头像 李华
网站建设 2026/6/15 17:58:55

SOLIDWORKS Simulation:“本地交互”的接触参数,都代表什么?

在使用 SOLIDWORKS Simulation 进行装配体或多实体零件受力分析时,关键的本地交互功能该如何设置? “连接” 功能中的“本地交互”是定义零件间接触关系的核心工具,其中“相触”设置最为常用,直接决定了力如何通过接触面进行传递…

作者头像 李华