English
Language : 

PIC16LF877A-I Datasheet, PDF (159/234 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers
PIC16F87XA
FIGURE 14-12: WAKE-UP FROM SLEEP THROUGH INTERRUPT
OSC1
CLKO(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>)
Interrupt Latency(2)
GIE bit
(INTCON<7>)
INSTRUCTION FLOW
PC
PC
Instruction
Fetched
Inst(PC) = Sleep
Instruction
Executed
Inst(PC - 1)
Processor in
Sleep
PC+1
Inst(PC + 1)
Sleep
PC+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 = 1024 TOSC (drawing not to scale). This delay will not be there for RC Oscillator 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: CLKO is not available in these oscillator modes but shown here for timing reference.
14.15 In-Circuit Debugger
When the DEBUG bit in the configuration word is pro-
grammed to a ‘0’, the in-circuit debugger functionality is
enabled. This function allows simple debugging
functions when used with MPLAB® ICD. When the
microcontroller has this feature enabled, some of the
resources are not available for general use. Table 14-8
shows which features are consumed by the
background debugger.
TABLE 14-8: DEBUGGER RESOURCES
I/O pins
RB6, RB7
Stack
1 level
Program Memory
Address 0000h must be NOP
Last 100h words
Data Memory
0x070 (0x0F0, 0x170, 0x1F0)
0x1EB-0x1EF
To use the in-circuit debugger function of the microcon-
troller, the design must implement In-Circuit Serial Pro-
gramming 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.
14.16 Program Verification/Code
Protection
If the code protection bit(s) have not been
programmed, the on-chip program memory can be
read out for verification purposes.
14.17 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
readable and writable during program/verify. It is
recommended that only the 4 Least Significant bits of
the ID location are used.
 2003 Microchip Technology Inc.
DS39582B-page 157