アフィリエイト広告
アフィリエイト広告

論理回路 / 10進同期カウンタと 7セグメントLED

カウンタですから、数を数えるのが働きです。ふつー、数を数えるときは 10進数で数えます。
ってことで、10進カウンタをつくってみることにしましょう。

で、こいつはいわゆる BCD (2進化 10進) といいます。BCD は、10進数の 0〜9 を 2進数の 0b0000〜0b1001 で表したもの。10進数を扱うのに、とっても便利な方法です。

JKフリップフロップを使った 10進同期カウンタ

図1. 10進同期カウンタ 真理値表

10進同期カウンタは、4ビットなので、JKフリップフロップを 4個使います。入力ゲート回路が異なるだけで、考え方はこれまでと同様です。

図1 が真理値表。

10進ですので、0b1001 の次が 0b0000 に戻ります。0b1010 以上は、すべて don’t care とします。

図 2 10進同期カウンタ カルノー図 (1)
図3. 10進同期カウンタ カルノー図 (2)

図2、図3 がカルノー図。
これもこれまでと同様につくっていけばよいです。

論理式は、

となりました。

論理式をもとに、図4 の回路を作りました。
ビット 1 にも入力ゲートが追加されましたが、16進同期カウンタと似た感じの回路です。

図4. 10進同期カウンタ 実験回路

7セグメントLED で表示させる

さて、せっかく 10進同期カウンタをつくったので、7セグメントLED で表示させてみましょう。

図5. 7セグメント LED 表示回路

図6. 7セグメントLED 表示 (ブレッドボード)

使った IC は、BCD – 7セグメントドライバ TC4511 です。74HC4511 とほぼ同等なのですが、TC4511 は、電源電圧が最大 18V (動作範囲) です。
この IC、20mA の電流出力がとれます。なので、直接 7セグメントLED を駆動できる。でも、ダイナミック点灯だと要注意、かな。

/BI は、全セグメントを消灯します。5V につないでおけばいいんですけど、リセットボタン押下時に消灯するようにしておきました。
/LT は、全セグメント点灯なので、使いません。5V につないでおきます。
LE は、Low にしたときの表示状態を保持する働きをします。ダイナミック点灯時のブロッキングなどに使うようですが、今回は GND に落としておきます。

図 6 はブレッドボードのようすです。
左上から、クロック発振部 74HC04、リセットボタン、JKフリップフロップ CD4027B x2、AND ゲート 74HC08。右上のヒートシンクは 5V 電源の 7805。
下側のブレッドボードに 7セグメントLED ドライバ TC4511 と 7セグメントLED です。
中央下に、2 進数を表示する LED があります。

後記

カウントアップが数字で表示されると、ああこれ、たしかにカウンタなんだ、って、あらためて感じてたりする、おいらです (^_^;)
で、1秒毎に点滅する LED と数字をみていたら、時計とか …、って思った。ので、ちょっとそれらしいものを考えてみましょうか。

タイトルとURLをコピーしました