PIC內(nèi)部EEPROM讀寫
從EEPROM中讀取數(shù)據(jù)步驟:
1、把地址寫入到地址寄存器EEADR中,注意該地址不能超過所用PIC1687X型號單片機內(nèi)部EEPROM實際容量。
2、把控制位EEPGD清零,以選定讀取對象為EEPROM數(shù)據(jù)存儲器。
3、把控制位RD置1,啟動本次讀操作。
4、讀取已經(jīng)反饋到EEDATA寄存器中的數(shù)據(jù)。
寫EEPROM數(shù)據(jù)存儲器的操作步驟:
1、確保目前的WR=0;假如WR=1,表明一次寫操作正在進(jìn)行,需要查詢等待。
2、把地址送入EEADR中,并且確保地址不會超出目標(biāo)單片機內(nèi)部EEPROM的最大地址范圍。
3、把準(zhǔn)備燒寫的8位數(shù)據(jù)送入EEDATA中。
4、清除控制位EEPGD,以指定EEPROM作為燒寫對象。
5、把寫使能位WREN置1,允許后面進(jìn)行寫操作。
6、清除全局中斷控制位GIE,關(guān)閉所有中斷請求。
7、執(zhí)行專用的“5指令序列”,這5條指令是廠家規(guī)定的規(guī)定搭配,絲毫不能更改。用1條移動指令把55H寫入到W,用1條移動指令再把w中的55H轉(zhuǎn)入控制寄存器EECON2中,用1條移動指令把AAH寫入W,用1條移動指令再把W中的AAH轉(zhuǎn)入控制寄存器EECON2中。
8、全局中斷控制位GIE置1,放開總中斷屏蔽位(如果打算利用EEIF中斷功能)。
9、清除寫操作允許位WREN,在本次寫操作沒有完畢之前禁止重開新的一次寫操作。
10、當(dāng)寫操作完成時,控制位WR被硬件自動清零0,