
PIC16F87X
DS30292B-page 22
1999 Microchip Technology Inc.
2.2.2.5
PIR1 REGISTER
The PIR1 register contains the individual flag bits for
the peripheral interrupts.
REGISTER 2-5:
PIR1 REGISTER (ADDRESS 0Ch)
Note:
Interrupt flag bits get set when an interrupt
condition occurs, regardless of the state of
its corresponding enable bit or the global
enable bit, GIE (INTCON<7>). User soft-
ware should ensure the appropriate inter-
rupt bits are clear prior to enabling an
interrupt.
R/W-0
PSPIF
(1)
ADIF
bit7
R/W-0
R-0
RCIF
R-0
TXIF
R/W-0
SSPIF
R/W-0
CCP1IF
R/W-0
TMR2IF TMR1IF
R/W-0
R = Readable bit
W = Writable bit
- n= Value at POR reset
bit0
bit 7:
PSPIF
(1)
:
Parallel Slave Port Read/Write Interrupt Flag bit
1
= A read or a write operation has taken place (must be cleared in software)
0
= No read or write has occurred
ADIF
: A/D Converter Interrupt Flag bit
1
= An A/D conversion completed
0
= The A/D conversion is not complete
RCIF
: USART Receive Interrupt Flag bit
1
= The USART receive buffer is full
0
= The USART receive buffer is empty
TXIF
: USART Transmit Interrupt Flag bit
1
= The USART transmit buffer is empty
0
= The USART transmit buffer is full
SSPIF
: Synchronous Serial Port (SSP) Interrupt Flag
1
= The SSP interrupt condition has occurred, and must be cleared in software before returning from the interrupt ser-
vice routine. The conditions that will set this bit are:
SPI
A transmission/reception has taken place.
I
2
C Slave
A transmission/reception has taken place.
I
2
C Master
A transmission/reception has taken place.
The initiated start condition was completed by the SSP module.
The initiated stop condition was completed by the SSP module.
The initiated restart condition was completed by the SSP module.
The initiated acknowledge condition was completed by the SSP module.
A start condition occurred while the SSP module was idle (Multimaster system).
A stop condition occurred while the SSP module was idle (Multimaster system).
0
= No SSP interrupt condition has occurred.
CCP1IF
: CCP1 Interrupt Flag bit
Capture Mode
1
= A TMR1 register capture occurred (must be cleared in software)
0
= No TMR1 register capture occurred
Compare Mode
1
= A TMR1 register compare match occurred (must be cleared in software)
0
= No TMR1 register compare match occurred
PWM Mode
Unused in this mode
TMR2IF
: TMR2 to PR2 Match Interrupt Flag bit
1
= TMR2 to PR2 match occurred (must be cleared in software)
0
= No TMR2 to PR2 match occurred
TMR1IF
: TMR1 Overflow Interrupt Flag bit
1
= TMR1 register overflowed (must be cleared in software)
0
= TMR1 register did not overflow
Note 1:
PSPIF is reserved on 28-pin devices; always maintain this bit clear.
bit 6:
bit 5:
bit 4:
bit 7:
bit 2:
bit 1:
bit 0: