トップページ H8 4 キー入力の取り込み

4 キー入力の取り込み
今回は、キー入力取り込みのサンプルです。
キットに付属しているサンプルプログラムでは、無限ループの中で、キー入力のビットが変わったら即有効入力として処理しています。更に入力をするインターバルは1回ループする時間なのでおそらく1ms以下になっています。このようなやり方で問題ない機器もありますが、致命的な不具合を引き起こす機器もあります。
通常の機器では
チャタリングの除去
をするのが常識(?)になっています。
チャタリングとはスイッチがオフからオンになるとき(その逆もそうです)キーの入力ポートが一瞬乱れる現象です。


このような波形を何も考えずにしょりしてしまうと、大変なことになります。
電話で104の電話番号案内にダイヤルしたとき、人間は、104とキー操作をします。
ところが運悪く1回押したつもりの1を2つ取り込んでしまった。
次の0は正しく取り込んだ。
となった場合、110となってしまいます。
番号案内にダイヤルしたのが警察につながってしまい大変なことになります。

チャタリングのガードにはいろいろありますが、今回のサンプルは同じ入力が一定時間続くことで対応してます。25msで入力を取り込んでいます。

スイッチ1押したら、LED1が点灯
更にスイッチ1押したら、LED1が点滅
更にスイッチ1押したら、LED1が消灯
この動作を繰り返します。


サンプルプログラムのダウンロード