English
Language : 

PIC16LF1904 Datasheet, PDF (87/288 Pages) Microchip Technology – 28/40/44-Pin Flash-Based, 8-Bit CMOS Microcontrollers with LCD Driver and nanoWatt XLP Technology
PIC16LF1904/6/7
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
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 10-1)
NOP
; Ignored (Figure 10-1)
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
DS41569A-page 87