いいえ、ハードウェアとしてのチャタリング防止機能は内蔵されておりません。
マイコンに内蔵されたノイズ除去ではせいぜい数十n秒(アナログ遅延を使用)から数μ秒(サンプリングによるノイズ除去)程度までです。通常、チャタリングのような機械的な振動は数m秒の時間続きますが、この時間はマイコンの動作から見ると非常に長い時間です。このような長時間にわたるノイズを除去できるようなフィルタは内蔵されておりません。
従って、チャタリング対策が必要な場合には、キー割り込み処理の頭の部分でソフトウェアによるタイマでチャタリングが収まるまでの時間待ちをして、それからキーの確認を行なって下さい。
キー入力/キー割り込みに関しては「
マイコンでのキースイッチ入力」も参照下さい。
ちょっと注意
キー割り込みが受付けられて、割り込みベクタに分岐したときにはCPUは割り込み禁止になっていますので、キー割り込みを多重に受付けることはありません。しかし、チャタリングにより割り込み要求フラグがセットされた状態となります。そこで、キー割り込みから戻る前に割り込み要求フラグをクリアする必要があります。
また、注意を要するのが、下図のようにチャタリングはキーが離されたときにも発生することです。ソフトウェアによるタイマでチャタリング除去をおこなっていれば、この場合にも対応できます。
|
(2007/06)