汎用ロジックICでデジタル時計を作る(7)

(前回)

 残りの回路は7セグメントLEDを使った時間表示部分だけなので、さっさと作って全体の動作チェックに移ります。

製作

 ジャンパ線がむき出しだと見た目を悪くするので、良く7セグの下に隠して後はUEWで配線します。

全体の動作確認

 今まで製作してきた基板は下のように組み立てることができます。7セグには傷防止のためマスキングテープを貼っています。

ゴースト対策

 電源を投入したところ時計としての動作はしていたものの、各桁にゴースト点灯が発生していました。

 時間の十の位に、秒の「3」がうっすらと表示されています。

 ダイナミック点灯の周波数を下げれば一応どうにかなるものの、今度はちらつきが気になったので別の対策を取ることにしました。

 そこで目を付けたのが、7セグメントLEDドライバの74LS247です。このICの4番ピンにはブランキング・インプット(BI)端子が付いており、コイツをLレベルにすることで、入力に関わらず全てのセグメントを消灯させることができます。このBI端子の入力には、ダイナミック点灯の発振回路の出力パルスを用います。

 ダイナミック点灯で表示する桁(計6桁)の更新はパルスのアップエッジで行われますので、パルスがLレベルの時に消灯させれば、1桁目点灯→消灯→2桁目点灯→消灯→・・・を繰り返します。

 この対策を行った結果が上図です。ゴーストは消えたもののなぜか”時”のゼロサプレスが効かなくなってしまいました。

ゼロサプレスの制御方式変更

 先程のゴースト対策を行ったらゼロサプレスが効かなくなったので、ゼロサプレスの方法を変えます。今までは

「時間の十の位が0」&「ダイナミック点灯で時間の十の位を点灯」⇒「74LS247のRBI端子をLにする」

といった論理でゼロサプレスしていましたが、今度はRBI端子を使わずに

「時間の十の位が0」&「ダイナミック点灯で時間の十の位を点灯」⇒「ダイナミック点灯の信号を切る

でやります。そもそも制御信号自体を止めてしまおうという考えです。

 回路図を示します。「CT10H」は時間の10の位を点灯するための信号で、「ZERO-S」は「時間の十の位が0(真ならばH)」の出力を示しています。

回路部分完成

 2日位連続駆動してみたところ、特にカウントが飛んだり表示が消えたりするような不具合は確認されませんでした。まあ寝てる間にバグってたかもしれませんが多分大丈夫でしょう。これで回路部分は完成となります。

 減光スイッチで暗くなります。

 次回はケース加工して完結です。

(続き)

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