Datasheet

PIC12F635/PIC16F636/639
DS41232D-page 94 © 2007 Microchip Technology Inc.
9.5 Protection Against Spurious Write
There are conditions when the user may not want to
write to the data EEPROM memory. To protect against
spurious EEPROM writes, various mechanisms have
been built in. On power-up, WREN is cleared. Also, the
Power-up Timer (nominal 64 ms duration) prevents
EEPROM write.
The write initiate sequence and the WREN bit together
help prevent an accidental write during:
Brown-out
•Power Glitch
Software Malfunction
9.6 Data EEPROM Operation During
Code Protection
Data memory can be code-protected by programming
the CPD bit in the Configuration Word (Register 12-1)
to ‘0’.
When the data memory is code-protected, the CPU is
able to read and write data to the data EEPROM. It is
recommended to code-protect the program memory
when code-protecting data memory. This prevents
anyone from programming zeroes over the existing
code (which will execute as NOPs) to reach an added
routine, programmed in unused program memory,
which outputs the contents of data memory.
Programming unused locations in program memory to
0’ will also help prevent data memory code protection
from becoming breached.
TABLE 9-1: SUMMARY OF REGISTERS ASSOCIATED WITH DATA EEPROM
Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Value on
POR, BOR
Value on
all other
Resets
INTCON GIE PEIE
T0IE INTE RAIE T0IF INTF RAIF 0000 000x 0000 000x
PIR1 EEIF
LVDIF CRIF C2IF
(1)
C1IF OSFIF TMR1IF 0000 00-0 0000 00-0
PIE1
EEIE LVDIE CRIE C2IE
(1)
C1IE OSFIE —TMR1IE0000 00-0 0000 00-0
EEDAT EEDAT7 EEDAT6 EEDAT5 EEDAT4 EEDAT3 EEDAT2 EEDAT1 EEDAT0 0000 0000 0000 0000
EEADR EEADR7
(1)
EEADR6 EEADR5 EEADR4 EEADR3 EEADR2 EEADR1 EEADR0 0000 0000 0000 0000
EECON1
WRERR WREN WR RD ---- x000 ---- q000
EECON2 EEPROM Control Register 2 (not a physical register) ---- ---- ---- ----
Legend: x = unknown, u = unchanged, – = unimplemented read as ‘0’, q = value depends upon condition.
Shaded cells are not used by the data EEPROM module.
Note 1: PIC16F636/639 only.