上一章-蓝桥杯STC基础代码-时钟芯片
温度传感器-DS18B20
原理图
可以看到我们用 P14一个IO口控制整个传感器。
重要操作
1.跳过ROM
根据芯片手册 命令为 0xcc
2.转换温度
3.读暂存器
读取温度流程
利用好赛方给的函数,记住要用到的命令,读取温度就没有太大的问题了。
上面写的初始化函数还有写命令读数据是比赛方已经给了的。
在 onewire.h
代码
u16 ds_tempeture;
u16 Read_tempeture(void)
{
u8 low,high;
init_ds18b20();
Write_DS18B20(0xcc);
Write_DS18B20(0x44);
init_ds18b20();
Write_DS18B20(0xcc);
Write_DS18B20(0xbe);
low = Read_DS18B20();
high = Read_DS18B20();
ds_tempeture = ( high << 8) | low ;
ds_tempeture = ds_tempeture / 16; //向右 移动四位
return ds_tempeture;
}
这份代码我通常是放在100ms时间轴里面,已经够了。