PIC10(L)F320/322
9.4 User ID, Device ID and
Configuration Word Access
Instead of accessing program memory, the User ID’s,
Device ID/Revision ID and Configuration Word can be
accessed when CFGS = 1 in the PMCON1 register.
This is the region that would be pointed to by
PC<13> = 1, but not all addresses are accessible.
Different access may exist for reads and writes. Refer
to Table 9-2.
When read access is initiated on an address outside
the parameters listed in Table 9-2, the
PMDATH:PMDATL register pair is cleared, reading
back ‘0’s.
TABLE 9-2: USER ID, DEVICE ID AND CONFIGURATION WORD ACCESS (CFGS = 1)
Address
2000h-2003h
2006h
2007h
Function
User IDs
Device ID/Revision ID
Configuration Word
Read Access
Yes
Yes
Yes
Write Access
Yes
No
No
EXAMPLE 9-4: CONFIGURATION WORD AND DEVICE ID ACCESS
* This code block will read 1 word of program memory at the memory address:
* PROG_ADDR_LO (must be 00h-08h) data will be returned in the variables;
* PROG_DATA_HI, PROG_DATA_LO
BANKSEL
MOVLW
MOVWF
CLRF
PMADRL
PROG_ADDR_LO
PMADRL
PMADRH
; not required on devices with 1 Bank of SFRs
;
; Store LSB of address
; Clear MSB of address
BSF
PMCON1,CFGS
; Select Configuration Space
BCF
INTCON,GIE
; Disable interrupts
BSF
PMCON1,RD
; Initiate read
NOP
; Executed (See Figure 9-2)
NOP
; Ignored (See Figure 9-2)
BSF
INTCON,GIE
; Restore interrupts
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-2015 Microchip Technology Inc.
DS40001585D-page 61