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