LED回路工作部屋 > 7セグを1桁使用した簡易電圧計 【最終更新日:2013/11/18】
7セグを1桁使用した簡易電圧計
■■■■ 回路の説明 ■■■■■■■■
 測定した電圧を1桁の7セグメントLEDに表示する回路です。測定できる電圧は7.0V〜25.0Vまでで、回路の電源は測定対象からとるので別途不要です。
 電圧の表示は、仮に12.5Vの表示ならスタートを示す [-]の後に[スペース] [1] [スペース] [2] [スペース] [5] と、繰り返し表示します。

■■■■ 回路図とプログラム ■■■■■■■■
 ○ この回路で使用するプログラム等です(フリー)
 ・PIC16F688のプログラム RGB_tLED.HEX (1.33KB)
 ※回路図は図1を参照。
【図1】部品配置・配線図


 表示する電圧の校正は 10kΩ半固定抵抗 でします。A/D変換の値は8bitの0〜255で出力し、その値をBCD変換して0〜25.5の表示形式に直します。
 A/D測定する際、PICのアナログ入力ピン(図1のC3ピン)では、25.5Vで5Vの入力値になるように 半固定抵抗 で調整します。なので、最初は基準となる12VのACアダプタなど基準となる構成用電圧が必要です。 半固定抵抗 は最初 左回りにしぼって、12Vなどの基準となる電圧を接続し、測定しながら 半固定抵抗 を右に回して [1][2][0] と表示するように調整します。

■■■■ 内部プログラムの説明 ■■■■■■■■
Timer0
 表示やA/D変換のタイミングは 8bitタイマー の Timer0 で行っています。256(8bit) x 256(プリスケーラ) x 6(処理間隔) で0.2秒ごとの移行間隔です。
 Timer0 による割り込みを カウンタで数えて6回発生したら指定フラグの処理を行います。

BCD変換
 単純に数を数えて100の桁、10の桁、1の桁の各数値を出します。各数値の格納先を "0" にしてから A/D値の ゼロ確認 を行います。
 ゼロ確認 をしないと、もしA/D値が "0" のまま decfsz を実行すると "255" になってしまうので注意です。

7セグの表示
 BCD変換した値は、テーブルジャンプで該当する7セグ表示プログラムへジャンプします。