• 検索結果がありません。

mpc17 01 led touch buz 12F1822

N/A
N/A
Protected

Academic year: 2018

シェア "mpc17 01 led touch buz 12F1822"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

MPC17-01

PIC12F1822

マイコンプログラミング初歩の初歩

1

プログラミングの前の準備

(1) プログラムの開発環境の準備とプロジェクトの作成

   別添資料「PICマイコンにプログラムを書き込む方法」を参照のこと。

   今回は、あらかじめ準備されている学習用プロジェクトファイルmpc17_01を使う。

(2)  学習用プロジェクトファイルの展開

圧縮ファイル“mpc17_01.X.zip”をデスクトップに展開する。

(3) 統合開発環境MPLAB XIDEでプロジェクトを開く。

(a) MPLAB XIDEを起動する。

(b) [File]-[Open Project ...]をクリック

(c)デスクトップの場所を指定し、”MPC17_01.X”をダブルクリックして開く。

(d) MPLAB XIDEでは、複数のプロジェクトを開くことができるので、”Main Project”に設定したプロジェ クトだけをビルドするようになっている。そこで、mpc17_01をMain Projectとするため、MPLAB XIDEの

(2)

2

マイコンで

LED

を点滅(いわゆる”L

チカ”)するまで

(1) 回路図

(2) 実体配線図

 

(3) 関連知識:マイコンのピン配置

 マイコンに限らずICの端子(ピン)には番号があり、凹部を

左に置いたときに、左下から反時計回りに1, 2, 3, …と振られて

いる。(図)

 このテキストで使用するワンチップマイコ ンPIC12F1822のピンには、複数の機能が割

り当てられているが、この後の説明で使用す る機能は、右図のとおりである。

(4) PICkit3の接続

図のように、PICkit3を接続する。

図では、単3乾電池3本としているが、2本でも動作する。

PIC 12F1822 1234 5 6 7 8

凹を 左に

A

+

-PIC 12F1822 A A

150Ω

茶緑茶金

部品

PIC 12F1822

PINの機能

1 23 4 5 6 7 8

VDD +電源

RA5

入出力 アナログ入力RA4/AN3 ポート

RA3 入力 RA2 入出力

RA1 入出力 RA0/CPS0

入出力/タッチセンサ

VSS -電源

PICkit3

PIC

12F1822 VSS Ground

VDD

(3)

(5) プログラムの編集

(a) MPLAB XIDEの画面で、”MPC17_01”-”Header Files”-”mpc_settings.h”を開く。

(b) 22行目を修正

#define BLINK_INTERVAL 10000 // LEDが点滅する時間間隔

数値の10000を変えると、LEDが点滅する時間間隔を変えら

れる。

(6) ビルドと書き込み

[Make and Program Device Main Project]のアイコンをクリック

[CAUTION]警告のダイアログボックスが表示されたら、

電源が正しく接続されていることを確認して、[OK]をクリック。

(標準では、PICkit3から電源供給をしないので、問題はない)

※書き込みの段階で、赤い字でエラーメッセージが出る場合、電源が接続 されていなかったり、ジャンパーコードの接続に不具合があったりすることが多い。

(4)

3

ブザーを鳴らす

電源を入れるとブザが鳴る回路とプログラム

(1) 回路図

(2) 実体配線図

(3) プログラム

(a) MPLAB XIDEの画面で、”MPC17_01”-”Source Files”-”mpc17_01_main.c”を開く。

(b) 41行目を修正

bootBeep(); // 起動時の音を鳴らす。

行頭の // を削除する。

(4) ビルドと書き込み

[Make and Program Device Main Project]の アイコンをクリック

[CAUTION]警告のダイアログボックスが表示 されたら、

電源が正しく接続されていることを確認して、[OK]をクリッ

ク。

X IDEの下側の[Output]に[Programming/Verify complete]と表示されたら、書き込み完了。

部品

圧電ブザー

A

+

(5)

4

タイマ(決まった時間が経過したらブザーを鳴らす)

電源を入れてから決まった時間(秒数)が経過したらブザーを鳴らす回路とプログラム

