2023.10.30
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第95回]



●SDカードIF(15)ND80Z3.5に接続(8)WT、WD、RT、RDコマンド

WT、WD、RT、RDはRTC(リアルタイムクロック)用のコマンドです。
多くの方は普段ファイルの日付や時刻は余り意識していないかもしれませんがプログラムやデータの作成などを日常的に行なっているとファイルの作成日時はプログラムやデータを管理する上でとても重要な役割を担っていることを強く認識させられます。
SDカードIFボードが完成すればそれはPICBASICコンパイラボードに接続することでたとえば測定データなどをSDカードに記録するというような用途に役立つことは間違いありません。
そのときに測定したデータとともに日時が記録できてこそ完璧なデータになるのではないかと思います。
SDカードIFボードにRTCとしてDS1307を搭載することについては回路図を[第85回]に、試作基板の写真を[第87回]に掲載しています。
しかし今まではずっとSDカードのためのコマンドの作成とデバッグにかかりっきりでしたのでRTCについては何も書いていませんでした。
実際にはSDカードについてのコマンドを作成する過程でRTCについてのコマンドも作成して同時に簡単なデバッグも行なってRTCが正しく機能することは確認済みです。
このところの作業でSDカードについては概ねデバッグもほぼ完了するところまでこぎつけることができましたのでこの機会にRTCのコマンドとその機能について紹介することにしました。
とりあえず作成したコマンドは上記の4つです。

WTはWrite Timeです。
RTC(DS1307)に時分秒の値(HHMMSS)を設定します。
HHは00〜24、MMは00〜59、SSも00〜59の各10進数です。
WDはWrite Dateです。
DS1307に年月日の値(YYMMDD)を設定します。
YYは西暦年の下2桁00〜99、MMは01〜12、DDは01〜31の各10進数です。
RTはRead Timeです。
DS1307から現在の時刻をHHMMSSの形で取得します。
RDはRead Dateです。
DS1307から現在の年月日をYYMMDDの形で取得します。
今はデバッグ中なのでコマンドの形で作成しましたが最終的にはPICBASICコンパイラにBASIC命令として組み込むつもりです。

各コマンドを実行しました。

WD、WTコマンドを実行してから少し(30秒ほど)経ってからRDコマンドとRTコマンドを実行しました。
各コマンドが正しく働くこととDS1307が正常に動作することが確認できました。

DS1307はボタン電池でバックアップしていますから基板の電源をOFFにしても日時を刻み続けます。
念のためにそのことを確認してみました。

一旦デバッグプログラムを終了しZB3BASICも終了してND80Z3.5の電源をOFFにしました。
少し待ってからND80Z3.5の電源をONにしてWindowsパソコンとUSB接続ができたところまでを実行しました。

ZB3BASICを起動してデバッグプログラムを再度実行しました。

RDコマンドとRTコマンドを実行して電源OFFの期間中もDS1307が正しく時刻を刻んでいることを確認しました。
上記テストは時計を見ながら行い、画面に表示された時刻が正しいことを確認しました。

PICBASICコンパイラ[第95回]
2023.10.30upload

前へ
次へ
ホームページトップへ戻る