PIC16F87X
TABLE 2-1:
SPECIAL FUNCTION REGISTER SUMMARY (CONTINUED)
Value on
all other
resets
(2)
Value on:
POR,
BOR
Addres
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
s
Bank 1
80h(4)
INDF
Addressing this location uses contents of FSR to address data memory (not a physical register)
0000 0000 0000 0000
1111 1111 1111 1111
OPTION_R
EG
81h
RBPU
INTEDG
T0CS
T0SE
PSA
PS2
PS1
PS0
82h(4)
83h(4)
PCL
Program Counter’s (PC) Least Significant Byte
IRP RP1 RP0 TO
Indirect data memory address pointer
PORTA Data Direction Register
0000 0000 0000 0000
0001 1xxx 000q quuu
STATUS
PD
Z
DC
C
84h(4)
85h
FSR
xxxx xxxx uuuu uuuu
--11 1111 --11 1111
1111 1111 1111 1111
1111 1111 1111 1111
1111 1111 1111 1111
TRISA
TRISB
TRISC
TRISD
—
—
86h
PORTB Data Direction Register
PORTC Data Direction Register
PORTD Data Direction Register
87h
88h(5)
89h(5)
TRISE
PCLATH
INTCON
PIE1
IBF
—
OBF
—
IBOV
—
PSPMODE
—
PORTE Data Direction Bits
0000 -111 0000 -111
---0 0000 ---0 0000
0000 000x 0000 000u
8Ah(1,4)
Write Buffer for the upper 5 bits of the Program Counter
8Bh(4)
8Ch
GIE
PEIE
ADIE
T0IE
RCIE
INTE
TXIE
RBIE
T0IF
INTF
RBIF
PSPIE(3)
SSPIE
CCP1IE
TMR2IE
TMR1IE 0000 0000 0000 0000
CCP2IE -r-0 0--0 -r-0 0--0
8Dh
8Eh
8Fh
90h
91h
92h
93h
PIE2
—
—
(6)
—
—
EEIE
—
BCLIE
—
—
—
—
PCON
—
—
POR
BOR
---- --qq ---- --uu
Unimplemented
Unimplemented
—
—
—
—
—
SSPCON2
PR2
GCEN
ACKSTAT
ACKDT
ACKEN
RCEN
PEN
R/W
RSEN
UA
SEN
0000 0000 0000 0000
1111 1111 1111 1111
0000 0000 0000 0000
0000 0000 0000 0000
Timer2 Period Register
Synchronous Serial Port (I2C mode) Address Register
SSPADD
94h
95h
96h
97h
98h
99h
9Ah
9Bh
9Ch
9Dh
9Eh
9Fh
SSPSTAT
SMP
CKE
D/A
P
S
BF
—
Unimplemented
Unimplemented
Unimplemented
CSRC
—
—
—
—
—
—
—
—
TXSTA
SPBRG
—
TX9
TXEN
SYNC
—
BRGH
TRMT
TX9D
0000 -010 0000 -010
0000 0000 0000 0000
Baud Rate Generator Register
Unimplemented
—
—
—
—
—
—
—
—
—
Unimplemented
—
Unimplemented
—
Unimplemented
ADRESL
ADCON1
A/D Result Register Low Byte
xxxx xxxx uuuu uuuu
PCFG0 0---0000 0---0000
ADFM
—
—
—
PCFG3
PCFG2
PCFG1
Legend: x= unknown, u= unchanged, q= value depends on condition, - = unimplemented read as ’0’, r = reserved.
Shaded locations are unimplemented, read as ‘0’.
Note 1: The upper byte of the program counter is not directly accessible. PCLATH is a holding register for the PC<12:8> whose
contents are transferred to the upper byte of the program counter.
2: Other (non power-up) resets include external reset through MCLR and Watchdog Timer Reset.
3: Bits PSPIE and PSPIF are reserved on the 28-pin devices; always maintain these bits clear.
4: These registers can be addressed from any bank.
5: PORTD, PORTE, TRISD, and TRISE are not physically implemented on the 28-pin devices, read as ‘0’.
6: PIR2<6> and PIE2<6> are reserved on these devices; always maintain these bits clear.
DS30292B-page 16
1999 Microchip Technology Inc.