nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

PIC16F88のSSP利用i2cスレーブ LCD表示ソフト

替わりのアイデアで実験します。i2cスレーブお勉強と言う事で、作りかけになっていたPIC16F88使用LCDモジュールのバグつぶしを行います。2ヶ月ぐらいほったらかしだったので、初心に返りソースコードを見直しました。

スタートコンディション、アドレス、データのシーケンス管理がうまく行ってなかったんですが、今回SSPSTATにD/〜Aというビットがあるのを発見。これにより、アドレスは切り離され、その後にはコマンドが2バイト単位でしか来ないということにしたら(LCDの接続ではRSビット、コマンドバイトの組み合わせになる)動き出しました。ストロベリーリナックスi2c液晶の文字表示関してコンパチになりました。(拡張コマンドとか、液晶輝度などのコマンドは無視)
今回RTC実験で当初使用予定i2c液晶に替わりピンチヒッター起用のSC2402液晶をPIC16F88で制御するソフトです。I2cインターフェイスのスレーブ側をSSP(同期直列ポート)で動かします。液晶は4ビットパラレル接続です。 
http://chitose6thplant.web.fc2.com/exp/i2c_slave/main_slave_c.pdf
http://chitose6thplant.web.fc2.com/exp/i2c_slave/lcd_c.pdf
http://chitose6thplant.web.fc2.com/exp/i2c_slave/lcd_h.pdf

http://chitose6thplant.web.fc2.com/exp/i2c_slave/delay_h.pdf



HI-TECH Cの参考書としてこの本使ってます。ちょいフルですが、手軽に使えます。





回路図は次です。
http://d.hatena.ne.jp/nobcha23/20111011/1318285027