目录:
1.DS18B20温度传感器
3.DS18B20温度读取&温度报警器
1.DS18B20温度传感器












3.DS18B20温度读取&温度报警器











定义端口


480us:非常小,不能用delay函数

给500us:


延迟:15-60 给70





给相应显示0:

拔掉ds18b20:没响应:显示1




函数4us,多加4us




发送一个字节、接收一个字节:











LCD没有写展示浮点数的方法需要处理:





单片机除启动有一下子的默认值温度:可以这样处理:

这样上电运行不会有延迟默认值

第二个例子:温度报警







100:显示两位小数










按下按键1:+1 按键2:-1

按键3:TL +1 按键4:-1




上面原来写的T要换个比变量,否则会有影响





保存:

读取:


重新启动还是25
现在按键按下不松手温度是不会变化的:现在是按键扫描,按键不松手里面一直在延迟了,主函数就不执行了,我们来改成定时器扫描

因为添加的key是最初的代码,我们改成后面定时器按键的:





线下按住按键,加热温度传感器,温度也会变化

有点问题定时器会打断温度的延迟:
防止中断干扰:



单总线是不能被中断的