Datasheet
PIC17C4X
DS30412C-page 24
1996 Microchip Technology Inc.
5.3 P
eripheral Interrupt Request Register
(PIR)
This register contains the individual flag bits for the
peripheral interrupts.
Note:
These bits will be set by the specified con-
dition, even if the corresponding interrupt
enable bit is cleared (interrupt disabled), or
the GLINTD bit is set (all interrupts dis-
abled). Before enabling an interrupt, the
user may wish to clear the interrupt flag to
ensure that the program does not immedi-
ately branch to the peripheral interrupt ser-
vice routine.
FIGURE 5-4: PIR REGISTER (ADDRESS: 16h, BANK 1)
R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R - 1 R - 0
RBIF TMR3IF TMR2IF TMR1IF CA2IF CA1IF TXIF RCIF
R = Readable bit
W = Writable bit
-n = Value at POR reset
bit7 bit0
bit 7:
RBIF
: PORTB Interrupt on Change Flag bit
1 = One of the PORTB inputs changed (Software must end the mismatch condition)
0 = None of the PORTB inputs have changed
bit 6:
TMR3IF
: Timer3 Interrupt Flag bit
If Capture1 is enabled (CA1/PR
3 = 1)
1 = Timer3 overflowed
0 = Timer3 did not overflow
If Capture1 is disabled (CA1/PR
3 = 0)
1 = Timer3 value has rolled over to 0000h from equalling the period register (PR3H:PR3L) value
0 = Timer3 value has not rolled over to 0000h from equalling the period register (PR3H:PR3L) value
bit 5:
TMR2IF
: Timer2 Interrupt Flag bit
1 = Timer2 value has rolled over to 0000h from equalling the period register (PR2) value
0 = Timer2 value has not rolled over to 0000h from equalling the period register (PR2) value
bit 4:
TMR1IF
: Timer1 Interrupt Flag bit
If Timer1 is in 8-bit mode (T16 = 0)
1 = Timer1 value has rolled over to 0000h from equalling the period register (PR) value
0 = Timer1 value has not rolled over to 0000h from equalling the period register (PR2) value
If Timer1 is in 16-bit mode (T16 = 1)
1 = TMR1:TMR2 value has rolled over to 0000h from equalling the period register (PR1:PR2) value
0 = TMR1:TMR2 value has not rolled over to 0000h from equalling the period register (PR1:PR2) value
bit 3:
CA2IF
: Capture2 Interrupt Flag bit
1 = Capture event occurred on RB1/CAP2 pin
0 = Capture event did not occur on RB1/CAP2 pin
bit 2:
CA1IF
: Capture1 Interrupt Flag bit
1 = Capture event occurred on RB0/CAP1 pin
0 = Capture event did not occur on RB0/CAP1 pin
bit 1:
TXIF
: USART Transmit Interrupt Flag bit
1 = Transmit buffer is empty
0 = Transmit buffer is full
bit 0:
RCIF
: USART Receive Interrupt Flag bit
1 = Receive buffer is full
0 = Receive buffer is empty