DS18B20专题一

DS18B20专题一

    • DS18B20外观
    • 主要参数
    • 全部指令
    • 流程图
    • 电路连接
    • 使用中问题汇总
    • 其他引用

这是关于DS18B20的第一篇专题,站在器件应用的角度对DS18B20重要的参数,知识点进行了总结归纳,旨在日后能够快速的应用此器件,只写干货和重要的内容。

DS18B20外观

DS18B20专题一_第1张图片

注:(a)TO-92封装形式,(b)TO-92封装的仰视图,(b)SO-8封装 ,(d)USOP-8封装

主要参数

供电范围:3.0v-5.0v
测温范围:-55℃~+125℃
分辨率:12位:0.0625℃ (默认的)

全部指令

指令分为ROM指令和功能指令

指令码 注释
Read ROM[33H] 当单总线上仅有1个从机设备时可以用该指令读取DS18B20设备中的64位ROM序列码
Match ROM[55H] ` 这个是匹配ROM命令,后跟64位ROM序列,让总线控制器在多点总线上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能响应随后的存储器操作。所有和64位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用
Skip ROM[CCH `这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下,可以节省时间。如果总线上不止一个从机,在Skip ROM命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相“与”)
Search ROM[F0H]` 当一个系统初次启动时,总线控制器可能并不知道单线总线上有多个器件或它们的64位编码,搜索ROM命令允许总线控制器用排除法识别总线上的所有从机的64位编码。
Alarm Search[0ECH] `这条命令的流程和Search ROM相同。然而,只有在最近一次测温后遇到符合报警条件的情况,DS18B20才会响应这条命令。报警条件定义为温度高于TH或低于TL。只要DS18B20不掉电,报警状态将一直保持,知道再一次测得的温度值达不到报警条件。
Write Scratchpad[4EH] 这个命令向DS18B20的暂存器TH和TL中写入数据。可以在任何时刻发出复位命令来中止写入。
Read Scratchpad[0BEH] `这个命令读取暂存器的内容。读取将从第1个字节开始,一直进行下去,直到第9(CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。
Copy Scratchpad[48H] `这个命令把暂存器的内容拷贝到DS18B20的E2ROM存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又忙于把暂存器拷贝到E2存储器,DS18B20就会输出一个0,如果拷贝结束的话,DS18B20则输出1。如果使用寄生电源,总线控制器必须在这条命令发出后立即启动强上拉并保持10ms。
Convert T[44H] 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出时间隙,而DS18B20又忙于做时间转换的话,DS18B20将在总线上输出0,若温度转换完成,则输出1,。如果使用寄生电源,总线控制必须在发出这条命令后立即启动强上拉,并保持500ms以上时间 。
Recall EEPROM[B8] 这条命令把报警触发器里的值拷贝回暂存器。这种拷贝操作在DS18B20上电时自动执行,这样器件一上电,暂存器里马上就存在有效的数据了。若在这条命令发出之后发出读数据隙,器件会输出温度转换忙的标识:0为忙,1为完成。
Read Power Supply[0B4H] 若把这条命令发给DS18B20后发出读时间隙,器件会返回它的电源模式:0为寄生电源,1为外部电源。

流程图

DS18B20温度读取函数流程图

DS18B20专题一_第2张图片DS18B20专题一_第3张图片
DS18B20专题一_第4张图片
DS18B20专题一_第5张图片

电路连接

(1)外部供电模式下的单只DS18B20芯片的连接图
DS18B20专题一_第6张图片
(2)外部供电模式下的多只DS18B20芯片的连接图
DS18B20专题一_第7张图片

使用中问题汇总

(1)第一次读取到的问题为+85℃?
在温度寄存器中默认存储为+85℃。只要发送温度转换指令后,要留给DS18B20足够的时间进行温度的装换即可正确的读出温度值!

其他引用

DS18B20 英文数据手册 .

你可能感兴趣的:(温度)