記事一覧

7セグLED時計の製作①

2009.06.11


秋月電子にて、「7セグLED 赤色2文字(アノードコモン)(4個入)」なるものを買いました。
2桁x4個で100円とお買い得。
早速、PIC16F648Aと組み合わせて、4桁表示のデジタル時計の作成に挑戦しました。
4桁分をブレッドボードに挿してテストするのは困難なので、LED、抵抗、トランジスタなどをひとまずユニバーサル基盤に半田付けし、リード線を引き出してブレッドボードに挿し込んでいます。

水晶発信器11.776MHZあと、特価の水晶発振器(11.776MHz)が5個で100円だったので、こちらも実装しました。
デジタル時計として実用の精度を期待しています。
試したところ、2日で1秒程度の誤差でした。
現在はニッケル水素電池4本で動作させていますが、電池の持ちは一週間程度といったところでしょうか。
いずれACアダプタ等に変更したいと思います。

ファイル 1-2.png 回路図はこちら。
LEDはアノードコモンタイプ。
カソードはRB0-7に接続し、アノードにつないだRA0-3でダイナミック点灯をしています。
時計のモード切替はRA4にプルアップ抵抗とプッシュスイッチでOKですが、時刻合わせとストップウオッチのスタートなど、あと2つスイッチが欲しかったのでRB2,3につなぎ、プログラム上で出入力を一瞬切り替えてスイッチを検出するようにしています。
ここはカソードと兼用のラインなので、スイッチを押している間は表示が変になりますが、一応実用の範囲内。
左上のポートはPICKit2につなぐコネクタです。5Vの外部電源を印加することにより回路上でPICのプログラムの書き換えを可能としています。

最初、外部電源の事を忘れていてPickit2の電源だけでプログラミングしていたため、書き換えが不安定で悩みました。
単三x4本の電源を付け加えることで書き換えが安定するようになりました。

時計の機能
・モード切替
1)通常の時分表示(時と分の間はピリオド表示)
2)秒だけの表示(下2桁分のLED使用)
3)ストップウオッチ(0.1秒単位で999.9秒まで表示可)
4)時、分の設定
5)スリープモードの設定

タグ:PIC 16F648A 7セグLED