- 总的来说,DS18B20学习还是比较简单,毕竟只有3根线嘛,一根信号线。但也就是因为只有1根信号线,对时序要求特别高。
- 本来想要自己按照着时序写,初始化函数和读写函数,但是初始化那个时序,不太好写呀,也有可能是因为我用的是51单片机,延时并不精确,不太好控制时序,导致初始化失败,单片机一直检测不到DS18B20的存在,如果用32的话,延时更准确,初始化应该比较容易成功,最后我也是尝试了各个商家给的代码,改了改,可算是成功了。
- 上面还是总结了一点,就是线越少,时序越不好写,之前写i2c的时序也遇到过类似的问题,最后还是放弃了自己写时序,改用了商家调试好的时序函数。
以下是我自己做的仿真图
最后实验还是成功了的。
关于程序源码,仿真,还有DS18B20的资料我放在文章末尾,有需要的小伙伴自己下载就行。
-关于存放的温度值的数据处理,代码里面的注释也写的比较详细。
温度显示是在lcd1602上显示的,对于lcd1602不太懂的,可以看我之前的一篇文章LCD1602的学习与理解
链接:https://pan.baidu.com/s/1SiUBTkT9DA1otsOuyR6U5w
提取码:st3k
复制这段内容后打开百度网盘手机App,操作更方便哦