DS18B20 您所在的位置:网站首页 读取主板温度错误怎么解决 DS18B20

DS18B20

2024-07-14 10:14| 来源: 网络整理| 查看: 265

引言:单线总线系统包括一个总线控制器和一个或多个从机。

DS18B20是单总线通信器件,现在我们只讨论点对点的控制---通过一个DS18B20测得温度值

****先引述一个至关重要的问题:温度转换750ms的时间单片机是可以干其他事情的,比如说处理中断,温度转换是DS18B20自己的事情,但是以下四条指令绝对不能被中断:

Write_DS18B20(0xcc); //忽略地址 Write_DS18B20(0xbe); //读取温度数据命令; LSB = Read_DS18B20(); //读取低八位(EEPROM的第0字节) MSB = Read_DS18B20(); //读取高八位(EEPROM的第1字节)

(注:读写一个字节的数据大概几十微秒,相比750ms以及很好了)

       这是理论上的操作,实际操作过程中,我们其实不需要关中断,因为一直在重复执行温度测量的函数,就算一次没有成功,多测几次就行(实测有效)。实际上对时间要求不是特别高的程序来说,整个发送指令到温度数据传回单片机的过程是不需要延时的,(初始化等要求时序的步骤还是要精确延时),如果是对温度采集时间要求很高的项目,也不会用ds18b20,毕竟750ms的温度转换时间。。。。。。

首先,我们要知道它的原理以及它的内部结构:

1.***EEPROM :由两个字节组成,TL,TH,分别是温度下限和温度上限(都是用户字节);

2.高速暂存器(RAM):第0,1字节为温度数据的低八位和高八位,第2,3字节为从EEPROM的TL 和 TH 复制过来的温度下限和温度上限;

(未完待续);

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有