不能这么算的,虽然从寄存上看是这样的,
但是实际上,寄存器中的数值已经经过处理并校正,
这个过程导致adc(或者频率计数器等)不可能达到满量程的精度,
举个例子理解一下,仅仅是比如:
假设把-55度标记成电压0,也就是adc值最小,这个也许可以做到。
但是生产具有随机性,某一批产品,-50度就对应了电压0,这个时候就已经无法校正,导致量程减小。
所以要在两边留出一定的富余空间才行。
况且,在数字较小的那一边,往往是adc(或计数器等)精度较差的位置。
ds18b20是个数字化的传感器。我帮你推算一下,0.0625x2x2x2x2=1 对不? 4个2相乘,为16. 我告诉你,ds18b20内存温度的寄存器是16位的。他的最高分辨率就是0.0625 ,你查下芯片手册。
兄弟,看来你还不了解“位”的概念啊。