(1) 回路図

   前と同じ。

(2) 実体配線図

  前と同じ。

(3) プログラム

(a) MPLAB XIDEの画面で、”MPC17_01”-”Source Files”-”mpc17_01_main.c”を開く。

(b) 39行目を修正

initTimer0(); // Timer0 の初期化

行頭の // を削除する。

(c) 47行目を修正

T0Counter = 0; // タイマをリセットする。

行頭の // を削除する。

(d) 55行目と62行目の行頭の//を削除する。

// タイマを使う

if (T0Counter > TIMER_1SEC * TIME_LIMIT) { // TIME_LIMIT[秒]たったら alarmBeep(); // アラームを鳴らす // ledOff(); // LED を消す

// while(!isTouch(CAP_PAD)); // タッチセンサが落ち着くまで待つ // while(isTouch(CAP_PAD)); // タッチセンサに触るまで待つ // startBeep(); // スタートの音を鳴らす

// T0Counter = 0; // タイマをリセットする。 }

(4) ビルドと書き込み

[Make and Program Device Main Project]の アイコンをクリック

[CAUTION]警告のダイアログボックスが表示 されたら、

電源が正しく接続されていることを確認して、[OK]をクリッ

ク。

X IDEの下側の[Output]に[Programming/Verify complete]と表示されたら、書き込み完了。

A

+

(6)

5

静電式タッチセンサ

 タッチすると、タイマが計時を始める回路とプログラム。

(1) 回路図

 

(2) 実体配線図

  

(3) プログラム

(a) MPLAB XIDEの画面で、”MPC17_01”-”Source Files”-”mpc17_01_main.c”を開く。

(b) 38行目の行頭の// を削除する。

initCPSV(); // 静電容量式タッチセンサの初期化

(c) 44-46行目の 行頭の// を削除する。

// タッチセンサを使う

while (!isTouch(CAP_PAD)); // タッチセンサが落ち着くまで待つ while (isTouch(CAP_PAD)); // タッチセンサに触るまで待つ startBeep(); // スタートの音を鳴らす

(d) 57-61行目の行頭の//を削除する。

ledOff(); // LEDを消す

while(!isTouch(CAP_PAD)); // タッチセンサが落ち着くまで待つ while(isTouch(CAP_PAD)); // タッチセンサに触るまで待つ startBeep(); // スタートの音を鳴らす

T0Counter = 0; // タイマをリセットする。

部品

ジャンパ線

A

+

(7)

(4) ビルドと書き込み

[Make and Program Device Main Project]の アイコンをクリック

[CAUTION]警告のダイアログボックスが表示 されたら、

電源が正しく接続されていることを確認して、[OK]をクリッ

ク。

X IDEの下側の[Output]に[Programming/Verify complete]と

表示されたら、書き込み完了。

(5) マイコンの再起動

静電式タッチセンサを有効にするには、プログラムを書き込んだ後、以下の操作を行う。

(a) PICkit3の接続を外す。

(b)電池を外す。

(c)電池を入れる。(マイコンをリセット)

(6) アラームが鳴るまでの時間を設定

(a) MPLAB XIDEの画面で、”MPC17_01”-”Header Files”-”mpc_settings.h”を開く。

(b) 25行目を修正

// タイマの制御

#define TIME_LIMIT 10 // アラームが鳴るまでの時間(秒)

数値の10を変えると、タイマが動作してアラームが鳴るまで

参照

関連したドキュメント

 私は,2 ,3 ,5 ,1 ,4 の順で手をつけたいと思った。私には立体図形を脳内で描くことが難

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

手動のレバーを押して津波がどのようにして起きるかを観察 することができます。シミュレーターの前には、 「地図で見る日本

だけでなく, 「家賃だけでなくいろいろな面 に気をつけることが大切」など「生活全体を 考えて住居を選ぶ」ということに気づいた生

本事業を進める中で、

以上の基準を仮に想定し得るが︑おそらくこの基準によっても︑小売市場事件は合憲と考えることができよう︒

 今日のセミナーは、人生の最終ステージまで芸術の力 でイキイキと生き抜くことができる社会をどのようにつ