DS18B20转化指令
时间: 2023-10-25 13:10:33 浏览: 72
DS18B20是一种数字温度传感器,可以通过发送转化指令来获取当前温度值。以下是DS18B20温度传感器的转化指令流程:
1. 发送复位脉冲,让传感器进入初始化状态。
2. 发送跳过ROM命令,直接对传感器进行操作。
3. 发送温度转换指令,让传感器开始进行温度转换。
4. 等待转换完成,可以通过发送读取温度命令来检测转换是否完成。
5. 读取温度值。
以下是具体的指令流程:
1. 发送复位脉冲:
a. 将总线拉低,持续480us~960us。
b. 将总线拉高,等待至少60us。
2. 发送跳过ROM命令:
a. 将总线拉低,持续60us~240us。
b. 将总线拉高,等待至少1us。
3. 发送温度转换指令:
a. 将总线拉低,持续60us~240us。
b. 将总线拉高,等待至少1us。
4. 等待转换完成:
a. 发送读取温度命令:
i. 将总线拉低,持续60us~240us。
ii. 将总线拉高,等待至少1us。
b. 读取DS18B20返回的温度数据:
i. 将总线拉低,持续60us~240us。
ii. 将总线拉高,等待至少1us。
iii. 读取总线上的数据,每个位持续60us。
5. 解析温度数据:
a. 温度数据为16位,第9~16位为小数部分,第1~8位为整数部分。
b. 将整数部分右移3位,再将小数部分除以2的3次方,得到实际温度值。
注意事项:
1. 在发送任何指令之前,都需要发送复位脉冲,让传感器进入初始化状态。
2. 在发送转换指令之后,需要等待转换完成才能读取温度数据。
3. DS18B20的电源电压必须在3V~5V之间。
阅读全文