« 14-2 課題2 左コイルLED200ms間隔で点滅する | メイン | 14-4 課題4 モータLEDを200msの間隔で点滅させましょう »

はてなブックマークに追加   14-3 課題3 左右コイルLEDを交互に200ms間隔で点滅させる

 左右コイルLEDを点灯させる課題1・2によりRX2-Tのプログラミングに慣れてきましたか?

 この課題では、エルロン用の左右コイルLEDを写真のように200ms間隔で点滅させましょう。マグネット・アクチュエータを製作し、接続すればアクチュエータ・アームが左右にぱたぱたと動くことになります。

kadai3_web.jpg

課題1と課題2を参考にして、空欄を埋めてプログラムを完成してください。

//  赤外線2ch受信機 RX2&RX2-T対応
// ex3_rx2.c
// 左右コイル(LED)を交互に点滅
// for PIC12F683

#include<12f683.h>

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

#use delay( (その1) ) //8MHz駆動
#byte (その2)
#bit IRSIG=GP.3

#define ON 1
#define OFF 0
#define HI 1
#define LOW 0
#define (その3) //GP0,GP1=ON
#define (その4) //GP4,GP5=ON
#define motor 0x04; //GP2=ON
 
//メイン・ルーチン 

main(){

set_tris_a( (その5) );//GP3入力、ほかは出力
setup_adc_ports( (その6) );//A-Dコンバータは使わない
setup_oscillator( (その7) );

//GP 5 4 3 2 1 0
// lc2 lc1 ir mt rc2 rc1
// 0 0 1 0 0 0 :0x08

while(1){
GP= (その8) ;
(その9) ;
GP= (その10) ;
(その11) ;
}
}

実行

 左右コイルLEDが200ms間隔で信号機のように交互に点滅すれば、プログラムは成功です。

ダウンロード

 この課題のC言語ソース・ファイルおよびHEXファイルは【ex3_rx2.lzh】よりダウンロードできます。

解答

(その1)CLOCK=8000000 (その2)GP=5 (その3)rcoil 0x03 (その4)lcoil 0x30 (その5)0x08  (その6)NO_ANALOGS (その7)OSC_8MHz (その8)rcoil (その9)delay_ms(200) (その10)lcoil (その11)delay_ms(200)

 次回はモータ用LEDを点滅させます。

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

トラックバック

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

コメントを投稿

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

カレンダ

2010年2月
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

おすすめ書籍

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

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

About

2008年10月27日 15:41に投稿されたエントリーのページです。

ひとつ前の投稿は「14-2 課題2 左コイルLED200ms間隔で点滅する」です。

次の投稿は「14-4 課題4 モータLEDを200msの間隔で点滅させましょう」です。

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

Powered by
Movable Type 4.1