【自学嵌入式:51单片机】DS18B20温度传感器
DS18B20温度传感器

DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器(如下图),它具有功能强大、硬件简单、易扩展、抗干扰性强等特点。

模拟温度传感器,通过热敏电阻和正常电阻串联,然后测两个电阻中间点的电压值,经过模拟信号到数字信号的转换,转换为一个字节的数字信号来测温,DS18B20把模拟温度传感器等都集成在一起。
DS18B20温度传感器的特性:
- 测温范围:-55℃到+125℃
- 通信接口:1-Wire(单总线)
- 其他特征:可形成总线结构、内置温度报警功能、可寄生供电(3个引脚有两个供电,一个数据线,寄生供电就是数据线用来供电,地线正常接,就两根线)
电路

(注:这里I/O口没接上拉电阻,因为单片机的接口默认是弱上拉(接了个电阻))
| 引脚 | 功能 |
|---|---|
| VCC(VDD) | 电源(3.0V~5.5V) |
| GND | 电源地 |
| I/O(DQ) | 单总线接口 |
内部结构框图

- 64-BIT ROM:作为器件地址,用于总线通信的寻址(唯一ID号)
- MEMORY CONTROL LOGIC:控制总线数据的进出
- SCRATCHPAD(暂存器):用于总线的数据交互
- EEPROM:用于保存温度触发阈值和配置参数
- TEMPERATURE SENSOR:探测温度
- ALARM HIGH TRIGGER REGISTER(EEPROM):最高温度阈值寄存器
- ALARM LOW TRIGGER REGISTER(EEPROM):最低温度阈值寄存器
- CONFIGURATION REGISTER(EEPROM):配置寄存器,配置温度的分辨率(精度,比如温度精确到小数点后几位)
- 8-BIT CRC GENRATOR:CRC循环冗余码校验码(计算机网络学过),看通信数据是否正确。
寄生供电示意图:

VCC没有电的时候从DQ(I/O)取电
存储器结构

Byte0 和 Byte1存储温度
我们从外面发送数据,会写到暂存器中,然后发送一条指令,复制到EEPROM中
Reserbed是保留地址
浙公网安备 33010602011771号