閲覧総計:28236 (本日:1 昨日:1)
「A/D変換」を利用した簡単なプログラムを作成し、12F683の「A/D変換」機能の利用法、
稼働を確認しました。
A/D変換値(0〜1023)を用いて発光ダイオード(LED)の点滅間隔を0msec〜1023msec
にスムーズに変化させる。 07/02/03
/** * 12F683の稼働テスト * A/D値で発光ダイオード(LED)の点滅間隔を変更する * * A/D: GP4 (10KΩ半固定抵抗で分圧しアナログ値を生成) * LED: GP2 *Clock: 8.0MHz 内蔵発振器使用 *Device Flags: * _CP_OFF _MCLRE_OFF _PWRTE_ON _WDT_OFF _INTRC_OSC_NOCLKOUT * * MikroC v6.2.1 */ void main() { //使用変数の定義 //unsigned short int temp; //間違い修正 07/11/28 unsigned int temp; //マイコンの初期化 //内臓クロック8MHzに設定 OSCCON.IRCF2=1; OSCCON.IRCF1=1; OSCCON.IRCF0=1; //A/D変換clock設定 0.125us*16倍=2.0us ANSEL.ADCS2=1; ANSEL.ADCS1=0; ANSEL.ADCS0=1; // A/D利用ピンの設定 // ANALOG=1, DIGITAL=0 // ANSEL.ANS3 = 1; //AN3(GP4)のみアナログ使用 GPIO = 0b00000000; //GPIOの中身をきれいにする TRISIO = 0b00010000; //GP4を1:入力、他5個を0:出力設定 //マイコンの初期化終わり do { //アナログデータの取得 //10bit(0~1023) temp = ADC_Read(ANS3); //ANS3アナログ入力 //LED点滅間隔が0-1,023msecで滑らかに変更出来る GPIO.F2 = 1; VDelay_ms(temp); GPIO.F2 = 0; VDelay_ms(temp); } while(1); }
★この情報は役に立ちましたか?