楽天市場
[無料でホームページを作成] [通報・削除依頼]

PIC18F EEPROM エミュレーション

PIC16F用のプログラムをPIC18Fに移植しました。
(PIC18FのJタイプには対応していません。)

<考え方/仕様>
?EEPROM領域としてフラッシュメモリー上の128バイトx2ページを使用する。

?PIC18Fの1ワードは16ビットなので、EEPROMアドレスに上位6ビット(0x00~0x3E)を使用、
残りの10ビット(<1024)をEEPROMデータとして使用する。

※使用可能なEEPROMアドレスは0x00~0x3Eの63個、EEPROMアドレス0x3Fはページの識別に使用するため除外。

?EEPROMの書き込みと読み出しに128ワード(256バイト)、?で示したデータに128ワードの計256ワード(512バイト)を使用。

?レジスタ(RAM)使用数3
EE_ADR : EEPROMアドレスを指定
EE_DATH: EEPROM上位データ 2ビット を指定
EE_DATL: EEPROM下位データ 8ビット を指定

?機能
?) initial_eeprom
ページ0とページ1を全て消去する。

?)read_eeprom
アドレスを指定し、指定されたアドレスのEEPROMデータを取得する。
※同じアドレスで書き込まれたデータはあとから書かれたデータが読み出される。

?) write_eeprom
アドレス、データを指定し、EEPROMデータを書き込む。
※ページがデータで一杯になると、書き込まれたデータを整理し、別のページに移動。
元のページを全消去する。

?) erase_eeprom
アドレスを指定し、0x3FFをEEPROMデータとして書き込む。

ダウンロード先

Bequest333のページ(別館)

http://hp.vector.co.jp/authors/VA058115/

https://drive.google.com/file/d/1CWCt64EtAR7mT__-WSNoJrbq_vwNcRBy/view?usp=drivesdk


PIC18F14K50テストプログラム
img_20131113-152745.jpg

メモリマップとソースコード変更点
img_20131113-152827.jpg

機能1.EEPROMへの書き込み
img_20131114-010527.jpg

機能2.EEPROMの消去と読み出し
img_20131113-152941.jpg

機能3.EEPROMの初期化
img_20131113-153011.jpg

















































.