秋月ファンクラブ掲示板 過去ログ

カウント範囲が制限されたアップダウンカウンタ - inara1

2012/02/04 (Sat) 15:14

カウント範囲が2進表記の 00000 ~ 10100 の範囲に制限されたアップダウンカウンタです。スイッチを長押しすると、連続パルスが発生します。電源投入直後のカウンタ出力は 00000 です。

カウンタ値の最大値(10100)を検出するために、b2 と b4 だけのレベルを見ています。 00000 ~ 10100 の範囲で、b2 と b4 が共にHレベルになるの 10100 のときだけだからです。b2 と b4 が共にHレベルになると 4093 の 12pin がLレベルになるため、アップカウント用のスイッチ回路が動作しなくなります(スイッチを押してもカウントアップしない)。 カウンタの出力が 10100 以外のときは、4093 の 4pin はHレベルになるので、4pin と 12pin 間が電気的に切り離される(間にあるダイオードが常に逆バイアスされるため)ので、アップカウント用のスイッチ回路が動作状態になります。

カウンタの最小値を検出するために、カウンタ(74HC193)のBORROW出力を使っています。カウンタの全出力(b0~b4)が 0 になることを検出してもいいのですが、そうすると、ゲートICを追加する必要があるので、部品点数削減のために、BORROW出力を利用しました。2段目の74HC193のBORROW出力は、ダウンクロック入力がLレベルにある状態でカウンタ出力が 00000 になるとLレベルになるので、この信号で、2つの74HC193を強制リセットします。こうすれば、ダウンカウント用スイッチを押してもカウンタの出力は常に 00000 となります。