« PIC-BASICに、I2CEEPROMを追加 | トップページ | 秋月、H8/3052F開発セットの製作 »

2008年11月 6日 (木)

16F876A,I2Cマスターモード

I2cmastermode トラ技2008年10月号の、16F819をI2Cスレブとして使ったRTCの記事を製作したのですが、16F88で、ソフトウェアによるマスターモードではアクセスすることが出来ませんでした。

たぶん、I2Cスピードが、100kHzでなく400kHzとして作られているのが原因だと思うのですが、ソフトを直して100kHzに対応するのは大変です。

そこで、I2Cマスターモードを、ハードウェアでサポートする、16F876Aを使ってプログラムし、アクセスしてみました。

結果は、16F819のI2Cスレブモードに対してアクセスすることが出来、RTCの読み出しや設定などが出来ました。

RTCと、EEPROMでは、アクセス順序などに違いがあり、それぞれ対応したモジュールを作る必要がありますが、基本となるスタートコンディション、ストップコンディション、バイト読み出し、バイト書き込みなどは共通で、これを使って、コマンド、アドレス、データなどを送るプログラムを作れば済みます。

今回は、RTC-8564NBに対応するように作りましたが、シリアルEEPROM(24C512)などにも対応していきたいと思います。

回路や、プログラムは、下記ホームページからダウンロードできます。
対応のCPUは、16F876Aで、クロックは8MHzとなっています。
「趣味のホームページ」
http://homepage2.nifty.com/sfukuda/page042.html

« PIC-BASICに、I2CEEPROMを追加 | トップページ | 秋月、H8/3052F開発セットの製作 »

製作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« PIC-BASICに、I2CEEPROMを追加 | トップページ | 秋月、H8/3052F開発セットの製作 »

フォト
無料ブログはココログ
2016年6月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

USBとマイコンの参考書購入