PIC24FJ64GA002のデータシートを眺めていたらRTCCの文字を発見した。
Hardware Real-Time Clock/Calendar 略してHardware RTCC だ。
つい先日中華製のRTCモジュールにPIC18F2550をつないで時計にして喜んだばかり、
「Real Time Clock Module ( DS1307 + AT24C32 ) + PIC18F2550 + SC1602B」
「16×2 Character LCD with I2C Module の分離」
「Real Time Clock Module ( DS1307 + AT24C32 ) + PIC18F2550 プリント基板作成」
なのに、内蔵しているPICがあるなんて、知らなかったのは私だけのようだ。
というか、存在は予見できたが、手持ちに内蔵したものがあるとはねえ。
ちなみにRTCモジュールは$1.51、約180円、PIC18F2550は秋月価格で350円なので、合計で530円といういまどき高価な時計となっている。
PIC24FJ64GA002の秋月価格は330円なので、多少お安く、回路的には非常に簡便なものにできる。
もちろん、時刻の記憶機能とかは無いわけだが、やろうと思えば実装できるだろう。
で、知らなかったのは私だけなので、当然先人の作例がすぐに見つかり、とりあえずはお得意の物真似をさせていただいた。
ここ。
MPLAB C30 の環境下でのコードのようだが、MPLAB X XC16 でそのまま問題なくコンパイルでき、動いてしまった。
ただ、どうも時計の進み方がハンパなく速く、原因を調べる必要はある。
参考にさせていただいたサイトでも、ブレッドボード上では水晶発振がらみでうまくなかったと書かれているので、その辺かもしれない。
追記
参考サイトの回路図の通り22pFのコンデンサを取り付けてあったが、容量の大きいコンデンサの方が安定するという記述もみられたので、手持ちにあった47pFにしてみたら、安定して発振するようになった。
長時間測定して確認したわけではないがほぼ1秒が保たれている。
少なくとも、当初の、誰が見ても分るくらい時計が速く進むというようなことは無くなった。
「PIC24FJ64GA002 RTCCを試す -コードを眺めて少し改造-」へ続く
Tweet