DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

PIC16F688T-I/ST View Datasheet(PDF) - Microchip Technology

Part Name
Description
Manufacturer
PIC16F688T-I/ST Datasheet PDF : 202 Pages
First Prev 121 122 123 124 125 126 127 128 129 130 Next Last
PIC16F688
11.4 Context Saving 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 (e.g., W and Status
registers). This must be implemented in software.
Since the lower 16 bytes of all banks are common in the
PIC16F688 (see Figure 2-2), temporary holding
registers, W_TEMP and STATUS_TEMP, should be
placed in here. These 16 locations do not require
banking and therefore, make it easier to context save
and restore. The same code shown in Example 11-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
Note:
The PIC16F688 normally does not require
saving the PCLATH. However, if
computed GOTO’s are used in the ISR and
the main code, the PCLATH must be
saved and restored in the ISR.
EXAMPLE 11-1: SAVING STATUS AND W REGISTERS IN RAM
MOVWF W_TEMP
SWAPF STATUS,W
MOVWF
:
:(ISR)
:
SWAPF
STATUS_TEMP
STATUS_TEMP,W
MOVWF
SWAPF
SWAPF
STATUS
W_TEMP,F
W_TEMP,W
;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
DS41203D-page 122
© 2007 Microchip Technology Inc.

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]