23. EEPROM Data Memory
This feature is available only for the AT89C51ED2 device.
The 2K bytes on-chip EEPROM memory block is located at addresses 0000h to 07FFh of the
XRAM/ERAM memory space and is selected by setting control bits in the EECON register.
A read or write access to the EEPROM memory is done with a MOVX instruction.
23.1 Write Data
Data is written by byte to the EEPROM memory block as for an external RAM memory.
The following procedure is used to write to the EEPROM memory:
? Check EEBUSY flag
? If the user application interrupts routines use XRAM memory space: Save and disable
interrupts.
? Load DPTR with the address to write
? Store A register with the data to be written
? Set bit EEE of EECON register
? Execute a MOVX @DPTR, A
? Clear bit EEE of EECON register
? Restore interrupts.
? EEBUSY flag in EECON is then set by hardware to indicate that programming is in progress
and that the EEPROM segment is not available for reading or writing.
? The end of programming is indicated by a hardware clear of the EEBUSY flag.
23.2 Read Data
The following procedure is used to read the data stored in the EEPROM memory:
? Check EEBUSY flag
? If the user application interrupts routines use XRAM memory space: Save and disable
interrupts.
? Load DPTR with the address to read
? Set bit EEE of EECON register
? Execute a MOVX A, @DPTR
? Clear bit EEE of EECON register
? Restore interrupts.