PIC18F25K42のADCを使用したプログラムを作成していますが、変換結果が想定外となってしまいます。
変換結果は左詰めで指示しているので、入力がVssからVddまで変えるとADRESHの値は0x00 - 0xFFまで変わるはずが、
0V入力で0 , 2.5V入力で0x7Fとここまでは正常ですが それ以降入力電圧をVDDまで上げても0x7F固定で0xFFまで行きません。
入力ピンの電圧を測定しても電圧は印可されています。
何か設定が抜けているのでしょうか?
対策方法を教えてください。
設定内容を下記に示します。 MPLABX <xc.h>
TRISC = 0b11111111;
ANSELA = 0 ; // デジタル入力設定
ANSELB = 0 ; // デジタル入力設定
ANSELC = 0b00000001;// RC0 アナログ入力設定
ADCON0bits.FM = 0; // 0:左詰め
ADCON0bits.CS = 1; // ADCRC Clock 600kHz
ADPCH =0x10 ; //RC0 is Analog channel
ADREF = 0b00000000 ;//NREF=GND PREF=VDD
ADCON0bits.ON = 1;//ADC On
回答4件
あなたの回答
tips
プレビュー