2025-11-08 05:28:18
DS18B20要工作得稳当,得先走几步固定流程。首先得让传感器知道你来了,得先发个复位指令让它响应。接着得告诉它要写什么数据,比如设置温度精度或者报警阈值。得确认它听明白了,这时候才能正常测温。整个过程就像打招呼一样,得按顺序来不能乱
为啥得这么走流程呢?因为DS18B20是单总线设备,得先发复位指令让所有设备停止工作,才能单独唤醒目标传感器。根据数据手册,复位时间要持续68微秒以上,之后要等65微秒再发写命令。比如先发低电平960微秒,再发高电平480微秒的复位信号。写命令后要等15微秒再发数据,否则数据会出错。温度转换需要1秒时间,报警阈值设置后能自动触发中断,这些都需要按流程来。比如设置报警上限95℃时,得先发写命令地址,再发0x7E和0x95两个字节,得确认成功才能继续
模拟效果:首先发送复位指令接着发送写命令然后设置报警确认成功。温度转换要1秒时间报警范围-55到+125。流程图里复位写命令读数据分三步走,每步间隔时间都标得明明白白。比如复位后要等65微秒再发写命令,否则数据会乱掉。手册里写得很清楚,单总线通信必须严格遵守时序,否则传感器根本不响应。
本题链接: