PICのA/D変換の入力が何故か0Vになってしまいます・・・
現在、PIC12f675を用いて下記のようなことをしたいと検討しているのですが、
中々思った通りに動いてくれません。
どなたか分かる方がいらっっしゃいましたらアドバイスお願い出来ないでしょうか?
「開発環境」
・CCSのCコンパイラを使用
・PICは12f675
「内容」
アナログ入力端子に任意の電圧を加えて、RS232CでPC上にその電圧を表示する。
現在、アナログ入力端子(AN0)に電源電圧から分圧して0.5Vや1Vなどの電圧を加えているのですが、
何故か入力端子の電圧をテスターで測定すると0Vとなり、PC上でもやはり0Vと表示されてしまいます。
何故、任意の電圧を加えても全て0Vとなってしまうのかが分かりません。
おそらくプログラム上でのミスがあると思うのですが・・・
検討中のプログラムを下記に書きます。
*****************************************************
///// 初期設定 /////
#include <12f675.h>
#device ADC=10
#fuses INTRC_IO, NOWDT, PUT, NOPROTECT, BROWNOUT
/////RS232C使用宣言/////
#use delay(CLOCK = 4000000)
#use rs232(BAUD = 9600, XMIT = PIN_A2, RCV = PIN_A1) //GP1=受信 GP2=送信
//// メイン関数
void main()
{
// A/D初期設定
float data;
setup_adc_ports(AN0_ANALOG); //AN0をアナログ設定
setup_adc(ADC_CLOCK_INTERNAL); //ADCのクロック設定(内部発振)
set_tris_a(0);
output_A(0);
while(1)
{
set_adc_channel(0);
delay_us(50);
data = read_adc();
data = (data * 3.0) / 1024;
printf("電圧 = %1.3fV\r\n",data);
}
}
*****************************************************
申し訳ありませんが、アドバイスお願いします。