////////////////////////////////////////////////// // A/Dテストプログラム // // PIC16F873 RIKIYA 2003.01.16 // // ADTEST11.C // // AN0チャンネルからアナログ入力してRBに出力 // ////////////////////////////////////////////////// #include <16f873.h> #fuses HS,NOWDT,NOPROTECT,PUT,BROWNOUT,NOLVP #device ADC=10 // 10BIT A/D変換 #use delay(clock = 10000000) // clock 10MHz #use fast_io(B) // 固定入力モード //メイン関数//////////////////////////////////// main(){ long data; set_tris_b(0x00); // RB 7-0:OUT setup_adc_ports(RA0_ANALOG); // AN0チャンネル有効 setup_adc(ADC_CLOCK_DIV_32); // Fosc/32 while(1){ set_adc_channel(0); // ANチャンネルの選択 delay_us(20); // 充電時間の待機 data = read_adc(); // A/Dデータの読み込み output_b(data >> 2); // 上位8bitのデータを表示 } }