閲覧総計:18903 (本日:1 昨日:0)
「A/D変換」を利用した簡単なプログラムを作成し、18F2320の「A/D変換」機能の利用法、
稼働を確認しました。
A/D変換値(0〜1023)を用いて発光ダイオード(LED)の点滅間隔を0msec〜1023msec
にスムーズに変化させる。 07/10/06
/** * 18F2320 アナログ入力テスト 0-5V入力−LED点滅時間 * A/D値で発光ダイオード(LED)の点滅間隔を変更する * * PIC18F2320 * * A/D: RA1(AN1) (10KΩ半固定抵抗で分圧しアナログ値を生成) * LED: RC1 * *Clock: 8.0MHz 内蔵発振器使用 *Device Flags: * _INTIO2_OSC_1H _WDT_OFF_2H _MCLRE_OFF_3H _LVP_OFF_4L * (その他はデフォルト設定でOK) * * MikroC v7.0.0.3 */ void main() { unsigned int temp; //使用変数の定義
//PICの初期化 PORTA = 0b00000000; //PORTAの中身をきれいにする PORTC = 0b00000000; //PortCの中身をきれいにする OSCCON = 0b01110000; //内蔵発信機 8MHz使用に設定
//A/D変換clock設定 0.125us*16倍=2.0us ADCON2.ADCS2=1; ADCON2.ADCS1=0; ADCON2.ADCS0=1; TRISA = 0b00000010; //RA1のみ1:入力に設定、他は0:出力 TRISC = 0b00000000; //PortC 8個全て0:出力設定 //マイコンの初期化終わり
do { //アナログデータの取得 10bit(0~1023) temp = ADC_Read(1); //RA1(AN1)アナログ入力 //LED点滅間隔が0-1023msecで滑らかに変更出来る PORTC.F1 = 1; VDelay_ms(temp); PORTC.F1 = 0; VDelay_ms(temp); } while(1); }
★この情報は役に立ちましたか?