PIC12F683-E/MD MICROCHIP [Microchip Technology], PIC12F683-E/MD Datasheet - Page 97

no-image

PIC12F683-E/MD

Manufacturer Part Number
PIC12F683-E/MD
Description
8-Pin Flash-Based, 8-Bit CMOS Microcontrollers with nanoWatt Technology
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC12F683-E/MD
Manufacturer:
ZETEX
Quantity:
1 100
Part Number:
PIC12F683-E/MD
Manufacturer:
MICROCHIP原装
Quantity:
20 000
12.5
During an interrupt, only the return PC value is saved
on the stack. Typically, users may wish to save key
registers during an interrupt (e.g., W and STATUS
registers). This must be implemented in software.
Since the lower 16 bytes of all banks are common in the
PIC12F683 (see Figure 2-2), temporary holding regis-
ters, W_TEMP and STATUS_TEMP, should be placed
in here. These 16 locations do not require banking and
therefore, makes it easier to context save and restore.
The same code shown in Example 12-1 can be used
to:
• Store the W register.
• Store the STATUS register.
• Execute the ISR code.
• Restore the Status (and Bank Select Bit register).
• Restore the W register.
EXAMPLE 12-1:
© 2007 Microchip Technology Inc.
MOVWF
SWAPF
MOVWF
:
:(ISR)
:
SWAPF
MOVWF
SWAPF
SWAPF
Context Saving During Interrupts
W_TEMP
STATUS,W
STATUS_TEMP
STATUS_TEMP,W
STATUS
W_TEMP,F
W_TEMP,W
SAVING STATUS AND W REGISTERS IN RAM
;Copy W to TEMP register
;Swap status to be saved into W
;Swaps are used because they do not affect the status bits
;Save status to bank zero STATUS_TEMP register
;Insert user code here
;Swap STATUS_TEMP register into W
;(sets bank to original state)
;Move W into STATUS register
;Swap W_TEMP
;Swap W_TEMP into W
Note:
The PIC12F683 normally does not require
saving the PCLATH. However, if com-
puted GOTO’s are used in the ISR and the
main code, the PCLATH must be saved
and restored in the ISR.
PIC12F683
DS41211D-page 95

Related parts for PIC12F683-E/MD