STM32读取 DS18B20 温度传感器

        DS18B20是常用的数字温度传感器,和DHT11一样采用单线接口方式,STM32通过一个IO改变输入输出状态即可读取温度。与DHT11不同的是DS18B20支持多点组网功能,多个DS18B20可以并联在数据线上,通过不同的ID来读取不同点的温度。DS18B20测温范围为-55℃~+125℃,在-10~+85℃时精度为±0.5℃,测量精度和范围都比DHT11要高。

DS18B20引脚排列:

市面上见到的DS18B20模块是DQ脚有上位电阻的,这样可以直接接到单片机的管脚上,不需要其他外围器件。

DS18b20内部结构主要由四部分组成: 64位光刻ROM、温度传感器、非挥发的温度报警传感器TH和TL、配置寄存器。

 每只DS18b20都有一个唯一的长达64位的只读存储器,存放在ROM中,低8位是ds18b20的单总线温度传感器,高8位是CRC循环冗余校验码,用以校正前56位是否正常,中间48位是一个唯一序列号,此64位只读寄存器常用于元器件的识别和匹配。

程序示例:

读DS18B20:

写DS18B20:

 跳过匹配ROM,适用于总线上只有一个DS18B20时:

执行匹配ROM,适用于总线上有多个DS18B20时:

温度格式:

获取DS18B20温度,不匹配ROM

获取DS18B20温度,匹配ROM:

获取DS18B20 ID:

 DS18B20读取的温度通过串口发出;

注意:DS18B20在上电第一次读取时显示温度为85℃,这是正常的。85摄氏度是DS18B20在上电复位后在温度寄存器内的对应数字量,多读几次即可。

技术支持请加Q,一起学习新知识。删除& —等特殊字符277&94一3&652。

DS18B20驱动代码下载链接:

https://download.youkuaiyun.com/download/mcu_fang/89423895

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机毕业设计-远望创客学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值