Re: PIC18F4520 ADC問題

作者 ssnow1314 於 2018年02月07日 17:53:35
引用:

linwangco 寫道:
一開始只跑這段程式碼,
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方波那邊來源有問題。

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


剛剛確認之後確定是電壓被分掉了,腳位換過AN0、AN1、AN2,結果都一樣,adc0_dec的數值都不正確,想再請問要怎麼解決電壓被分掉的問題呢?

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