● 実験テーマ8
「PIC24F_内蔵RTCC TEST」の顛末記
■ 2011.08.08
<目的>
・RTCに関しては、今迄、I2C_RTCモジュールを使って既に実現しているが、PIC24Fに内蔵されているRTCC
を扱うのは初めてである。
後閑氏のPIC24F活用本に、内蔵RTCC(時計・カレンダ機能)の製作例が載っているので、これを自作のLCD
ライブラリ、自作のPIC24Fトレーニング基板にカスタマイズしながら、アラーム機能も含めて把握できればと
思っている。
<後閑氏の記事と異なる部分>
・自作LCDライブラリを使う。
・LCDへの表示フォーマットを、右図のように変更(特に曜日表示を追加)
・後閑氏は、RTCC出力ピン(RB14と共存)を、1秒毎のLED反転(点滅)出力として使っているが、自作トレーニン
グ基板は、RB14ポートとしてLCD-D4に使っているので、このLEDステータス表示は使用不可
(単なる表示だけなので問題なし)
・CPUは、PIC24FJ64GA002を使用(後閑氏は、ポート数の多いPIC24F64GA004を使用)
→ ROM, RAM容量はM、同じなので問題ないと思われる。
・基板は、自作のPIC24Fトレーニング基板を改造し、手作りの時計用X'talモジュールを挿入することにより、
内蔵RTCCの実験が可能なようにした。
<RTCCの内部構成>
・参考までに、RTCCの内部構成を下図に示します。
■ 2011.08.16
・今日からデバッグ開始
・コンパイルは、1発で上手く行く。
但し、何故か、コンパイル出力ファイル(OUTPUTダイアログ)の表示が、1部分、変な書体の斜め譜太文字(青)
になってしまっている??
Windows Meマシンへ、Excelをインストールしてから、おかしいので、そのせいかと思い、アンインストール→再
起動したが症状変わらず。
突然何が起こったのだろうか???
Hexファイルは正常に生成されるので、実質作業に影響ないので、とりあえずこのまま進めることにする。
MPLAB IDEを、再インストールするしかないのかな〜〜〜
・火入れ式
@ LCDのイニシャルは掛かっている模様(2ライン設定で、全画面クリアされている。)
A しかし、LCDには何も表示されない。
B RTCC内部の、0.5秒クロックに同期している、T1割込みによるLED反転(0.5秒毎)は、上手く行っている。
・I2C_RTCの場合と比べて、RTCレジスタ(時刻・カレンダ値)が、16Bitで、年を除いて、2つのBCD値が2パック
構成になっているため、char型にキャストしてから、自作サブルーチン(データ引数:char型)を呼ぶようにしたが、
これでも上手く行かず。
・現在、RB14(RTCC出力ピンとの多重機能ピン)は、RTCC出力ピン有効にセットされているため、RB14単純出力ポート
(LCDデータビット)として使用できなくなると思われる。
→ RCFGCAL = 0xAC00; // RTCC出力ピン有効 を
RCFGCAL = 0xA800; // RTCC出力ピン無効 に修正したら
LCD表示し、RTCCが動きだした。
■ 2011.08.17
・ALM動作確認→ イニシャル時に、ALM_LEDが点灯しているため動作確認しずらく(イニシャル時は消灯の方が自然)
イニシャル字、明示的に消灯させた。
その結果、下図に示す通り、思惑通りの動作が確認できた。
■ 2011.08.18
・今回の目的は、達せられたので、これで本件はクローズすることにした。
<最終回路図>
・こちらから、どうぞ→ 「PIC_RTCC(時計・カレンダー)回路図」
尚、本回路図には、Line入力アンプとRS232C
I/Fが書かれていますが、本テーマでは使用していません。
<最終ソース及び、ヘッダーファイル>
・こちらから、どうぞ→ RTCC_Check.c
My_LCD_Lib.c
My_LCD_Lib.h
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ9へ →