Datasheet

Table Of Contents
2011-2013 Microchip Technology Inc. DS40001609C-page 101
PIC16(L)F1508/9
FIGURE 10-6: FLASH PROGRAM MEMORY WRITE FLOWCHART
Start
Write Operation
End
Write Operation
CPU stalls while Write
operation completes
(2 ms typical)
No delay when writing to
Program Memory Latches
Determine number of
words to be written into
Program or Configuration
Memory. The number of
words cannot exceed the
number of words per row
(word_cnt)
Last word to
write ?
Disable Interrupts
(GIE = 0)
Select
Program or Config.
Memory (CFGS)
Select Row Address
(PMADRH:PMADRL)
Select Write Operation
(FREE = 0)
Load Write Latches Only
(LWLO = 1)
Enable Write/Erase
Operation (WREN = 1)
Load the value to write
(PMDATH:PMDATL)
Update the word counter
(word_cnt--)
Unlock Sequence
(See Note 1)
Increment Address
(PMADRH:PMADRL++)
Write Latches to Flash
(LWLO = 0)
Unlock Sequence
(See Note 1)
Disable Write/Erase
Operation (WREN = 0)
Re-enable Interrupts
(GIE = 1)
Yes
No
Rev. 10-000049A
7/30/2013
Note 1: See Figure 10-3.