【传感器】DS18B20驱动编写与使用总结

1、初始化Procedure
主机向从机发送复位信号,从机接收信号后会返回一个存在脉冲。
在这里插入图片描述
在主机发送复位信号后,要将IO口切换为浮空输入模式,进而检测从机返回的存在脉冲。
2、主机从从机读1bit
每个独立读周期>60us,周期开始要有将总线拉低至少1us的初始化操作,且读周期之间要有至少1us的恢复时间。
初始化后从机会在15us内通过总线将相应逻辑发送,因此主机在初始化后15us内必须释放总线并且对总线采样。
在这里插入图片描述
3、主机向从机写1bit
每个独立写周期>60us,周期开始要有将总线拉低至少1us的初始化操作,且写周期之间要有至少1us的恢复时间。
注意写逻辑1和逻辑0时各自的总线操作情况和持续时间。
在这里插入图片描述
4、ROM命令
(1)CCh
该命令用于跳过发送64位RAM编码的器件匹配阶段直接读取从机数据。
在这里插入图片描述
(2)55h
该命令用于执行匹配ROM,也就是根据64位RAM编码找到对应器件。
注意在匹配ROM的情况下读取温度值时,发送该命令后跟随发送64位RAM编码(也就是器件ID),只有完全匹配时设备才会相应之后主机发送的功能命令。
(3)44h
该命令用于初始化单词温度转换,转换完成后的温度数据存储在16位的暂存寄存器中,之后器件进入低功耗休眠状态。
如果采用外部供电模式(一般的开发板都采用这种模式),则在该命令后可以进行数据读取时序。
在这里插入图片描述
(4)BEh
该命令用于允许读取暂存寄存器(就是单次转换完成后存储温度数据的那个16位寄存器)。
注意数据为低位先行。
在这里插入图片描述
(5)33h
该命令用于允许主机读取从机器件的64位RAM编码,只能用于总线上只挂载一个器件的情况,否则发生冲突。
注意当总线上挂载多个器件时往往采用F0h命令来循环读取器件ID以确定挂载到总线上的器件类型和数量。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值