接触18B20有3年了,没有好好利用,只是简单的温度转换利用,今天就我个人看法说说
1、温度上下限
温度上下限(TH,TL)值紧跟着温度两字节后,就是我们习惯说的3,4字节,有些资料说是2,3字节也对(0位也算上就是0,1,2,3),
读取这两位上下限字节很简单,和温度字节一块读出就行,重要的是说保存到内部E2PROM的问题,先写命令48H(复制3,4字节到E2PROM中去)然后跟着写两字节数据完成,
2,转换精度
我们拿到手的新18B20都是12位的精度,我个人认为没必要设计0.0625°的那么精确,这18B20芯片最高精度就是0.5°,多此一举嘛,另外12位转换时间还长750ms,不如9位精度来的实在,转换也快。说正题了,第五字节就是转换精度设置字节,读出和温度一样读出就行了。同样第5位也能E2PROM永久保存,先写命令48H(复制3,4字节到E2PROM中去)然后跟着写3字节数据完成,
3,查询报警0ECH,
这搜索命令是针对悬挂多个18B20设计的,我就挂一个没用这命令,超过上下限温度设定值后,18B20发出报警,单片机发出0ECH命令,报警的18B20就会反馈自己的序列号,没有超出设定范围的,不回应单片机,就这么简单,
|