Datasheet
© 2009 Microchip Technology Inc. DS41236E-page 47
PIC12F508/509/16F505
7.3 Reset
The device differentiates between various kinds of
Reset:
• Power-on Reset (POR)
•MCLR
Reset during normal operation
•MCLR
Reset during Sleep
• WDT time-out Reset during normal operation
• WDT time-out Reset during Sleep
• Wake-up from Sleep on pin change
Some registers are not reset in any way, they are
unknown on POR and unchanged in any other Reset.
Most other registers are reset to “Reset state” on
Power-on Reset (POR), MCLR
, WDT or Wake-up on
pin change Reset during normal operation. They are
not affected by a WDT Reset during Sleep or MCLR
Reset during Sleep, since these Resets are viewed as
resumption of normal operation. The exceptions to this
are TO, PD and RBWUF/GPWUF bits. They are set or
cleared differently in different Reset situations. These
bits are used in software to determine the nature of
Reset. See Table 7-4 for a full description of Reset
states of all registers.
TABLE 7-3: RESET CONDITIONS FOR REGISTERS – PIC12F508/509
Register Address Power-on Reset
MCLR Reset, WDT Time-out,
Wake-up On Pin Change
W—qqqq qqqu
(1)
qqqq qqqu
(1)
INDF 00h xxxx xxxx uuuu uuuu
TMR0 01h xxxx xxxx uuuu uuuu
PC 02h 1111 1111 1111 1111
STATUS 03h 0001 1xxx q00q quuu
(2), (3)
FSR
(4)
04h 110x xxxx 11uu uuuu
FSR
(5)
04h 111x xxxx 111u uuuu
OSCCAL 05h 1111 111- uuuu uuu-
GPIO 06h --xx xxxx --uu uuuu
OPTION — 1111 1111 1111 1111
TRIS — --11 1111 --11 1111
Legend: u = unchanged, x = unknown, – = unimplemented bit, read as ‘0’, q = value depends on condition.
Note 1: Bits <7:2> of W register contain oscillator calibration values due to MOVLW XX instruction at top of
memory.
2: See Table 7-5 for Reset value for specific conditions.
3: If Reset was due to wake-up on pin change, then bit 7 = 1. All other Resets will cause bit 7 = 0.
4: PIC12F509 only.
5: PIC12F508 only.