English
Language : 

PIC16F872_06 Datasheet, PDF (103/168 Pages) Microchip Technology – 28-Pin, 8-Bit CMOS Flash Microcontroller with 10-Bit A/D
PIC16F872
FIGURE 11-11: WAKE-UP FROM SLEEP THROUGH INTERRUPT
OSC1
CLKOUT(4)
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
TOST(2)
INT pin
INTF Flag
(INTCON<1>)
GIE bit
(INTCON<7>)
INSTRUCTION FLOW
PC
Instruction
Fetched
Instruction
Executed
PC
Inst(PC) = SLEEP
Inst(PC - 1)
PC+1
Inst(PC + 1)
SLEEP
Processor in
SLEEP
PC+2
Interrupt Latency
(Note 2)
PC+2
Inst(PC + 2)
Inst(PC + 1)
PC + 2
Dummy cycle
0004h
Inst(0004h)
Dummy cycle
0005h
Inst(0005h)
Inst(0004h)
Note 1: XT, HS or LP oscillator mode assumed.
2: TOST = 1024TOSC (drawing not to scale). This delay will not be there for RC osc mode.
3: GIE = '1' assumed. In this case, after wake- up, the processor jumps to the interrupt routine.
If GIE = '0', execution will continue in-line.
4: CLKOUT is not available in these osc modes, but shown here for timing reference.
11.14 In-Circuit Debugger
When the DEBUG bit in the configuration word is
programmed to a '0', the In-Circuit Debugger function-
ality is enabled. This function allows simple debugging
functions when used with MPLAB® IDE. When the
microcontroller has this feature enabled, some of the
resources are not available for general use. Table 11-8
shows which features are consumed by the back-
ground debugger.
TABLE 11-8: DEBUGGER RESOURCES
I/O pins
Stack
Program Memory
Data Memory
RB6, RB7
1 level
Address 0000h must be NOP
Last 100h words
0x070 (0x0F0, 0x170, 0x1F0)
0x1EB - 0x1EF
To use the In-Circuit Debugger function of the micro-
controller, the design must implement In-Circuit Serial
Programming connections to MCLR/VPP, VDD, GND,
RB7 and RB6. This will interface to the In-Circuit
Debugger module available from Microchip or one of
the third party development tool companies.
11.15 Program Verification/Code
Protection
If the code protection bit(s) have not been pro-
grammed, the on-chip program memory can be read
out for verification purposes.
11.16 ID Locations
Four memory locations (2000h - 2003h) are designated
as ID locations, where the user can store checksum or
other code identification numbers. These locations are
not accessible during normal execution, but are read-
able and writable during program/verify. It is recom-
mended that only the 4 Least Significant bits of the ID
location are used.
© 2006 Microchip Technology Inc.
DS30221C-page 101