一、简介
1、DS18B20的默认温度是85°
2、DS18B20读取需要时间,最多需要花750ms
3、scratchpad中存放着9Byte的数据,Byte0和Byte1存储温度数据
- 第一行为Byte0, 第二行为Byte1
- 当Byte1中的S全为0时,代表读取到的温度大于0°; 为1时,代表小于0°
二、应用
1、调用onewire.c文件进行驱动
2、需要修改的地方
- 将所有的 Delay_OneWire 延时扩大4倍,最后一个延时由5改为70
- 手写温度读取函数
unsigned int Read_Temp()
{
unsigned int valueH,valueL,temp;
init_ds18b20();
Write_DS18B20(0xcc); //跳过ROM指令
Write_DS18B20(0x44); //启动温度转换
init_ds18b20();
Write_DS18B20(0xcc);
Write_DS18B20(0xbe); //读取 scratchpad 的数据
valueL=Read_DS18B20(); //Read_DS18B20()函数先读取的是第Byte0位