Electronic Components Datasheet Search
  English  ▼
ALLDATASHEET.NET

X  

PIC16F84A Datasheet(PDF) 139 Page - Microchip Technology

Part # PIC16F84A
Description  8-Bit CMOS Microcontrollers
PDF  337 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  MICROCHIP [Microchip Technology]
Direct Link  http://www.microchip.com
Logo MICROCHIP - Microchip Technology

PIC16F84A Datasheet(HTML) 139 Page - Microchip Technology

Back Button PIC16F84A Datasheet HTML 135Page - Microchip Technology PIC16F84A Datasheet HTML 136Page - Microchip Technology PIC16F84A Datasheet HTML 137Page - Microchip Technology PIC16F84A Datasheet HTML 138Page - Microchip Technology PIC16F84A Datasheet HTML 139Page - Microchip Technology PIC16F84A Datasheet HTML 140Page - Microchip Technology PIC16F84A Datasheet HTML 141Page - Microchip Technology PIC16F84A Datasheet HTML 142Page - Microchip Technology PIC16F84A Datasheet HTML 143Page - Microchip Technology Next Button
Zoom Inzoom in Zoom Outzoom out
 139 / 337 page
background image
© 1997 Microchip Technology Inc.
DS30234D-page 139
PIC16C6X
13.6
Context Saving During Interrupts
During an interrupt, only the return PC value is saved
on the stack. Typically, users may wish to save key reg-
isters during an interrupt i.e., W register and STATUS
register. This will have to be implemented in software.
Example 13-1 stores and restores the STATUS and W
registers. Example 13-2 stores and restores the
STATUS, W, and PCLATH registers (Devices with
paged program memory). For all PIC16C6X devices
with greater than 1K of program memory (all devices
except PIC16C61), the register, W_TEMP, must be
defined in all banks and must be defined at the same
offset from the bank base address (i.e., if W_TEMP is
defined at 0x20 in bank 0, it must also be defined at
0xA0 in bank 1, 0x120 in bank 2, and 0x1A0 in bank 3).
The examples:
a)
Stores the W register
b)
Stores the STATUS register in bank 0
c)
Stores PCLATH
d)
Executes ISR code
e)
Restores PCLATH
f)
Restores STATUS register (and bank select bit)
g)
Restores W register
Applicable Devices
61 62 62A R62 63 R63 64 64A R64 65 65A R65 66 67
EXAMPLE 13-1: SAVING STATUS AND W REGISTERS IN RAM (PIC16C61)
MOVWF
W_TEMP
;Copy W to TEMP register, could be bank one or zero
SWAPF
STATUS,W
;Swap status to be saved into W
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
EXAMPLE 13-2: SAVING STATUS, W, AND PCLATH REGISTERS IN RAM
(ALL OTHER PIC16C6X DEVICES)
MOVWF
W_TEMP
;Copy W to TEMP register, could be bank one or zero
SWAPF
STATUS,W
;Swap status to be saved into W
CLRF
STATUS
;bank 0, regardless of current bank, Clears IRP,RP1,RP0
MOVWF
STATUS_TEMP
;Save status to bank zero STATUS_TEMP register
MOVF
PCLATH, W
;Only required if using pages 1, 2 and/or 3
MOVWF
PCLATH_TEMP
;Save PCLATH into W
CLRF
PCLATH
;Page zero, regardless of current page
BCF
STATUS, IRP
;Return to Bank 0
MOVF
FSR, W
;Copy FSR to W
MOVWF
FSR_TEMP
;Copy FSR from W to FSR_TEMP
:(ISR)
:
MOVF
PCLATH_TEMP, W
;Restore PCLATH
MOVWF
PCLATH
;Move W into PCLATH
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



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com