English
Language : 

PIC16LF1507 Datasheet, PDF (85/266 Pages) Microchip Technology – 20-Pin Flash, 8-Bit Microcontrollers
PIC16(L)F1507
FIGURE 10-2:
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
Flash ADDR
PC
PC + 1
PMADRH,PMADRL
PPCC++33
PC + 4
PC + 5
Flash Data
INSTR (PC)
INSTR (PC + 1) PMDATH,PMDATL INSTR (PC + 3) INSTR (PC + 4)
RD bit
INSTR(PC - 1)
executed here
BSF PMCON1,RD
executed here
INSTR(PC + 1)
instruction ignored
Forced NOP
executed here
INSTR(PC + 2)
instruction ignored
Forced NOP
executed here
INSTR(PC + 3)
executed here
INSTR(PC + 4)
executed here
PMDATH
PMDATL
Register
EXAMPLE 10-1: 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
MOVWF
PMADRL
PROG_ADDR_LO
PMADRL
PROG_ADDR_HI
PMADRH
; Select Bank for PMCON registers
;
; Store LSB of address
;
; Store MSB of address
BCF
PMCON1,CFGS
; Do not select Configuration Space
BSF
PMCON1,RD
; Initiate read
NOP
; Ignored (Figure 10-2)
NOP
; Ignored (Figure 10-2)
MOVF
MOVWF
MOVF
MOVWF
PMDATL,W
PROG_DATA_LO
PMDATH,W
PROG_DATA_HI
; Get LSB of word
; Store in user location
; Get MSB of word
; Store in user location
DS41586A-page 85
Preliminary
 2011 Microchip Technology Inc.