全球旧事资料 分类
高温度系数振荡器
减法计数器1
预置
置位清零
减到0
加1温度寄存器
停止
减法计数器2
图33DS18B20的测温原理图
减到0
33DS18B20与微处理器的接口技术
1DS18B20与单片机的链接有两种方法,如图32所示:一种是VDD接外部电源,GND接地,IO与单片机的任一条IO线相连;另一种是用寄生电源供电,此时VDD、GND并联接地,IO接单片机的任一条IO。无论是内部寄生电源供电还是外部供电,IO接口都要接漏极开路或三态输出以提高负载驱动能力。本设计采用寄生电源供电模式,IO口接5KΩ左右的上拉电阻。实际应用中,DS18B20可以距单片机150m远,测量数据不会产生误差,在同一条数据总线上可以并接许多片DS18B20实现多路温度采集。
2DS18B20控制命令(1)暂存器命令访问DS18B20的暂存器共有6条命令,如表35所示。
指令温度变换
读暂存器写暂存器
复制暂存器重调E2PRAM
表35DS18B20暂存器命令
约定代码
操作说明
44H
启动DS18B20进行温度转换,转换时间最长为
500MS,结果存入内部9字节RAM中
0BEH读内部RAM中9字节的内容
4EH
发出向内部RAM的第3,4字节写上、下限温度数
据命令,紧跟读命令之后,是传送两字节的数据
48H
将E2PRAM中第3,4字节内容复制到E2PRAM中
0BBH将E2PRAM中内容恢复到RAM中的第3,4字节
10
f读供电方式
0B4H
读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”
(2)对ROM的5种操作命令。如表36所示:①读ROM命令(代码为33H):该命令允许主CPU读取DS18B20中的8位产品序列编号、48位产品序列号及8位CRC值。该命令值适用于总线上只挂接一片DS18B20,对总线上挂有多片DS18B20时不适用。②符合ROM命令(代码为55H):该指令适合在一条总线上挂接多片DS18B20的情况。具体应用是这样的,主CPU先向总线发这条命令,然后再发64位的ROM数据。再总线上,只有符合所发的64位ROM的DS18B20才有操作权。这样就实现了单总线上的寻址。③寻找ROM命令(代码为F0H):这条命令用于对连在单总线上的多个DS18B20进行初始化操作。④跳过ROM命令(代码为CCH):该命令用于对总线上的报警器进行寻找,其用法与寻找ROM一样。⑤寻找报警命令(代码为ECH):该命令用于对总线上的报警器件进行寻找ROM一样。表36ROM操作命令
指令
约定代码
操作说明
读ROM
33H读DS18B20ROM中的编码
发出此命令之后,接着发出64位ROM编码,访问单
符合ROM
55H线总线上与该编码相对应的DS18B20使之作出响
应,为下一步对该DS18B20的读写作准备
r
好听全球资料 返回顶部