« 11-15 完成後の確認 | メイン | 12-2 A-Dコンバータを使いましょう »

はてなブックマークに追加   12-1 LEDの点滅

第12章 赤外線2ch送信機のプログラミングを楽しみましょう

 赤外線2ch送信機TX2-006Pは無事完成しましたか?。

 TX2-006Pにはジョイスティック・PIC12F683のA-Dコンバータなどのプログラミングを楽しめる機能が満載です。12F683は今回初めて使うPICとなります。インドアプレーンを操縦する前にプログラミングに挑戦しましょう

 準備運動として、LEDを3回点滅させるプログラムを作成しましょう。今まで使っていたPIC16F84AとPIC12F683は同じ"PIC"の仲間ですが、12F683は後発のために小型ながら最新機能を搭載しています。

 TX-006Pでは外部発振子であるセラロックを省略し、PICの内部クロックを使い、回路を簡略化しています。

 これらの切り替えを含めたプログラミングにする必要があります。

 それでは、TX2-006Pにひとつだけ装備しているLEDを使ってPIC12F683をプログラミングしてみましょう。


課題12-1

 LEDを250msの間隔で3回点滅させるプログラムを作りましょう。

// 赤外線2ch送信機TX2-006P用 課題1
// LEDを3回点滅させる(12F683プログラミング入門)
//  ex1_006p.c PIC12F683用

イニシャライズ

#include<12f683.h>

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

 外付けセラロックを省略する場合、内部クロックの使用宣言をここで行います。

#use delay(CLOCK=8000000)   //内部クロック8MHz駆動

 内部クロックは8MHzです。

#byte GP=5 //GPは0~5の6ポート
 #bit IROUT=GP.5 //赤外線LED
 #bit LED=GP.4 //LED接続
 #bit SW=GP.3 //ジョイスティック付属スイッチ

 12F683は、GP0~GP5までの六つのポートを使用することができます。

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

メイン・ルーチン

//メイン・ルーチン
void main()
{
  int i;
  set_tris_a(0x0f); //GP0~GP4入力、GP5出力

  setup_oscillator(OSC_8MHz); //内部クロック8MHz使用

 内部クロックの動作周波数はここで宣言します。#use delayとセットで使用します。

  LED=OFF;
  IROUT=OFF;

   while(1){
  for(i=0;i<3;i++){ //LED3回点滅    LED=ON;    (その1);    (その2);    delay_ms(250);
  }  } }

 16F88/16F84Aのプログラミングと基本は同じです。違いを見比べてください。

正解

(その1) delay_ms(250) (その2) LED=OFF

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

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

トラックバック

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

コメントを投稿

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

カレンダ

2008年6月
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月 7日 08:00に投稿されたエントリーのページです。

ひとつ前の投稿は「11-15 完成後の確認」です。

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

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

Powered by
Movable Type 4.1