找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1009|回复: 3
打印 上一主题 下一主题
收起左侧

已验证!温度传感器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[]由二进制补码转为原码,然后换算温度值。
本文完。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1064915 发表于 2023-5-14 08:47 | 只看该作者
DS18B20测量有误差,如何校正
回复

使用道具 举报

板凳
ID:63113 发表于 2023-5-14 13:59 | 只看该作者
joyb 发表于 2023-5-14 08:47
DS18B20测量有误差,如何校正

先去做一下校准,得出误差规律,然后软件校正消除误差吧
回复

使用道具 举报

地板
ID:960157 发表于 2023-5-14 14:29 | 只看该作者
joyb 发表于 2023-5-14 08:47
DS18B20测量有误差,如何校正

与实际温度对比,做个加法或者减法,程序处理下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表