24.01.2015 Views

C - U-netSURF

C - U-netSURF

C - U-netSURF

SHOW MORE
SHOW LESS
  • 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 言 語 版

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!