
2007 Microchip Technology Inc.
Preliminary
DS39775B-page 79
PIC18F87J50 FAMILY
5.3.5
SPECIAL FUNCTION REGISTERS
The Special Function Registers (SFRs) are registers
used by the CPU and peripheral modules for controlling
the desired operation of the device. These registers are
implemented as static RAM. SFRs start at the top of
data memory (FFFh) and extend downward to occupy
more than the top half of Bank 15 (F40h to FFFh). A list
of these registers is given inTable 5-3, Table 5-4 and
Table 5-5.
The SFRs can be classified into two sets: those
associated with the “core” device functionality (ALU,
Resets and interrupts) and those related to the
peripheral functions. The Reset and interrupt registers
are described in their respective chapters, while the
ALU’s STATUS register is described later in this
section. Registers related to the operation of the
peripheral features are described in the chapter for that
peripheral.
The SFRs are typically distributed among the
peripherals whose functions they control. Unused SFR
locations are unimplemented and read as ‘
0
’s
Note:
Addresses, F40h through F5Fh, are not
part of the Access Bank, therefore specify-
ing a BSR should be used to access these
registers.
TABLE 5-3:
SPECIAL FUNCTION REGISTER MAP FOR PIC18F87J50 FAMILY DEVICES
Address
Name
Address
Name
Address
Name
Address
Name
Address
Name
Address
Name
FFFh
TOSU
FDFh
INDF2
(1)
POSTINC2
(1)
POSTDEC2
(1)
PREINC2
(1)
PLUSW2
(1)
FBFh
ECCP1AS
F9Fh
IPR1
F7Fh
SPBRGH1
F5Fh
UCFG
FFEh
TOSH
FDEh
FBEh
ECCP1DEL
F9Eh
PIR1
F7Eh
BAUDCON1
F5Eh
UADDR
FFDh
TOSL
FDDh
FBDh
CCPR1H
F9Dh
PIE1
F7Dh
SPBRGH2
F5Dh
UEIE
FFCh
STKPTR
FDCh
FBCh
CCPR1L
F9Ch
RCSTA2
F7Ch
BAUDCON2
F5Ch
UIE
FFBh
PCLATU
FDBh
FBBh
CCP1CON
F9Bh
OSCTUNE
TRISJ
(2)
TRISH
(2)
F7Bh
TMR3H
F5Bh
UEP15
FFAh
PCLATH
FDAh
FSR2H
FBAh
ECCP2AS
F9Ah
F7Ah
TMR3L
F5Ah
UEP14
FF9h
PCL
FD9h
FSR2L
FB9h
ECCP2DEL
F99h
F79h
T3CON
F59h
UEP13
FF8h
TBLPTRU
FD8h
STATUS
FB8h
CCPR2H
F98h
TRISG
F78h
TMR4
PR4
(3)
F58h
UEP12
FF7h
TBLPTRH
FD7h
TMR0H
FB7h
CCPR2L
F97h
TRISF
F77h
F57h
UEP11
FF6h
TBLPTRL
FD6h
TMR0L
FB6h
CCP2CON
F96h
TRISE
F76h
T4CON
F56h
UEP10
FF5h
TABLAT
FD5h
T0CON
FB5h
ECCP3AS
F95h
TRISD
F75h
CCPR4H
F55h
UEP9
FF4h
PRODH
FD4h
FB4h
ECCP3DEL
F94h
TRISC
F74h
CCPR4L
F54h
UEP8
FF3h
PRODL
FD3h
OSCCON
(3)
FB3h
CCPR3H
F93h
TRISB
F73h
CCP4CON
F53h
UEP7
FF2h
INTCON
FD2h
CM1CON
FB2h
CCPR3L
F92h
TRISA
LATJ
(2)
LATH
(2)
F72h
CCPR5H
F52h
UEP6
FF1h
INTCON2
FD1h
CM2CON
FB1h
CCP3CON
F91h
F71h
CCPR5L
F51h
UEP5
FF0h
INTCON3
INDF0
(1)
POSTINC0
(1)
POSTDEC0
(1)
PREINC0
(1)
PLUSW0
(1)
FD0h
RCON
TMR1H
(3)
TMR1L
(3)
T1CON
(3)
TMR2
(3)
PR2
(3)
FB0h
SPBRG1
F90h
F70h
CCP5CON
F50h
UEP4
FEFh
FCFh
FAFh
RCREG1
F8Fh
LATG
F6Fh
SSP2BUF
F4Fh
UEP3
FEEh
FCEh
FAEh
TXREG1
F8Eh
LATF
F6Eh
SSP2ADD
F4Eh
UEP2
FEDh
FCDh
FADh
TXSTA1
F8Dh
LATE
F6Dh
SSP2STAT
F4Dh
UEP1
FECh
FCCh
FACh
RCSTA1
F8Ch
LATD
F6Ch
SSP2CON1
F4Ch
UEP0
FEBh
FCBh
FABh
SPBRG2
F8Bh
LATC
F6Bh
SSP2CON2
F4Bh
PMCONH
FEAh
FSR0H
FCAh
T2CON
FAAh
RCREG2
F8Ah
LATB
F6Ah
CMSTAT
PMADDRH
(4)
PMADDRL
(4)
F4Ah
PMCONL
FE9h
FSR0L
FC9h
SSP1BUF
FA9h
TXREG2
F89h
LATA
PORTJ
(2)
PORTH
(2)
F69h
F49h
PMMODEH
FE8h
WREG
INDF1
(1)
POSTINC1
(1)
POSTDEC1
(1)
PREINC1
(1)
PLUSW1
(1)
FC8h
SSP1ADD
FA8h
TXSTA2
F88h
F68h
F48h
PMMODEL
FE7h
FC7h
SSP1STAT
FA7h
EECON2
F87h
F67h
PMDIN1H
F47h PMDOUT2H
FE6h
FC6h
SSP1CON1
FA6h
EECON1
F86h
PORTG
F66h
PMDIN1L
F46h
PMDOUT2L
FE5h
FC5h
SSP1CON2
FA5h
IPR3
F85h
PORTF
F65h
UCON
F45h
PMDIN2H
FE4h
FC4h
ADRESH
FA4h
PIR3
F84h
PORTE
F64h
USTAT
F44h
PMDIN2L
FE3h
FC3h
ADRESL
ADCON0
(3)
ADCON1
(3)
FA3h
PIE3
F83h
PORTD
F63h
UEIR
F43h
PMEH
FE2h
FSR1H
FC2h
FA2h
IPR2
F82h
PORTC
F62h
UIR
F42h
PMEL
FE1h
FSR1L
FC1h
FA1h
PIR2
F81h
PORTB
F61h
UFRMH
F41h
PMSTATH
FE0h
BSR
FC0h
WDTCON
FA0h
PIE2
F80h
PORTA
F60h
UFRML
F40h
PMSTATL
Note
1:
2:
3:
4:
This is not a physical register.
This register is not available on 64-pin devices.
This register shares the same address with another register (see Table 5-4 for alternate register).
PMADDRH and PMDOUTH share the same address and PMADDRL and PMDOUTL share the same address. PMADDRx is used in Master
modes and PMDOUTx is used in Slave modes.