温度传感器DS18B20 中文资料

 

DS18B20的工作时序:

初始化时序

主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。

做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。

 

 

写操作

写周期最少为60微秒,最长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。

 

 

读操作

对于读数据操作时序也分为读0时序和读1时序两个过程。读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60us才能完成

 

 

单只DS18B20接线示意图

 

 

 

 

较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M. C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

 

 

 

 

 

 

REF

http://www.elecfans.com/yuanqijian/sensor/20171106575662.html

https://www.bilibili.com/read/cv3543776/

https://wenku.baidu.com/view/df6db6a327d3240c8447efda.html

https://blog.csdn.net/qq_37707218/article/details/80529365

https://baike.baidu.com/item/DS18B20/10295269?fr=aladdin

视频:

https://haokan.baidu.com/v?vid=606449673486094692&pd=bjh&fr=bjhauthor&type=video

 

posted @   emanlee  阅读(3156)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2010-01-02 是否有Acer4710G(T2450,ATI2400)装上mac的吗
2010-01-02 iDeneb v1.6 安装教程(含中文自定义详细驱动说明)
2010-01-02 PC机安装Mac OS X Snow Leopard各硬件兼容列表
2010-01-02 mac os里各种启动参数的含义
2010-01-02 mac os 启动 花屏
2010-01-02 mac os x 10.5.8 ideneb 无法启动
2010-01-02 IE中控制焦点(asp.net)
点击右上角即可分享
微信分享提示