赞
踩
指令 | 约定代码 | 功能 |
读ROM | 33H | 读DS1820温度传感器ROM中的编码(即64位地址) |
符合 | 55H | 发出此命令之后,接着发出64 位ROM 编码,访问单总线上与该编码相对应的 DS1820,使之做出响应,为下一步对该 DS1820 的读写做准备 |
搜索 | 0F0H | 用于确定挂接在同一总线上 DS1820 的个数和识别 64位 ROM 地址。为操作各器件做好准备 |
跳过 | 0CCH | 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作 |
告警搜索命令 | 0ECH | 执行后只有温度超过设定值上限或下限的片子才做出响应 |
指令 | 约定代码 | 功能 |
温度变化 | 44H | 启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中 |
读暂存器 | 08EH | 读内部RAM中9字节的内容 |
写暂存器 | 4EH | 发出向内部RAM的2、3、4字节写上、下限温度数据和配置寄存器命令,紧跟该命令之后,是传送三字节的数据 |
复制暂存器 | 48H | 将RAM中第2、3字节的内容复制到E²PROM中 |
重调E²PROM | 0B8H | 将E²PROM中内容恢复到RAM中的第2、3字节 |
读供电方式 | 0B4H | 读DS18B20的供电模式。寄生供电时DS18B20发送“0”,外接电源供电 DS18B20发送“1’ |
根据DS18B20的通信协议,主机(单片机)控制DS18B20完成温度转换必须经过3个步骤:
理解:初始化时序即唤醒脉冲,正常情况下,VCC不用的时候保持高电平(上拉电阻);单片机想操作的时候,单片机使VCC为低电平;单片机再将其拉为高电平(等待15微秒);上述过程使器件“意识到”单片机在“喊他工作了”,然后出现“应答脉冲”,代表器件进行回应,表示“它可以正常工作”。(为什么一个器件为低电平就为低电平?单总线协议就像两个同学手里拿着一根线,通过手抬高或抬低来表示高低电平,但是由于这两个同学都没吃饭导致即使抬高也没有抬高得很彻底)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。