次にi2c関連ではスレーブの方にも手を出しました。スレーブはハード方式で無いとタイミング上間に合わず、難しいので、PIC16F88ではSSP、PIC16F1823ではMSSPを使い、作成しました。PIC16F88ではSSPからの割り込みで動く、MAIN関数の中でi2c制御コードを書いています。
http://chitose6thplant.web.fc2.com/exp/i2c_slave/main_slave_c.pdf
PIC16F1823ではMSSP1を使う割り込み方式です。
http://chitose6thplant.web.fc2.com/n_4digit/1823_i2c_slave/main_slave_c.pdf
どちらもLCDの動きとしては、ストリナLCDモジュール互換で作ってみました。
なお、この試作の延長でi2c制御LED表示モジュールというのもありそうです。LEDのダイナミック表示用端子数省略マトリックス配線のアイデア(チャーリープレックス:charlieplexでググッテください)がWEBで紹介されていますが、PIC裸で7セグドライバ無しでLED配線し(トラちゃんとかは必要)端子ケチるという点で面白そうです。なお、思い起こせば、4040bバイナリーカウンタをシフトレジスタまがいで動かしLEDを表示するというプロジェクトでは7セグドライバは使わず、PICソフトでa,b〜fセグメントへの変換テーブルもって駆動しました。PIC10F222でLED表示電圧電流計を作るプロジェクトでしたが、これは懲りすぎで人気を集めることが出来なかったです。(ハードのつなぎと、Cの宣言とかが相互に絡んでいて、c苦手な人にはわかりにくいので、無理して理解されることは有りませんよ、チャーリープレックスのほうも結構難しいです)
i2c実験で参考にした本