• 追加された行はこの色です。
  • 削除された行はこの色です。
 閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)
 
 *A/D値でLED点滅間隔変更 [#p6a3d09f]
 
 
 「A/D変換」を利用した簡単なプログラムを作成し、24FJ64GA002の「A/D変換」機能の利用法、
 稼働を確認しました。
 
 A/D変換値(0〜1023)を用いて発光ダイオード(LED)の点滅間隔を0msec〜1023msec
 にスムーズに変化させる。 07/02/03
 
 |&attachref(,zoom,150x150,button){新しい写真添付};|&attachref(,zoom,150x150,button){新しい写真添付};|
 
  /**
  * 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);
  }
 
 
 ★この情報は役に立ちましたか?
 #vote(はい[0],どちらでもないいいえ[0])
 
 #comment