DS18B20的使用
2021-03-31 08:46:52 0 举报
AI智能生成
温度传感器DS18B20的操作流程
作者其他创作
大纲/内容
寄存器
配置寄存器
结构
TM-R1-R0-1-1-1-1-1
功能
配置寄存器配置温度转化精度
低5位都是1
TM
测试模式
设置工作模式/测试模式
出场默认为 0
用户不需要改动
R0+R1
设置DS18B20的精度
9/10/11/12位
0.5℃/0.25℃/0.125℃/0.0625℃
默认为:
R0=1
R1=1
精度12位
高速暂存寄存器
结构
功能
保存转换后的温度值(以二字节补码形式)
芯片操作流程
芯片初始化(芯片复位)
选定芯片工作模式
单片工作
忽略芯片ROM编码(ROM地址)
多片并联工作
选定对应芯片ROM编码(ROM地址)
启动温度转换
读取转化后的温度值
处理读取的温度值数据
芯片初始化操作(芯片复位)
步骤
主机拉低数据线到 0
延时A微秒(480<A<960)
主机拉高数据线到1
延时B微秒(B>60)
如果DS18B20初始化成功,会在15-60微秒产生一个应答信号0到数据线
这里注意不能等待时间过长,避免陷入死循环
主机读取数据线 DS18B20应答信号 0
如果主机获取到0电压,说明DS18B20初始化成功
程序实例
芯片写时序操作
步骤
单片机拉低数据线到0
延时15us
单片机向数据线发生数据
按位发送
先低位,后高位
延时60us
单片机拉高数据线到1
重复1~5步骤,直到完成发送数据
单片机拉高数据线到1
程序实例
芯片读时序操作
步骤
单片机拉低数据线至0
延时4us
单片机拉高数据线到1,释放总线,准备读数据
延时10us
单片机读取数据线的状态(即高低电平),并处理
延时45us
重复1~6步骤,直到读完一个字节数据
程序实例
启动温度转换
步骤
芯片初始化
延时1ms
选择单片/多片工作模式
发送温度转换命令
程序实例
读取转化后的温度
步骤
芯片初始化
延时1ms
选择单片/多片工作模式
发送读取命令
读取数据
程序实例
处理读取的温度值数据
步骤
如果温度>0
先减1,再求反,得出原码
先进公式计算
如果温度<0
公式计算即可
程序实例
芯片指令集
术语
主机
在这里指单片机
从机
在这里指DS18B20
0 条评论
下一页