单片机(3)

一、UART 异步串口

基础概念

UART(串行异步收发器),用于单片机之间、单片机与PC的数据通信。异步:通信双方无共用时钟线,依靠约定波特率采样。

  • 引脚:TXD发送、RXD接收、GND共地。共地是通信稳定的前提
  • 接线:设备交叉相连,TX接对方RX;单片机连PC,需要CH340 USB转串口芯片。
  • 波特率:bps,每秒传输比特,常用9600、115200
  • 特性:串行传输、先发低位;全双工,收发可同时进行。

帧结构

1帧 = 起始位(1)+数据位(8)+可选校验位+停止位(1)

空闲总线高电平,起始位拉低通知接收方。

51单片机开发流程

发送

  1. 配置串口模式1(8位数据无校验)
  2. 配置SMOD倍乘位,定时器1做波特率发生器
  3. 定时器1设为8位自动重装,写入初值TH1
  4. 向SBUF写入数据,硬件自动发送
  5. 发送完成TI置1,必须软件手动清零

接收

  1. 模式1,开启接收允许REN
  2. 配置波特率、定时器1
  3. 开启串口中断,编写中断服务函数
  4. 收到数据RI置1,读取SBUF,手动清零RI

核心考点:TI、RI硬件置1,不会自动清除。

二、DS18B20 单总线温度传感器

单总线数字温度传感器,仅一根DQ信号线通信。

  • 测温范围:-55℃ ~ +125℃
  • 供电:1.3V~5.5V;12bit分辨率,一次转换最多750ms
  • 引脚:GND、DQ通信脚、VCC电源

存储结构

9字节暂存器,前2字节存放温度LSB、MSB,剩余字节为报警阈值、配置、CRC校验。读取温度只需要前两个字节。

时序要点

时序要求严格,微秒级延时影响通信成败

  1. 复位:主机拉低总线≥480us,释放后等待传感器应答脉冲
  2. 写时序:写0拉低60120us;写1拉低115us后释放
  3. 读时序:主机拉低总线≥1us,15us内读取引脚电平

常用指令与读取流程

指令: 0xCC 跳过ROM; 0x44 启动温度转换; 0xBE 读取暂存器

读取温度完整步骤:

复位 → 发0xCC → 发0x44,等待750ms → 再次复位 → 发0xCC → 发0xBE → 读取2字节温度,换算数值

三、总结

UART异步串口,依靠波特率、中断实现数据收发,TI/RI标志需要软件清零;DS18B20单总线器件,完全依靠严格时序驱动。二者分别代表异步串口、单总线两种典型通信模型,是I2C、SPI学习的基础。

相关推荐
HRTOS2 小时前
HRTOS Debug 正式发布:为 8051 实时系统提供可观测、可诊断的运行状态监控能力
单片机·嵌入式硬件·51单片机
llilian_162 小时前
PTP时钟服务器时间溢出隐患解决方案 1588时钟服务器 ptp服务器
大数据·网络·单片机·嵌入式硬件·51单片机
晊晌_h3 小时前
嵌入式从0到精通——51单片机(四)| DS18B20
51单片机·ds18b20
索端阳4 小时前
从时序到代码:51单片机驱动DS18B20温度传感器的深度复盘
51单片机
艾芯微科技4 小时前
ESDUNL24VC1 单向 ESD 静电保护二极管参数、电路设计与 PCB 防护布局
网络·单片机·嵌入式硬件·集成测试·51单片机
M78佐菲13 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
m0_7527531216 小时前
单片机基础知识
单片机·51单片机
xx~t1 天前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
一直C1 天前
DS18B20数字温度传感器超详细学习笔记|51单片机单总线通信
51单片机·ds18b20·one-wire