PIC−USBIO using BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第136回]
●PICUSBIO−03(85)I2Cモード(7)マスターモード(6)DS1307送信プログラムの波形
前回実行したDS1307日時データ送信プログラムの波形をCPLDロジアナで観測しました。
下がその波形です。
最初のSTARTコンディションです。
PROBE0はクロックSCLです。
PROBE1はSDAです。
SCLがHのときにSDAをLにするとSTARTコンディションになります。
最初の送信データ(スレーブアドレス+R/Wビット)です。
8クロックで11010000を送信しています。
最後の9クロック目はDS1307からのACK(=0)です。
この波形で見る限りSDAはSCLの下がりエッジで変化しているように見えます。
2番目の送信データ(書き込み開始アドレス)です。
アドレス’00000000’を送信しています。
レジスタ0のデータ(秒)です。
00秒(00000000)を送信しています。
レジスタ1のデータ(分)です。
00110000(30H)を送信しています。
DS1307に送る8ビットの日時データはBCD2桁です。
30Hは30分を示します。
レジスタ2のデータ(時)です。
00011000(18H)を送信しています。
18Hは18時を示しています。
レジスタ3のデータです。
レジスタ3は曜日のデータです。
普通は使わないのでここは00Hを送りました。
レジスタ4のデータ(日)です。
00000110(06H)を送信しています。
06Hは6日を示しています。
レジスタ5のデータ(月)です。
00010010(12H)を送っています。
12Hは12月を示しています。
レジスタ6のデータ(年)です。
00100010(22H)を送っています。
22Hは22年を示しています。
このあとレジスタ7のデータ(パルス出力制御)を送っているのですがうっかりしてそこのところの画面コピーを撮るのを忘れてしまったようです。
最後のSTOPコンディションです。
SCLがHのときにSDAをLからHにするとSTOPコンディションになります。
PIC−USBIO using BASIC[第136回]
2022.12.23upload
前へ
次へ
ホームページトップへ戻る