Re: PIC18F4520 ADC問題

作者 ssnow1314 於 2018年02月07日 13:09:17
引用:

Ryang 寫道:
我想這除錯要分兩階段來看:

1. ADC 轉換是否有到全範圍。ADC 輸入 Ov ~ 5V 時,底下的 adc0_dec 的轉換值是否有從 0x0000 ~ 0x03FF 呢?

ConvertADC(); // Start an A/D Conversion
while(BusyADC()); // Wait for Conversion Finished
adc0_dec=ReadADC(); // Read A/D Result

2. 轉換用浮點數運算? 這對 8-bit MCU 是件很耗損的事。建議使用 itoa( ) 函數做 Hex to Decimal to ASCII 的轉換 (0 ~ 1023)

3. 一個轉換bit值對應到電壓值為 4.88mV。所以將直放達 100 倍來做整數運算即可。如果轉換電壓為 1V :

(1V /5V) x 1024 = 205
205 x 488 = 100040 = 1000.40mV

所以以整數方式算出來的電壓值記住小數點的位置即可。


我想在第一點發生了問題,ADC輸入0~5V時,adc0_dec的轉換值只有0x0000和0x0040兩個數值,中間數值並沒有顯示
想請問這個問題該怎麼處裡呢?

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=1&topic_id=22208&post_id=77772