2 進数を入力して 7 セグメント LED を点灯、数字を表示させるドライバ回路をロジック IC で作っています。
7 セグメント LED で数字を表示させる、これはもう L チカとは呼べないのかもしれません (^_^;)
真理値表と論理式
「2進数入力7セグLEDドライバを作る(論理式)」で作った真理値表と論理式を再掲します。
動作の基本となる真理値表は次のとおり。4 桁の 2 進数 (BCD コード) を入力とし、7 セグメント LED の各セグメントの制御を行ないます。
この真理値表から作った論理式が以下です。論理回路を共通にできる部分を【共通部分】とし、各セグメントの制御のための論理式が【各セグメント部分】です。
【共通部分】 R = Z2 Z1 S = Z2 Z0 T = Z1 Z0 U = Z1 Z0 V = Z1 Z0 W = Z2 Z1 X = Z0 + Z3 P = Z3 R = Z3 Z2 Z1 Q = R X = Z2 Z1 ( Z0 + Z3 )
【各セグメント部分】 a = Q + Z3 ( S + Z1 ) b = R + Z3 ( Z2 + U + T ) c = Z3 ( Z1 + T + Z2 ) + R d = Q + Z3 ( W + V + Z1 S ) e = Z0 ( R + Z3 Z1 ) f = Z3 ( U + Z2 ) + P g = Z3 ( Z2 Z1 + W + V ) + P
回路図
以上の論理式から作った回路が下図です。
手持ちの AND と OR のロジック IC を利用しました。NAND などを利用するときは論理式を書き換えましょう。
NOT も手持ちのシュミットインバータを使っています。
左上部分に入力用のスイッチとプルダウン抵抗があります。スイッチ off 時が Zn = 0 、スイッチ on で Zn = 1 となり、NOT を通してそれぞれ Zn = 1 、Zn = 0 となります。Zn と Zn が各ゲートの入力信号になります。
左下部分は 7 セグメント LED の各セグメントの駆動回路です。ロジック IC の出力電流が十分あれば省略できますが、7 セグメント LED がアノードコモンかカソードコモンかで NOT が必要になる場合があります。
実際にブレッドボードに組み立ててみた
回路図にしたがってブレッドボード上に組み立ててみました。
左下が入力用の DIP スイッチで、5 6 7 8 の 4 つを使っています。
その上がプルダウン抵抗。さらに上がインバータ (IC1) です。インバータの右隣がロジック IC (IC2 〜 IC7) で、AND と OR が交互に並んでいます。
DIP スイッチの右がロジック IC (IC8 〜 IC11) で、右端にセグメントの駆動トランジスタがあります。
右側の小さいブレッドボードには、電源回路と 7 セグメント LED が載っています。
写真では、DIP スイッチが 0101 となっていて、7 セグメント LED が [ 5 ] を表示しています。
真理値表にしたがって各入力値を確認したところ、計画どおりのセグメントが点灯して正常に数字を表示してくれました。