バーグラフは状況を直感的に理解しやすいメリットがあるが、多くのマイクロコントローラが必要になったり、種類が限定されてしまったりする。今回は、その2つの欠点を回避する回路を紹介する。ポート数を節約したい場合や子基板を追加するといった改修を行う場合に適している。
デジタルで数値表示を行う計器類に、アナログ形式の補助ディスプレイが付属しているケースがある。例えば、フルスケールに対する測定値の割合をLEDによって表示するといったものだ。このような表示は、バーグラフと呼ばれる。バーグラフには、状況を直感的に理解しやすいというメリットがある。
しかし、通常のマイクロコントローラを用いた設計では、例えば8セグメントのLEDによってバーグラフ表示を行うとすると、少なくとも8個のI/Oポートが必要となってしまう。この点がネックになる場合、代替手段として、PWM出力機能を備えたマイクロコントローラを使用する手がある。
例えば、米National Semiconductor社のバーグラフディスプレイドライバ「LM3914」(または同等品)をPWM出力で制御すれば、必要なI/Oポートの数を最小限に抑えることができる。その場合、LM3914に供給するPWM信号のパルス幅を制御するようにマイクロコントローラをプログラミングすることになる。ただし、この方法では、使用可能なマイクロコントローラの種類が制限されてしまう。
上記2つのアプローチの欠点を回避する方法として、本稿では図1に示す回路を紹介したい。この回路であれば、8セグメントのバーグラフを1個のI/Oポートで駆動することができる。しかも、PWM出力を使用しないため、どのようなマイクロコントローラでも利用可能だ。この方法は、端子数の少ないマイクロコントローラを使用するため、ポート数を節約したい場合やバーグラフ表示のために子基板を追加するといった改修を行う場合などに適している。
この回路では、バーグラフの表示を更新するために、マイクロコントローラの出力ポートから図2のタイムチャートのようにパルス列を出力する。第1パルスの幅T1は、単安定マルチバイブレータIC1(74123または同等品)が生成するパルスの幅T2より長くする。
そして、これら両パルスをNANDゲートIC3(7400または同等品)に入力する。このNANDゲートはIC1と組み合わせることで、幅の長いパルスの検出器として働く。C1とR1については、IC1のデータシートに記載された式を用い、パルス幅T2が約1.5msになるように値を決める。T1とT3の典型的な値はそれぞれ3ms、1msとなる。
IC2は、シリアル入力/パラレル出力、8ビットのシフトレジスタである。NANDゲートの両入力がハイの期間、同ゲートの出力がローになることで、IC2はクリアされる。その結果、IC2の全出力がローになり、バーグラフの全セグメント(すべてのLED)が発光する。
Copyright © ITmedia, Inc. All Rights Reserved.