Re: PIC18F4520 ADC問題

作者 linwangco 於 2018年02月07日 15:54:00
一開始只跑這段程式碼,
ConvertADC(); // Start an A/D Conversion
while(BusyADC()); // Wait for Conversion Finished
adc0_dec=ReadADC(); // Read A/D Result
Nop(); //斷點停在這
用watch看adc0_dec
你可以試著把AN0只接5V
看adc0_dec轉換的值是不是1023
然後把AN0接地
看adc0_dec轉換的值是不是0

如果不是,ADC有錯。
拿電表直接量MCU AN0的PIN,說不定你灌5V進去的位子錯誤電壓被分掉了。
若是正常,換其他的AN1 or AN2 在去轉換看看
*******************************************************
如果以上都是正確

你可以故意把adc0_dec=ReadADC();這行改成
adc0_dec=0x3FF;

看你LCM的顯示是否為1023,
若不是,你計算與顯示有錯誤,請自行修改。
*******************************************************
若以上都正確,那就是你輸入5V方波那邊來源有問題。

我就想到這些簡易的除錯方法,請參考。

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