单总线—DS18B20

本文介绍了如何在STM32平台上驱动DS18B20温度传感器,采用寄生供电方式,涉及硬件电路设计、充电控制和单总线时序管理,以及基于CSDN资源的学习案例。
摘要由CSDN通过智能技术生成

一:前言

DS18B20是一款最典型的利用单总线进行通讯的数字温度传感器,其测温范围-55-125摄氏度。网上关于这款传感器资料很多,而这边主要记录自己调试该款传感器遇到的问题。

二:项目需求

驱动DS18B20,用于检测环境温度。

三:硬件电路设计

一般DS18B20存在两种供电方式,一种是恒定电源供电,即VDD供电。

另一种是寄生供电,VDD和GND接地,通过Open-drain方式对数据端DQ的上拉通道对内部电容预充电。

项目中即使用了第二种“寄生供电”的硬件设计方案,实际过程中,一端MOS接某IO口,该IO口控制DS18B20充电过程,在需要DS18B20工作时需提前对其充电。

四:软件代码设计

可参考正点原子关于DS18B20库函数的用例,由于实例中使用恒定电源供电,因此需在其中加入充电部分,增加一个GPIO控制。

具体代码就是

GPIO_SET(0) //充电,电路中低电平充电

delay(N)//控制充电时间N,在转换时候充电不够会导致异常

GPIO_SET(1) //结束充电,否则VCC接在DQ端,不能被拉低,导致单行线时序混乱。

五:总线

学习电路基础知识和单行线时序。

参考链接,【STM32与DS18B20数字温度传感器寄生供电方式的优化方案与1-wire总线程序设计 -  CSDN App】http://t.csdnimg.cn/hAxep

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值