DS18B20

电气特性

1:Each Device has a Unique 64-Bit Serial Code Stored in an On-Board ROM
2:Can Be Powered from Data Line; Power Supply Range is 3.0V to 5.5V
3:Measures Temperatures from -55°C to +125°C (-67°F to +257°F)
4:±0.5°C Accuracy from -10°C to +85°C
5:Thermometer Resolution is User Selectable from 9 to 12 Bits
6:Converts Temperature to 12-Bit Digital Word in 750ms (Max)

原理图及实物图

在这里插入图片描述
在这里插入图片描述

使用说明

1:每次要使用Function command时都需要重复这三个步骤
1)发送一个低电平的脉冲,表示开始了要Initialization(因为节约功耗,总线上的芯片是处于不工作状态的)
2)发送ID命令:ROM command (每个芯片内部自带一个64bit)
3)发送功能命令 Function command如:开始转换温度(平常都是不转换的,只有收到命令才开始转换),读取温度(需过一段时间,且需要重复123步骤)
在这里插入图片描述
参考视频1

时序介绍

1:初始化时序

在这里插入图片描述
一开始数据线是高电平,主机想发送数据启动传输的时候要把信号线拉低最小480us,然后释放总线等候15-60us,如果挂在了DS18B20,那么DS18B20也会拉低总线脉冲宽度为60-240us,主机接收到了确实总线上存在DS18B20

2:写时序

在这里插入图片描述
写0还是写1都是需要>=60us
写0:拉低总线并且维持60us以上,然后释放总线
写1:总线把信号线拉低1us以上,拉低的意思是提醒对方我准备要发数据了,1us以后马上释放总线
位之间的间隔要>=1us

3:读时序

在这里插入图片描述
先发一个低脉冲提醒DS18B20我要开始读数据了(大于1us),然后马上释放总线,在15us以内读信号读到0就是0读到1就是1(一个读周期至少是60us)每位的间隔也是1us(读到一位以后等1us再重复上面的操作拉低1us。。。)

代码分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

成草

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

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

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

打赏作者

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

抵扣说明:

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

余额充值