用MAXQ3212微控制設計數字溫度監(jiān)控器
2-1 = 0.500000 => 0.8的62.50%
2-2 = 0.250000 + 0.50000 = 0.750000 => 0.8的93.7%
2-5 = 0.031250 + 0.0750000 = 0.781250 => 0.8的97.65%
2-6 = 0.015625 + 0.781250 = 0.796875 => 0.8的99.61%
用這個精度的數值轉換華氏度數據,足以滿足這個溫度傳感器的精度要求。
作為一個例子,我們可以計算測量溫度+24.2510,(018.116)攝氏度,可表示為:
溫度高有效位
Bit 15 | Bit 14 | Bit 13 | Bit 12 | Bit 11 | Bit 10 | Bit 9 | Bit 8 |
0 (sign) | 0 (sign) | 0 (sign) | 0 (sign) | 0 (sign) | 0 | 0 | 1 |
溫度低有效位
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
1 | 0 | 0 | 0 | 0 | 1 | x | x |
換一種方式表示,上面的數值可以表示為00000001 1000.01xx2,這個數乘以1.810。把1.810轉換成二進制數,用6位表示小數,結果轉換成常數0001.1100112。這種轉換方法如下:
0000s0 011000.012 = 006116
× 00000000 01.1100112 = 007316
-----------------------
00101011 .100100112 = 2B9316
+ 00100000 .000000002 = 32.010
-----------------------
01001011 .100100112 = 4B9316 = 75.57421910
可以看出,75.574219是精確的計算結果。如果把這個結果去掉2位小數,得到75.5°F,可以達到用計算器進行浮點運算時的0.15°F精度。如此精確的結果足以滿足這種應用的要求。
評論