PIC16F877 registers All 55 registers by peripheral, at their data-memory address as the register file map gives it (bank and offset), with their reset value and every bit.
CPU CPU core INDF
Address 0x00
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – PCL
Address 0x02
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 IRP 6 RP1 5 RP0 4 nTO 3 nPD 2 Z 1 DC 0 C 7 fields
Field Bits What it does IRP 7 RP 6:5 nTO 4 nPD 3 Z 2 DC 1 C 0
7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – PCLATH
Address 0x0A
Reset 0x00
Access read/write 7 – 6 – 5 – 4 PCLATH4 3 PCLATH3 2 PCLATH2 1 PCLATH1 0 PCLATH0 1 field
Field Bits What it does PCLATH 4:0
TMR0 Timer0 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OPTION_REG
Address 0x81
Reset 0xFF
Access read/write 7 nRBPU 6 INTEDG 5 T0CS 4 T0SE 3 PSA 2 PS2 1 PS1 0 PS0 6 fields
Field Bits What it does nRBPU 7 INTEDG 6 T0CS 5 T0SE 4 PSA 3 PS 2:0
PORTA I/O port A 7 – 6 – 5 RA5 4 RA4 3 RA3 2 RA2 1 RA1 0 RA0 6 fields
Field Bits What it does RA5 5 RA4 4 RA3 3 RA2 2 RA1 1 RA0 0
TRISA
Address 0x85
Reset 0x3F
Access read/write 7 – 6 – 5 TRISA5 4 TRISA4 3 TRISA3 2 TRISA2 1 TRISA1 0 TRISA0 6 fields
Field Bits What it does TRISA5 5 TRISA4 4 TRISA3 3 TRISA2 2 TRISA1 1 TRISA0 0
PORTB I/O port B 7 RB7 6 RB6 5 RB5 4 RB4 3 RB3 2 RB2 1 RB1 0 RB0 8 fields
Field Bits What it does RB7 7 RB6 6 RB5 5 RB4 4 RB3 3 RB2 2 RB1 1 RB0 0
TRISB
Address 0x86
Reset 0xFF
Access read/write 7 TRISB7 6 TRISB6 5 TRISB5 4 TRISB4 3 TRISB3 2 TRISB2 1 TRISB1 0 TRISB0 8 fields
Field Bits What it does TRISB7 7 TRISB6 6 TRISB5 5 TRISB4 4 TRISB3 3 TRISB2 2 TRISB1 1 TRISB0 0
PORTC I/O port C 7 RC7 6 RC6 5 RC5 4 RC4 3 RC3 2 RC2 1 RC1 0 RC0 8 fields
Field Bits What it does RC7 7 RC6 6 RC5 5 RC4 4 RC3 3 RC2 2 RC1 1 RC0 0
TRISC
Address 0x87
Reset 0xFF
Access read/write 7 TRISC7 6 TRISC6 5 TRISC5 4 TRISC4 3 TRISC3 2 TRISC2 1 TRISC1 0 TRISC0 8 fields
Field Bits What it does TRISC7 7 TRISC6 6 TRISC5 5 TRISC4 4 TRISC3 3 TRISC2 2 TRISC1 1 TRISC0 0
PORTD I/O port D 7 RD7 6 RD6 5 RD5 4 RD4 3 RD3 2 RD2 1 RD1 0 RD0 8 fields
Field Bits What it does RD7 7 RD6 6 RD5 5 RD4 4 RD3 3 RD2 2 RD1 1 RD0 0
TRISD
Address 0x88
Reset 0xFF
Access read/write 7 TRISD7 6 TRISD6 5 TRISD5 4 TRISD4 3 TRISD3 2 TRISD2 1 TRISD1 0 TRISD0 8 fields
Field Bits What it does TRISD7 7 TRISD6 6 TRISD5 5 TRISD4 4 TRISD3 3 TRISD2 2 TRISD1 1 TRISD0 0
PORTE I/O port E 7 – 6 – 5 – 4 – 3 – 2 RE2 1 RE1 0 RE0 3 fields
Field Bits What it does RE2 2 RE1 1 RE0 0
TRISE
Address 0x89
Reset 0x07
Access read/write 7 IBF 6 OBF 5 IBOV 4 PSPMODE 3 – 2 TRISE2 1 TRISE1 0 TRISE0 7 fields
Field Bits What it does IBF 7 OBF 6 IBOV 5 PSPMODE 4 TRISE2 2 TRISE1 1 TRISE0 0
INTERRUPT Interrupts 7 GIE 6 PEIE 5 T0IE 4 INTE 3 RBIE 2 T0IF 1 INTF 0 RBIF 8 fields
Field Bits What it does GIE 7 PEIE 6 T0IE 5 INTE 4 RBIE 3 T0IF 2 INTF 1 RBIF 0
PIR1
Address 0x0C
Reset 0x00
Access read/write 7 PSPIF 6 ADIF 5 RCIF 4 TXIF 3 SSPIF 2 CCP1IF 1 TMR2IF 0 TMR1IF 8 fields
Field Bits What it does PSPIF 7 ADIF 6 RCIF 5 TXIF 4 SSPIF 3 CCP1IF 2 TMR2IF 1 TMR1IF 0
PIR2
Address 0x0D
Reset 0x00
Access read/write 7 – 6 – 5 – 4 EEIF 3 BCLIF 2 – 1 – 0 CCP2IF 3 fields
Field Bits What it does EEIF 4 BCLIF 3 CCP2IF 0
PIE1
Address 0x8C
Reset 0x00
Access read/write 7 PSPIE 6 ADIE 5 RCIE 4 TXIE 3 SSPIE 2 CCP1IE 1 TMR2IE 0 TMR1IE 8 fields
Field Bits What it does PSPIE 7 ADIE 6 RCIE 5 TXIE 4 SSPIE 3 CCP1IE 2 TMR2IE 1 TMR1IE 0
PIE2
Address 0x8D
Reset 0x00
Access read/write 7 – 6 – 5 – 4 EEIE 3 BCLIE 2 – 1 – 0 CCP2IE 3 fields
Field Bits What it does EEIE 4 BCLIE 3 CCP2IE 0
TMR1 Timer1 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – T1CON
Address 0x10
Reset 0x00
Access read/write 7 – 6 – 5 T1CKPS1 4 T1CKPS0 3 T1OSCEN 2 nT1SYNC 1 TMR1CS 0 TMR1ON 5 fields
Field Bits What it does T1CKPS 5:4 T1OSCEN 3 nT1SYNC 2 TMR1CS 1 TMR1ON 0
TMR2 Timer2 TMR2
Address 0x11
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – T2CON
Address 0x12
Reset 0x00
Access read/write 7 – 6 TOUTPS3 5 TOUTPS2 4 TOUTPS1 3 TOUTPS0 2 TMR2ON 1 T2CKPS1 0 T2CKPS0 3 fields
Field Bits What it does TOUTPS 6:3 TMR2ON 2 T2CKPS 1:0
PR2
Address 0x92
Reset 0xFF
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – MSSP Master synchronous serial port (SPI, I²C) 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SSPCON
Address 0x14
Reset 0x00
Access read/write 7 WCOL 6 SSPOV 5 SSPEN 4 CKP 3 SSPM3 2 SSPM2 1 SSPM1 0 SSPM0 5 fields
Field Bits What it does WCOL 7 SSPOV 6 SSPEN 5 CKP 4 SSPM 3:0
SSPCON2
Address 0x91
Reset 0x00
Access read/write 7 GCEN 6 ACKSTAT 5 ACKDT 4 ACKEN 3 RCEN 2 PEN 1 RSEN 0 SEN 8 fields
Field Bits What it does GCEN 7 ACKSTAT 6 ACKDT 5 ACKEN 4 RCEN 3 PEN 2 RSEN 1 SEN 0
SSPADD
Address 0x93
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SSPSTAT
Address 0x94
Reset 0x00
Access read/write 7 SMP 6 CKE 5 D/nA 4 P 3 S 2 R/nW 1 UA 0 BF 8 fields
Field Bits What it does SMP 7 CKE 6 D/nA 5 P 4 S 3 R/nW 2 UA 1 BF 0
CCP1 Capture/compare/PWM 1 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – CCP1CON
Address 0x17
Reset 0x00
Access read/write 7 – 6 – 5 CCP1X 4 CCP1Y 3 CCP1M3 2 CCP1M2 1 CCP1M1 0 CCP1M0 3 fields
Field Bits What it does CCP1X 5 CCP1Y 4 CCP1M 3:0
EUSART USART 7 SPEN 6 RX9 5 SREN 4 CREN 3 ADDEN 2 FERR 1 OERR 0 RX9D 8 fields
Field Bits What it does SPEN 7 RX9 6 SREN 5 CREN 4 ADDEN 3 FERR 2 OERR 1 RX9D 0
TXREG
Address 0x19
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – RCREG
Address 0x1A
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – TXSTA
Address 0x98
Reset 0x02
Access read/write 7 CSRC 6 TX9 5 TXEN 4 SYNC 3 – 2 BRGH 1 TRMT 0 TX9D 7 fields
Field Bits What it does CSRC 7 TX9 6 TXEN 5 SYNC 4 BRGH 2 TRMT 1 TX9D 0
SPBRG
Address 0x99
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – CCP2 Capture/compare/PWM 2 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – CCP2CON
Address 0x1D
Reset 0x00
Access read/write 7 – 6 – 5 CCP2X 4 CCP2Y 3 CCP2M3 2 CCP2M2 1 CCP2M1 0 CCP2M0 3 fields
Field Bits What it does CCP2X 5 CCP2Y 4 CCP2M 3:0
ADC Analog-to-digital converter 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – ADCON0
Address 0x1F
Reset 0x00
Access read/write 7 ADCS1 6 ADCS0 5 CHS2 4 CHS1 3 CHS0 2 GO/nDONE 1 – 0 ADON 4 fields
Field Bits What it does ADCS 7:6 CHS 5:3 GO/nDONE 2 ADON 0
7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – ADCON1
Address 0x9F
Reset 0x00
Access read/write 7 ADFM 6 – 5 – 4 – 3 PCFG3 2 PCFG2 1 PCFG1 0 PCFG0 2 fields
Field Bits What it does ADFM 7 PCFG 3:0
OSCILLATOR Oscillator, power control and watchdog 7 – 6 – 5 – 4 – 3 – 2 – 1 nPOR 0 nBOR 2 fields
Field Bits What it does nPOR 1 nBOR 0
NVM Data EEPROM and flash program memory 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – 7 EEPGD 6 – 5 – 4 – 3 WRERR 2 WREN 1 WR 0 RD 5 fields
Field Bits What it does EEPGD 7 WRERR 3 WREN 2 WR 1 RD 0
EECON2
Address 0x18D
Reset 0x00
Access write only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 –