PIC16F690-E/P Microchip Technology Inc., PIC16F690-E/P Datasheet - Page 209

no-image

PIC16F690-E/P

Manufacturer Part Number
PIC16F690-E/P
Description
20 PIN, 7 KB FLASH, 256 RAM, 18 I/O
Manufacturer
Microchip Technology Inc.
Datasheet

Specifications of PIC16F690-E/P

A/d Inputs
12-Channel, 10-Bit
Comparators
2
Cpu Speed
7 MIPS
Eeprom Memory
256 Bytes
Input Output
18
Interface
USART
Memory Type
Flash
Number Of Bits
8
Package Type
20-pin PDIP
Programmable Memory
7K Bytes
Ram Size
256 Bytes
Speed
20 MHz
Timers
2-8-bit, 1-16-bit
Voltage, Range
2-5.5 V
Lead Free Status / Rohs Status
RoHS Compliant part Electrostatic Device
14.4
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 upper 16 bytes of all GPR banks are common
in
Figures 2-2 and 2-3), 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 14-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 14-1:
© 2006 Microchip Technology Inc.
Note:
the
MOVWF W_TEMP
SWAPF STATUS,W
CLRF
MOVWF STATUS_TEMP
:
:(ISR)
:
SWAPF STATUS_TEMP,W
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
Context Saving During Interrupts
The
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.
PIC16F631/677/685/687/689/690
STATUS
PIC16F631/677/685/687/689/690
SAVING STATUS AND W REGISTERS IN RAM
PIC16F631/677/685/687/689/690
;
;
;
;
;Insert user code here
;
;(sets bank to original state)
;
;
;
Copy W to TEMP register
Swap status to be saved into W
bank 0, regardless of current bank, Clears IRP,RP1,RP0
Save status to bank zero STATUS_TEMP register
Swap STATUS_TEMP register into W
Move W into STATUS register
Swap W_TEMP
Swap W_TEMP into W
(see
Preliminary
DS41262C-page 207

Related parts for PIC16F690-E/P