« 12-2 A-Dコンバータを使いましょう | メイン | 12-4 割り込み »

はてなブックマークに追加   12-3 A-Dコンバータ ~その2~

 A-Dコンバータの使い方が、だいたいわかったでしょうか?
 課題3では、スティックの左右方向の制御に、A-Dコンバータを使いましょう。

課題3 

 エルロン・スティックを右または左へ倒すとLED点灯が点灯するプログラムを作りましょう。

 エルロン方向=横方向のA-Dコンバータはchannel(1)に割り当てられています。

   al_adc=read_adc(1)

により、読み込み、変数に代入します。

 読み込んだ値により、LEDの点灯を制御します。


// 赤外線2ch送信機TX2-006P 課題3
// A-Dコンバータ
// エルロン・スティックを右または左へ倒すとLED点灯
//  ex3-006p.c PIC12F683用

#include<12f683.h>
#DEVICE ADC=10 //A-Dコンバータを10bitで使用
//読み込み値範囲:0~1023

#fuses INTRC_IO,NOWDT,PUT,NOPROTECT,NOMCLR
//ウオッチドック・タイマなし、パワーアップ・タイマ使用
//プロテクトなし、MCLRなし

#use delay(CLOCK=8000000)  //8MHz駆動
#byte GP=5
 #bit IROUT=GP.5
 #bit LED=GP.4
 #bit SW=GP.3

#define ON 1
#define OFF 0
#define HI 1
#define LOW 0

long th_adc,al_adc,vdd_adc;


//VR入力をA-Dコンバータより読み出し、各変数にセットする。
void adc_in(void)
{
  set_adc_channel(0);//スロットル・スティック読み込み
    delay_us(20);
    th_adc=read_adc();
  set_adc_channel(1);//エルロン・スティック読み込み
    delay_us(20);
    al_adc=read_adc();
  set_adc_channel(2);//10kΩボリューム読み込み
    delay_us(20);
    vdd_adc=read_adc();
}

//メイン・ルーチン

void main()
{
  int i;
  set_tris_a(0x0f);//GP0~GP4入力、GP5出力
 
  setup_adc_ports(sAN0 | sAN1 | sAN2 | VSS_VDD);//A-Dコンバータ使用宣言
  setup_adc(ADC_CLOCK_DIV_32);//A-Dコンバータ・クロック
  setup_oscillator(OSC_8MHz);

  IROUT=OFF;
  LED=OFF;

  for(i=0;i<3;i++){
    LED=ON;
    delay_ms(250);
    LED=OFF;
    delay_ms(250);
  }

  while(1){
    (その1);

    if( (その2) || (その3)){
      LED=ON;
    }
    else{
      LED=OFF;
    }
  }
}

  (その1)から (その3)空欄を埋めてプログラムを完成してください。TX2-006Pの電源スイッチを入れるとLEDが3回点滅します。ジョイスティックを左右に倒した時にLEDが点灯すれば正解です。

■ 正解

(その1)adc_in()  (その2)al_adc<256  (その3)al_adc > 768

課題3のC言語ソース・ファイルとHEXファイルはこちらからダウンロードできます【ex3_006p.lzh】。

長野県飯田工業高校 竹内浩一

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/1434

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カレンダ

2008年11月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

おすすめ書籍

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

About

2008年5月20日 13:19に投稿されたエントリーのページです。

ひとつ前の投稿は「12-2 A-Dコンバータを使いましょう」です。

次の投稿は「12-4 割り込み」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 4.1