ADC0809轉換結果在輸出顯示之前先要進行數(shù)據(jù)處理,其原理如下:
轉換輸出結果在0—255之間分別對應著0~+5V之間的256個電壓值,因此單片機必須把A/D轉換輸出的結果轉換成可以顯示的電壓值,具體方法是:
VIN=DOUT *5/255,其中DOUT是ADC0809輸出的八位二進制數(shù)。
由上述公式可知:當ADC0809輸出為(11111111)B 時,輸入電壓的值為VIN=5.00V;
當ADC0809輸出為(00000000)B 時,輸入電壓的值為VIN=0.00V;當ADC0809輸出為(10000000)B,輸入電壓值為VIN=2.50V,但是單片機進行數(shù)學運算時結果只去整數(shù)部分,因此輸出為(10000000)B時計算出來的電壓值為VIN=2V。
由此可以看出這樣運算輸出的結果很不準確,在0~+5V之間只有0,1,2,3,4,5六個電壓值,所以必須把單片機運算結果中的小書部分保留下來。
具體方法是:如果保留小數(shù)點后兩位,在運算時分子乘以100,保留三位就乘以1000。小數(shù)點后保留兩位的公式如下:VIN=DOUT *5*100/255= DOUT *100/51,有公式可知,單片機的運算結果為250。然后單片機將250除以10得到商為25,余數(shù)為0,再將25除以10得到商為2余數(shù)為5。這樣就可以得到電壓值的三個數(shù)字,最后分別將2,5,0三個數(shù)送出顯示。