デジタル時計

トランジスタ技術誌の付録で楽しみました。
 
 現在、私達の生活環境では正確な時計が安価に入手できます。
PIC を使用して「デジタル時計」などを製作しても、市販の時計に比べてコストは絶対見合わないのですが、C30コンパイラを使った 16bit dsPICの プログラムの勉強と、完成したときの達成感を味わう意味で、 LCD キャラクタモジュールに時間を表示するデジタル時計を製作しました。
 
ハードウエアはトランジスタ技術誌、2007年8月号の付録、マイコン基板( dsPIC30F2012 基板)と同年9月号付録のトレーニングボード基板を使いました。
 
トレーニングボード基板(以下、ボードと称します)にはすべてのパーツを組付けましたが、使っていない部分がかなりあります。
スイッチ関係はマイコン基板とボード上のすべてを使いました。
 
製作したデジタル時計の仕様
1.時間の設定が容易にできる。
2.時報に合わせて定時(XX時00分00秒)の設定ができる。
3.24時間表示
4.午前0時から9時までは10位のゼロサプレスをする。(08時 → 8時)
5.正確である

  
写真1

写真1はボードにパーツを取り付けて、マイコン基板を載せたものです。
マイコン基板のパーツは表面実装タイプで、取付け済みでした。
こんなに小さなスイッチがあるのかと感心しました。


写真2

写真2 はこれから「時間」の設定をおこなうものです。
マイコン基板右端のスライドスイッチを下にさげると
TIME SET と hh:mm:ss の表示が出ます。

ボード右下の黄色SW(写真1)を押すと10位の時間の設定ができます。
左隣の青色SWを押すとhhの上のカソールが1位の時間に
移動しますから、黄色SWで時間の数字を入れます。


写真3

「時」の設定と同じ要領で「分」と「秒」の設定をします。


写真4

写真4 は時間を 15時59分45秒 に設定した場合です。
設定が完了したらマイコン基板のスライドスイッチを上に押し上げます。
これで時計として動き始めます。 TIME SET の文字は消えて
下の 写真5 のように私の QTH と コールサインが表示されます。


写真5

マイコン基板の IC とスライドスイッチの間にある小さな押しボタンSWを
時報に合わせて押すと、分と秒の値が xx:00:00 になります。
写真の2秒のズレはシャッター操作の時間差です。

このゼロ設定は毎時の xx:59:00 から xx:00:59 の間だけ
設定操作ができます。


写真6

0時から9時までの時間表示は10位がゼロサプレスされます。
写真6では 09時でなく 9時を示しています。

この時計の正確さ
写真1の中央下に見えますがクロック発振器には安価な水晶発振子(10MHz)を使いました。
実際に時計として使用していないので長期間の記録はありません。1週間程度の動きでは、ほとんど時報との誤差はありませんでした。
 
マイコン基板とボードの設定
マイコン基板は裏面にあるジャンパーパターン JP1をカットしました。
 
ボードには10MHz水晶発振子と C13、C14に22Pの積層セラミックコンデンサを追加しました。
ボードのジャンパーJP1の5−6、3−4、1−2 は全て開放にしました。
 
プログラム
このデジタル時計のプログラムはマイクロチップ社のMPLAB C30コンパイラ学生版を使ってつくりました。 PIC のプログラム作りはアッセンブリ言語ばかり使ってきましたが、C言語は残り時間が少なくなった老人向きですね

プログラムの書込み
プログラムは Microchip MPLAB ICD 2 を使い、ボードの ICSP 用モジュラージャック(写真1 右下)から直接書込みました。
 
参考書
私にメールや電話で詰問しないでくださいね。下記参考図書をご覧ください。
 
マイクロチップ社
 MPLAB C30 ユーザーズガイド(日本語版)
 16-BIT LANGUAGE TOOLS GETTING STARTED
 dsPIC30F2012 DATA SHEETS
CQ出版社
 トランジスタ技術2007年8,9月号
技術評論社
 電子制御・信号処理のためのdsPIC活用ガイドブック(後閑哲也さん著)

2008.9.6
PIC体験記目次へ     トップページへ