DS18B20的调试总结和程序
DS18B20简介
DS18B20是常用的数字温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
单个18B20实现温度测试步骤
该文档所用程序为FREESCALE JM60单片机,总线时钟为8M,若要移植到其它MCU上,需要将时间重新调节,或者更改总线时钟频率的输出;
电路图
DS18B20工作协议:初始化,存储器操作命令,处理数据;
在关于时序的编写中,for循环中的NOP指令,和单独调用的NOP指令所用时间完全不同;NOP占用1/总线时
钟的时间;如JM60的总线时钟为8M,则NOP指令一定占用0.125US,而将NOP放在FOR循环中,由于FOR的判断指令,加法指令,以及转子程序等等消耗的时间很长,远远大于一个NOP的指令,此时,若要获得执行代码的精确时间,最好用示波器观察,再得出最直接的结果;
在单片机的使用中,不要用浮点数,全部用整数代替,在数据进行移位作乘法时,一定要注意数据有没有越界,算出来的数很容易出现错误,并且在出现浮点数时,可以将数据放大到一定的精度,然后在显示时,将小数点移到对应的位置即可;
在数据做乘法容易越界时,一般将其赋给一个字节多的整数,作为中间变量运算,在确保数据不会越界后,再将其赋给最后结果;
初始化时序