MCP1631RD-MCC2 Microchip Technology, MCP1631RD-MCC2 Datasheet - Page 225

REFERENCE DESIGN MCP1631HV

MCP1631RD-MCC2

Manufacturer Part Number
MCP1631RD-MCC2
Description
REFERENCE DESIGN MCP1631HV
Manufacturer
Microchip Technology

Specifications of MCP1631RD-MCC2

Main Purpose
Power Management, Battery Charger
Embedded
Yes, MCU, 8-Bit
Utilized Ic / Part
MCP1631HV, PIC16F883
Primary Attributes
1 ~ 2 Cell- Li-Ion, 1 ~ 5 Cell- NiCd/NiMH, 1 ~ 2 1W LEDs
Secondary Attributes
Status LEDs
Silicon Manufacturer
Microchip
Application Sub Type
Battery Charger
Kit Application Type
Power Management - Battery
Silicon Core Number
MCP1631HV, PIC16F883
Kit Contents
Board
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
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 com-
mon
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:
© 2009 Microchip Technology Inc.
Note:
MOVWF W_TEMP
SWAPF STATUS,W
MOVWF STATUS_TEMP
:
:(ISR)
:
SWAPF STATUS_TEMP,W
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
in
Context Saving During Interrupts
the
The
mally 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.
PIC16F882/883/884/886/887
PIC16F882/883/884/886/887
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
PIC16F882/883/884/886/887
nor-
(see
DS41291F-page 223

Related parts for MCP1631RD-MCC2