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