
2001 Microchip Technology Inc.
DS35007B-page 33
PIC16F84A
6.11.3
WAKE-UP USING INTERRUPTS
When global interrupts are disabled (GIE cleared) and
any interrupt source has both its interrupt enable bit
and interrupt flag bit set, one of the following will occur:
If the interrupt occurs before the execution of a
SLEEP
instruction, the SLEEP instruction will com-
plete as a NOP. Therefore, the WDT and WDT
postscaler will not be cleared, the TO bit will not
be set and PD bits will not be cleared.
If the interrupt occurs during or after the execu-
tion of a SLEEP instruction, the device will imme-
diately wake-up from SLEEP. The SLEEP
instruction will be completely executed before the
wake-up. Therefore, the WDT and WDT
postscaler will be cleared, the TO bit will be set
and the PD bit will be cleared.
Even if the flag bits were checked before executing a
SLEEP
instruction, it may be possible for flag bits to
become set before the SLEEP instruction completes. To
determine whether a SLEEP instruction executed, test
the PD bit. If the PD bit is set, the SLEEP instruction
was executed as a NOP.
To ensure that the WDT is cleared, a CLRWDT instruc-
tion should be executed before a SLEEP instruction.
6.12
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.
6.13
ID Locations
Four memory locations (2000h - 2004h) are designated
as ID locations to store checksum or other code
identification
numbers.
These
locations
are
not
accessible during normal execution but are readable
and writable only during program/verify. Only the
four Least Significant bits of ID location are usable.
6.14
In-Circuit Serial Programming
PIC16F84A
microcontrollers
can
be
serially
programmed while in the end application circuit. This is
simply done with two lines for clock and data, and three
other lines for power, ground, and the programming
voltage. Customers can manufacture boards with
unprogrammed
devices,
and
then
program
the
microcontroller just before shipping the product,
allowing the most recent firmware or custom firmware
to be programmed.
For complete details of Serial Programming, please
refer to the In-Circuit Serial Programming (ICSP)
Guide, (DS30277).