PIC12F/LF1822/16F/LF1823
EXAMPLE 11-3: FLASH PROGRAM MEMORY READ
* This code block will read 1 word of program
* memory at the memory address:
PROG_ADDR_HI : PROG_ADDR_LO
* data will be returned in the variables;
* PROG_DATA_HI, PROG_DATA_LO
BANKSEL
MOVLW
MOVWF
MOVLW
MOVWL
EEADRL
PROG_ADDR_LO
EEADRL
PROG_ADDR_HI
EEADRH
; Select Bank for EEPROM registers
;
; Store LSB of address
;
; Store MSB of address
BCF
EECON1,CFGS
; Do not select Configuration Space
BSF
EECON1,EEPGD
; Select Program Memory
BCF
INTCON,GIE
; Disable interrupts
BSF
EECON1,RD
; Initiate read
NOP
; Executed (Figure 11-1)
NOP
; Ignored (Figure 11-1)
BSF
INTCON,GIE
; Restore interrupts
MOVF
MOVWF
MOVF
MOVWF
EEDATL,W
PROG_DATA_LO
EEDATH,W
PROG_DATA_HI
; Get LSB of word
; Store in user location
; Get MSB of word
; Store in user location
2010 Microchip Technology Inc.
Preliminary
DS41413A-page 107