Datasheet
© 2009 Microchip Technology Inc. DS40044G-page 91
PIC16F627A/628A/648A
13.0 DATA EEPROM MEMORY
The EEPROM data memory is readable and writable
during normal operation (full V
DD range). This memory
is not directly mapped in the register file space. Instead
it is indirectly addressed through the Special Function
Registers (SFRs). There are four SFRs used to read
and write this memory. These registers are:
• EECON1
• EECON2 (Not a physically implemented register)
• EEDATA
• EEADR
EEDATA holds the 8-bit data for read/write and EEADR
holds the address of the EEPROM location being
accessed. PIC16F627A/628A devices have 128 bytes
of data EEPROM with an address range from 0h to
7Fh. The PIC16F648A device has 256 bytes of data
EEPROM with an address range from 0h to FFh.
The EEPROM data memory allows byte read and write.
A byte write automatically erases the location and
writes the new data (erase before write). The EEPROM
data memory is rated for high erase/write cycles. The
write time is controlled by an on-chip timer. The write
time will vary with voltage and temperature, as well as
from chip-to-chip. Please refer to AC specifications for
exact limits.
When the device is code-protected, the CPU can
continue to read and write the data EEPROM memory. A
device programmer can no longer access this memory.
Additional information on the data EEPROM is
available in the PIC
®
Mid-Range Reference Manual
(DS33023).
REGISTER 13-1: EEDATA – EEPROM DATA REGISTER (ADDRESS: 9Ah)
REGISTER 13-2: EEADR – EEPROM ADDRESS REGISTER (ADDRESS: 9Bh)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 EEDAT2 EEDAT1 EEDAT0
bit 7 bit 0
bit 7-0 EEDATn: Byte value to Write to or Read from data EEPROM memory location.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EADR7 EADR6 EADR5 EADR4 EADR3 EADR2 EADR1 EADR0
bit 7 bit 0
bit 7 PIC16F627A/628A
Unimplemented Address: Must be set to ‘0’
PIC16F648A
EEADR: Set to ‘1’ specifies top 128 locations (128-255) of EEPROM Read/Write Operation
bit 6-0 EEADR: Specifies one of 128 locations of EEPROM Read/Write Operation
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown