English
Language : 

PIC16LF1526 Datasheet, PDF (103/354 Pages) Microchip Technology – 64-Pin Flash Microcontrollers with nanoWatt XLP Technology
PIC16(L)F1526/27
FIGURE 11-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 11-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
MOVWL
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 11-2)
NOP
; Ignored (Figure 11-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
 2011 Microchip Technology Inc.
Preliminary
DS41458A-page 103