C - U-netSURF
C - U-netSURF
C - U-netSURF
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
スイッチの 入 力<br />
次 は 入 力 ポートの 例 として,プッシュスイッチの 入 力 を 考 えてみましょう。スイッチが 押 された 瞬 間<br />
だけ,0.2 秒 間 (200ms)LED が 光 る(ワンショット 動 作 ),というプログラムを 作 ります。プッシュスイッチ<br />
は P53 につながっているものを 使 います。LED は P60 です。<br />
さて,プッシュスイッチを 入 力 するとき 最暷 初 に 考 えなければならないのはチャタリングの 除 去 です。<br />
スイッチをオンにするというのは,おおざっぱに 言 えば 金 属 と 金 属 をぶつけることです。そのため, 押<br />
した 瞬 間 , 金 属 の 接 点 がバウンドしてオンとオフが 繰 り 返 されます。これをチャタリングと 呼 びます。 数<br />
ms の 間 だけなのですが,マイコンにしてみれば 十 分 長 い 時昷 間 です。そのため, 単 純 に 入 力 すると,こ<br />
のオンとオフをすべて 読 んでしまって, 何 度 もスイッチが 押 されたとかんちがいしてしまいます。<br />
チャタリングを 取 り 除 くために,<br />
スイッチがオンしたら,しばらく 待 っ<br />
てから(10ms ぐらい)もう 一 度 読 む<br />
(ダブルリード),ということを 行 な<br />
います。2 度 目 に 読 んだときもオン<br />
だったら 本曓 当 にスイッチがオンした<br />
と 見 なします。<br />
次 はワンショット 動 作 について 考 えてみましょう。スイッチがオンになった 瞬 間 だけを 検 出 するた<br />
めにスイッチの 状 態 をおぼえておくことにします。 変 数 として‘SwStatus’を B セクションに 用 意 し,<br />
SwStatus=0 のときはスイッチが 押<br />
されていない,SwStatus=1 のとき<br />
はスイッチが 押 されている,という<br />
ことにします。スイッチが 押 された<br />
瞬 間 を 検 出 するので,SwStatus<br />
が 0 から 1 に 変 化 したときに LED<br />
を 点 灯 します。<br />
以 上 のことを 考 えてタイミングチャートをかいてみましょう。これを 見 ながらコーディングしていきま<br />
す。<br />
54<br />
TK-3687mini ユーザーズマニュアル C 言 語 版