![Microchip Technology PIC12F1501 Manual Download Page 92](http://html1.mh-extra.com/html/microchip-technology/pic12f1501/pic12f1501_manual_1785833092.webp)
2011-2015 Microchip Technology Inc.
DS40001609E-page 93
PIC16(L)F1508/9
10.2.2
FLASH MEMORY UNLOCK
SEQUENCE
The unlock sequence is a mechanism that protects the
Flash program memory from unintended self-write pro-
gramming or erasing. The sequence must be executed
and completed without interruption to successfully
complete any of the following operations:
• Row Erase
• Load program memory write latches
• Write of program memory write latches to
program memory
• Write of program memory write latches to User
IDs
The unlock sequence consists of the following steps:
1. Write 55h to PMCON2
2. Write AAh to PMCON2
3. Set the WR bit in PMCON1
4.
NOP
instruction
5.
NOP
instruction
Once the WR bit is set, the processor will always force
two
NOP
instructions. When an Erase Row or Program
Row operation is being performed, the processor will stall
internal operations (typical 2 ms), until the operation is
complete and then resume with the next instruction.
When the operation is loading the program memory write
latches, the processor will always force the two
NOP
instructions and continue uninterrupted with the next
instruction.
Since the unlock sequence must not be interrupted,
global interrupts should be disabled prior to the unlock
sequence and re-enabled after the unlock sequence is
completed.
FIGURE 10-3:
FLASH PROGRAM
MEMORY UNLOCK
SEQUENCE FLOWCHART
Start
Unlock Sequence
End
Unlock Sequence
Write 0x55 to
PMCON2
Write 0xAA to
PMCON2
Initiate
Write or Erase operation
(WR =
1
)
Instruction fetched ignored
NOP
execution forced
Instruction fetched ignored
NOP
execution forced
Rev. 10-000047A
7/30/2013