51单片机(DS18B20 数字温度传感器)

一、基础参数指标

  1. 测温量程:-55℃ ~ 125℃
  2. 测量精度:-10℃~80℃区间,测量误差 ±0.5℃
  3. 分辨率(可配置,分辨率越高转换耗时越长)
    • 9 位:0.5℃
    • 10 位:0.25℃
    • 11 位:0.125℃
    • 12 位(默认):0.0625℃,转换时间 750ms
  4. 工作电压:3V ~ 5.5V

二、通信协议、上拉电阻与线与特性

1. 通信协议

采用单总线 One-Wire通信,半双工、串行异步传输,仅需一根 GPIO 信号线 DQ 即可完成主机与传感器的数据交互。

2. 上拉电阻作用

DQ 引脚为开漏输出结构,无法主动输出高电平;搭配上拉电阻后,主机和传感器全部释放总线时,总线稳定维持高电平,是单总线正常通信的必要电路。

3. 线与特性

单总线总线为线与逻辑,依托开漏引脚 + 上拉电阻实现:

  1. 总线上任意一个器件拉低 DQ 引脚,整条总线电平直接变低;
  2. 只有总线上所有器件全部释放 DQ,上拉电阻才能将总线拉为高电平;
  3. 核心应用:复位应答、单总线半双工读写、多传感器并联组网均依靠该特性实现。

三、芯片内部结构

  1. 内置供电电路,支持寄生电源供电模式;
  2. 64 位 ROM + 单总线接口电路;
  3. 存储器逻辑控制模块,统筹内部各单元工作;
  4. 暂存器:存储温度原始数据、配置寄存器参数;
  5. 温度采集核心模块;
  6. 可自定义配置的高低温报警阈值寄存器;
  7. 8 位 CRC 校验生成器,用于数据校验,提升传输可靠性。

四、温度数据格式

采集到的温度以16 位带符号二进制补码形式存储,通过 DQ 总线串行向外发送。

五、单传感器完整温度采集流程(跳过 ROM 指令)

  1. 发送总线复位信号,初始化传感器;
  2. 发送指令 0xCC:跳过 ROM 寻址,适配单传感器场景;
  3. 发送指令 0x44:启动芯片温度转换;
  4. 延时 750ms,等待 12 位分辨率温度转换完成;
  5. 再次发送总线复位;
  6. 再次发送 0xCC 跳过 ROM;
  7. 发送指令 0xBE:读取内部暂存器数据;
  8. 连续读取 2 字节原始温度数据,拼接后换算实际温度。

六、单总线核心通信时序

1. 复位时序(初始化 + 存在应答)

  1. 主机拉低总线 480~960μs,输出复位脉冲;
  2. 主机释放总线,上拉电阻将总线拉高;
  3. DS18B20 等待 15~60μs 后,主动拉低总线 60~240μs,发送应答脉冲;
  4. 传感器释放总线,总线恢复高电平,初始化完成。

2. 写时序(主机下发指令 / 配置参数)

写 0 时序
  1. 主机拉低总线 60~120μs;
  2. 传感器在 30~60μs 区间采样,识别低电平为数字 0;
  3. 主机释放总线,恢复高电平。
写 1 时序
  1. 主机拉低总线时长小于 15μs 后立即释放;
  2. 传感器在总线拉高后的 45μs 内采样,识别高电平为数字 1。

程序逻辑:逐位读取字节最低位,分别调用写 0 / 写 1 时序,循环移位发送完整 8 位数据。

3. 读时序(主机读取温度、寄存器数据)

  1. 主机拉低总线仅 1μs 后快速释放;
  2. 主机需在 15μs 内完成电平采样:
    • 总线为高电平 → 读取到 1;
    • 传感器主动拉低总线 → 读取到 0;
  3. 单次读取 1 字节需循环读取 8 个位,移位拼接为完整数据。
相关推荐
azwsm4 小时前
驱动第一阶段——启动流程
单片机·嵌入式硬件
单片机杂货铺5 小时前
基于单片机的自动开窗器设计
stm32·嵌入式硬件·51单片机·硬件工程
天天爱吃肉82187 小时前
商用车多体动力学实战笔记|第6篇:动力传动系统(发动机、变速箱、分动器、TCS、LSD限滑差速)
大数据·人工智能·笔记·python·嵌入式硬件·汽车
lhbweilai7 小时前
STM32 I2C(hal库)
stm32·单片机·嵌入式硬件
单片机杂货铺11 小时前
基于STM32的智能市政清洁小车系统设计
stm32·单片机·嵌入式硬件·物联网·硬件工程
单片机杂货铺11 小时前
基于STM32的智能书房系统的设计
stm32·单片机·嵌入式硬件·51单片机·硬件工程
&Hello Code11 小时前
3.解决STM32工程混乱:一套可复用六层架构,GPIO 、LED 实战演示
stm32·嵌入式硬件·架构
普科PRBTEK11 小时前
电流探头的常见应用场景
单片机·嵌入式硬件
qq_4017004112 小时前
3个常用的单片机实现隔离控制大电流负载例子
单片机·嵌入式硬件
weixin_4568083812 小时前
【沁恒蓝牙开发】BLE常见错误码与解析
c语言·单片机·嵌入式硬件