• 2
    回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

已验证!温度传感器DS18B20的电路和读正负温度的程序

本文介绍温度传感器DS18B20的电路和能读取正负温度数值的程序(或说明)。日积月累,越来越进步,本文的分享来自查阅与实践,基本已验证成功。

1、什么是DS18B20

DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

2、DS18B20有什么用

    温度传感器的用处就是测量温度。

一般可以用于电子产品、家用设备、工农业设备等适合其温度范围内的测温应用,如电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。

3、DS18B20有什么优势

DS18B20主要的优势有这几个:

价格便宜,低价位的几元钱就能搞定;

占用IO接口少,只需要耗费一个处理器的IO口即能实现数据传递;

体积小;

拥有相对较高的精度,在-10到+85℃的范围内精度为±0.5℃。

4、DS18B20怎么用?

4.1 应用电路

DS18B20的电路很简单,除了电源引脚以外,数据引脚就只有一个,把它接到微处理器即可。

4.2 参考程序

以上为经过验证的参考程序,在移植时需要注意的是:

⭕以上引脚需要根据实际电路接线的变化而修改;

⭕延时程序很关键。因为单片机接不同的晶振会导致延时变化,所以这里的延时程序不能照搬,要保证延时为6微秒。

⭕以上的程序只识别了正数的温度,如果要测量零下温度,那么需稍作修改。

DS18B20传输出来的数据DS18B20_Temp_data[]是以二进制补码形式存储的,要判断高字节DS18B20_Temp_data[1]的二进制最高位,如为1则温度为负数,如为0则为正数。如果温度为负数需要将DS18B20_Temp_data[]由二进制补码转为原码,然后换算温度值。

本文完。

全部回复(2)
正序查看
倒序查看
suojiaqi
LV.6
2
2023-07-11 16:31

用过这个,再看一下,很多感慨!

0
回复
2023-08-23 09:31

不错。可以借鉴学习了。作者为啥不把代码打包一起发在帖子里呢?

0
回复