为什么ds18b20设置为12位分辨率的时候,精度是0.0625℃?
1个回答
展开全部
12位的分辨率,其精度是低4位决定的,因为低4位是代表的小数位,在低4位中,从高到底的每一位代表2^(-n)次方。
就是说第4位是2^-1=0.5,往下推2^-2=0.25,2^-3=0.125,2^-4=0.0625
18b20的测量精度是正负0.5摄氏度,最高分辨率是0.0625摄氏度(可设置采样精度来改变分辨率)。可以将分辨率提高或减小,但是精度是改不了的,由芯片决定了,可查阅datasheet。
比方说,你测得数据是:25.4325摄氏度,实际温度有可能是25.9度,也有可能是24度,这还不包括热传导带来的精度影响。
改变分辨率就简单了,例如:读取到到的温度是0x01fc,实际温度为:0x01fc*0.0625摄氏度,要改为0.1摄氏度的分辨率,则:0x01fc*0.0625*10,此时,每个bit代表0.1摄氏度。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询