[EEPROM̶?]
EEPROM ٸ ʹ ߾ ִ ϱ , Ư¡ OFFǾ ֹ Ǿ ִٴ ̴.
, ٽ ⸦ ְ, Դٰ η ϴ Ķ δµ Ѵ.
[EEPROM ]
EEPROM 8Ʈ Ǿ , ִ 256Ʈ 뷮 , Ǿ ִ δ 64Ʈ̴.
Ʒ Ǿ , 4 Special Function Register(SFR) Ѵ.
, EEADR ͷ EEPROM 巹 ϰ, ʹ EEDATA Ϳ .
̶ Read/Write Ÿ̹ Ʈϴ EECON1 EECON2 ̴.
[ SFR ]EEPROM õǴ Special Function Register Ѵ.
(1) EEADR
1Ʈ read/write ͷ, EEPROM 巹 Ѵ.
8Ʈ̱ ᱹ 256Ʈ 巹 ִ.
(2) EEDATA
1Ʈ read/write ͷ, EEPROM оų ֱϴ ü ̷.
(3) EECON1
EEPROM read/write ϰų, ¸ ϱ ͷ Ʒ Ǿ ִ.
EEIF :ֱ Ϸ interrupt flag
ֱⰡ ϷǸ "1" Ǿ ͷƮ Ѵ
WRERR :ֱ error flag
ֱⰡ ߿ ߴܵǾ "1" ȴ.
ߴ OFF watchdog timer
WREN :ֱ ̳̺ "1" 㰡, "0"
WR :־
"1" ŸƮϰ ϸ ڵ Ŭȴ
RD :о
"1" ŸƮϰ ϸ ڵ Ŭȴ(4)EECON2
ͷμ ϴ ƴ϶, EEPROM ֱ ؼ ִ ̴. ON/OFF, EEPROM ̻ϰ ־ ϱ ؼ̴.
[EEPROM о ]
EEPROMκ о Ѵ.
켱, EEADRS 巹 Ʈϰ RD 1 ϸ EEDATA Ͱ .
о 1Ŭ Ϸϱ ϷḦ Ȯϴ ʿ.
MOVF E_ADRS,W ; 巹
MOVWF EEADR ;巹 EEADR Ʈ
BSF STATUS,RP0 ;PAGE1 ȯ
BSF EECON1,RD ;о
BCF STATUS,RP0 ;PAGE0 ư
MOVF EEDATA,W ;W Ϳ
[EEPROM ִ ]
EEPROM ִ ణ ŷο ʿϴ.
Դٰ, ֱ ϴ ð 10msec , ̳ Ĩ ̰ ִ. ֱⰡ ϷǾ Ȯ ʿ䰡 ִ.
ȴ.
Ư ֱ (Ʒ κ) Ư , ʿ䰡 ִ.
BCF STATUS,RP0 ;Set to page 0
MOVF E_ADRS,W ; 巹
MOVWF EEADR ;Address set
MOVF E_DATA,W ;ִ Ʈ
MOVWF EEDATA ;Data set
BSF STATUS,RP0 ;Set to Page 1
BSF EECON1,WREN ;Set WR Enable
MOVLW 55H ;Write Sequence
MOVWF EECON2 ;Start write
MOVLW 0AAH
MOVWF EECON2
BSF EECON1,WR ;Go write
WR_LP ;ֱ Ȯ
BTFS CEECON1,WR ;Check Write end
GOTO WR_LP
BCF STATUS,RP0 ;Return to page 0