Microchip Technology IC MCU OTP 2KX PIC17C42A-16/P DIP-40 MCP PIC17C42A-16/P Scheda Tecnica
Codici prodotto
PIC17C42A-16/P
PIC17C4X
DS30412C-page 48
1996 Microchip Technology Inc.
7.3
Table Reads
The table read allows the program memory to be read.
This allows constant data to be stored in the program
memory space, and retrieved into data memory when
needed. Example 7-2 reads the 16-bit value at pro-
gram memory address TBLPTR. After the dummy byte
has been read from the TABLATH, the TABLATH is
loaded with the 16-bit data from program memory
address TBLPTR + 1. The first read loads the data into
the latch, and can be considered a dummy read
(unknown data loaded into 'f'). INDF0 should be con-
figured for either auto-increment or auto-decrement.
This allows constant data to be stored in the program
memory space, and retrieved into data memory when
needed. Example 7-2 reads the 16-bit value at pro-
gram memory address TBLPTR. After the dummy byte
has been read from the TABLATH, the TABLATH is
loaded with the 16-bit data from program memory
address TBLPTR + 1. The first read loads the data into
the latch, and can be considered a dummy read
(unknown data loaded into 'f'). INDF0 should be con-
figured for either auto-increment or auto-decrement.
EXAMPLE 7-2:
TABLE READ
MOVLW HIGH (TBL_ADDR) ; Load the Table
MOVWF TBLPTRH ; address
MOVLW LOW (TBL_ADDR) ;
MOVWF TBLPTRL ;
TABLRD 0,0,DUMMY ; Dummy read,
; Updates TABLATCH
TLRD 1, INDF0 ; Read HI byte
; of TABLATCH
TABLRD 0,1,INDF0 ; Read LO byte
; of TABLATCH and
; Update TABLATCH
FIGURE 7-7:
TABLRD TIMING
FIGURE 7-8:
TABLRD TIMING (CONSECUTIVE TABLRD INSTRUCTIONS)
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
AD15:AD0
Instruction
fetched
fetched
Instruction
executed
executed
ALE
OE
WR
TABLRD
INST (PC+1)
INST (PC+2)
INST (PC-1)
TABLRD cycle1
TABLRD cycle2
INST (PC+1)
Data read cycle
PC
PC+1
TBL
Data in
PC+2
'1'
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
AD15:AD0
Instruction
fetched
fetched
Instruction
executed
executed
TABLRD1
TABLRD2
INST (PC+2)
INST (PC+3)
INST (PC+2)
ALE
OE
WR
INST (PC-1)
TABLRD1 cycle1 TABLRD1 cycle2 TABLRD2 cycle1 TABLRD2 cycle2
Data read cycle
Data read cycle
'1'
PC
PC+1
PC+2
PC+3
TBL1 Data in 1
TBL2
Data in 2