論理設計 ICチップを作る No.11 スイッチ入力 DOC08G10A modoruya.jpg(1043 byte) ueya.jpg(1036 byte) susumuya.jpg(1034 byte)

チャタリング

スイッチを押したときと離したときにON-OFFを数10ms繰り返します。

FIG37.jpg(13712 byte)


FIG38.jpg(83084 byte)
FIG39.jpg(34948 byte)

実効譜

計数器の駆動をスイッチの入力で行うように論理を追加しています。
スイッチの入力にはチャタリングがあるのでそれ以上の周期の時間で定期的に読み取ることで チャタリングによる重複の計数を防止します。
キー入力の読み取り間隔は LCDCLK を分周したものから得ます。
keytimepulseLCDCLK から起点を作ります。
keytimerkeytimepulse.0 を計数しています。
keytimer10 まで計数したら getkeytime を1CLKだけ 1 にします。
getkeytime が1のときに enPSW を代入するとチャタリングの時間以上の間隔でスイッチを読み取って計数できます。



FIG40.jpg(31159 byte)

機能実行譜

実効譜の導入部を変更しています。



FIG41.jpg(53690 byte)

qa を計数しているところが着目点です。




modoru.jpg(1480 byte)