Microchip Technology DM164130-7 Data Sheet

Page of 478
 2010-2012 Microchip Technology Inc.
DS41414D-page 113
PIC16(L)F1946/47
EXAMPLE 11-2:
DATA EEPROM WRITE 
FIGURE 11-1:
FLASH PROGRAM MEMORY READ CYCLE EXECUTION 
BANKSEL EEADRL
;
MOVLW
DATA_EE_ADDR
;
MOVWF
EEADRL
;Data Memory Address to write
MOVLW
DATA_EE_DATA
;
MOVWF
EEDATL      
;Data Memory Value to write
BCF
EECON1, CFGS
;Deselect Configuration space
BCF
EECON1, EEPGD
;Point to DATA memory
BSF
EECON1, WREN
;Enable writes
BCF
INTCON, GIE
;Disable INTs.
MOVLW
55h
;
MOVWF
EECON2
;Write 55h
MOVLW
0AAh
;
MOVWF
EECON2
;Write AAh
BSF
EECON1, WR
;Set WR bit to begin write
BSF
INTCON, GIE
;Enable Interrupts
BCF
EECON1, WREN
;Disable writes
BTFSC
EECON1, WR
;Wait for write to complete
GOTO
$-2
;Done
R
e
qui
re
d
S
e
qu
ence
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
BSF EECON1,RD
executed here
INSTR(PC + 1)
executed here
Forced NOP
executed here
PC
PC + 1
EEADRH,EEADRL
PC+3
PC + 5
Flash ADDR
RD bit
EEDATH,EEDATL
PC + 3
PC + 4
INSTR (PC + 1)
INSTR(PC - 1)
executed here
INSTR(PC + 3)
executed here
INSTR(PC + 4)
executed here
Flash Data
EEDATH
EEDATL
Register
INSTR (PC)
INSTR (PC + 3)
INSTR (PC + 4)