Datasheet

PIC14000
DS40122B-page 84 Preliminary 1996 Microchip Technology Inc.
10.6.2 TIMER0 INTERRUPT
An overflow (FFh 00h) in Timer0 will set the T0IF
(INTCON<2>) flag. Setting T0IE (INTCON<5>)
enables the interrupt.
10.6.3 PORTC INTERRUPT ON CHANGE
An input change on PORTC<7:4> sets RCIF
(PIR1<2>). Setting RCIE (PIE1<2>) enables the inter-
rupt. For operation of PORTC, refer to Section 5.2.
Note: If a change on the I/O pin should occur
when the read operation is being executed
(start of the Q2 cycle), then the RCIF
interrupt flag may not be set.
10.6.4 CONTEXT SWITCHING DURING
INTERRUPTS
During an interrupt, only the return PC value is saved
on the stack. Typically, users may wish to save key
registers during an interrupt, for example, W register
and Status register. Example 10-1 is an example that
shows saving registers in RAM.
EXAMPLE 10-1: SAVING STATUS AND W REGISTERS IN RAM
MOVWF W_TEMP ;Copy W to TEMP register, could be any bank
SWAPF STATUS,W ;Swap status to be saved into W
BCF STATUS,RP1 ;Change to bank zero, regardless of current bank
BCF STATUS,RP0 ;
MOVWF STATUS_TEMP ;Save status to bank zero STATUS_TEMP register
:
:(ISR)
:
SWAPF STATUS_TEMP,W ;Swap STATUS_TEMP register into W
;(sets bank to original state)
MOVWF STATUS ;Move W into STATUS register
SWAPF W_TEMP,F ;Swap W_TEMP
SWAPF W_TEMP,W ;Swap W_TEMP into W