51单片机(UART 串口通信)

一、通信传输基础分类

1.按传输线数量:串行 / 并行

  1. 串行传输
    • 原理:单根信号线,逐位依次传输 bit
    • 优点:硬件简单成本低、传输距离远、抗干扰强(RS485 最远 1200 米)
    • 缺点:传输速率慢
  2. 并行传输
    • 原理:多根信号线同时并行传输多位数据
    • 优点:传输速度快
    • 缺点:硬件复杂成本高、传输距离近(≤30 米)、易受干扰

2.按收发方向:单工 / 半双工 / 全双工

  1. 单工
    • 收发角色固定,单向传输;单根信号线
  2. 半双工(例:I2C)
    • 双方均可收发,但同一时刻只能单向传输;单根信号线
  3. 全双工(例:UART)
    • 双方可同时收发,双向同步传输;两根独立信号线(RXD、TXD)

3.按时钟同步方式:同步 / 异步

  1. 同步通信
    • 额外时钟信号线同步收发频率(SCL 时钟线 + SDA 数据线)
  2. 异步通信(UART 核心)
    • 无同步时钟线,收发双方依靠波特率约定通信速率

二、UART 核心基础概念

1. 全称

Universal Async Recvie Transmit,通用异步收发串口,串行、异步、全双工通信。

2. 数据传输规则

LSB 先行原则:先发数据低位 bit,后发高位 bit。

3. 波特率(bps)

  • 每秒传输 bit 总数,常用标准:2400、4800、9600、115200
  •  51 单片机串口常用晶振:11.0592MHz(精准匹配标准波特率)
  • 12MHz 多用于定时器计数。 2400bps 配置:定时器 1 工作在 8 位自动重装载模式,作为波特率发生器

4. 串口标准四参数(格式:波特率 数据位 校验 停止位)

示例 GPS 默认:9600 8 N 1

  • 9600:波特率
  • 8:8 位数据位
  • N=None:无校验;O=Odd 奇校验;E=Even 偶校验
  • 1:1 位停止位

三、UART 标准通信时序

  1. 起始位:1bit 低电平,标志传输开始
  2. 数据位:8bit 数据,低位优先发送
  3. 校验位(可选):奇偶校验位
  4. 停止位:1bit 高电平,标志一帧数据传输结束

四、校验方式

1. 奇偶校验

核心缺陷:无法检测偶数个 bit 同时出错

  • 奇校验:数据位中 1 的个数 + 校验位 = 奇数,校验位填 1 例:0000 0000 + 1 → 1 的总数为 1(奇数,校验通过) 例:0110 0000 + 1 → 1 总数 3,通过;+0 则不通过
  • 偶校验:数据位中 1 的个数 + 校验位 = 偶数,校验位填 0 例:0110 0000 + 0 → 1 总数 2(偶数,校验通过)

2. CRC 校验

采用多项式计算,Modbus 协议标配校验,可靠性高于奇偶校验。

3. 累加和校验

简单求和校验,工业协议常用辅助校验。

五、常见电平标准与转换芯片

  1. TTL 电平(单片机串口原生电平) 1(高):3.3V / 5V;0(低):0V
  2. RS232 电平(负逻辑) 1:-3V ~ -15V;0:+3V ~ +15V;转换芯片:MAX232
  3. RS485 差分电平 1:2V ~ 6V;0:-6V ~ -2V;远距离抗干扰
  4. CH340:USB 转 TTL 芯片,实现 USB 电平与 TTL 串口电平互相转换

六、51 单片机串口程序设计

  1. 发送逻辑:轮询方式,循环发送单字节
  2. 接收逻辑:中断方式,收到数据自动触发中断缓存

七、主从通信架构 & Modbus 自定义协议

1. 主从机制

  • 主机:通信发起方,拥有通信控制权
  • 从机:不能主动发数据,仅响应主机指令

2. 自定义 Modbus 帧格式

起始码 地址码 功能码 数据位1 数据位2 校验码 结束码

  • 起始码:0xAA;结束码:0xBB
  • 地址码:区分多台从机
  • 功能码:设备控制指令 
  • 校验码:CRC / 累加和校验
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值