The following two statements helped me, finally, to understand how to use the WDT to wake my PIC from SLEEP and to make the SLEEP period as long as I need.

Several events can make the device wake up from the sleep mode:
1. Any device reset.
2. Watchdog Timer Wake-up (if WDT was enabled).


3. Any peripheral module which can set its interrupt flag while in sleep, such as:
  • External INT pin
  • Change on port pin
  • Comparators
  • A/D conversion
  • Timer1
  • LCD
  • SSP
  • Capture, etc.
The first event (device reset) will reset the device upon wake-up. However the latter two events will wake the device and then resume program execution. When the SLEEP instruction is being executed, the next instruction (PC + 1) is pre-fetched, so that on wake-up the processor could execute the next instruction after the SLEEP command. For the device to wake-up through an interrupt event, the corresponding interrupt enable bit must be set (enabled). Wake-up is regardless of the state of the GIE bit. If the GIE bit is clear (disabled), the device will just wake up from sleep and continues executing the program from the instruction right after the SLEEP command. If the GIE bit is set (enabled), the processor will execute the instruction after the SLEEP instruction and then branches to the interrupt address (0004h). Therefore, if an interrupt is to be used just to wake up the PIC microcontroller, the GIE bit must be cleared before the sleep instruction.

In PIC16F628A microcontroller, the use of Sleep mode with WDT wake-up provides a maximum sleep duration of 2.3 sec. But if your data logger design requires a longer sampling interval between two successive data samples and you want to put the microcontroller into Sleep mode during most of this interval, you can use multiple SLEEP instructions in sequence. When the microcontroller wakes up from the first sleep by WDT time-out, it resumes normal operation and executes the next instruction. If it finds another SLEEP instruction, it will reset the WDT and go back to Sleep mode again, thus prolonging the sleep duration.
I've been working with these PIC's for a couple of years now... and I guess mabie I need to change my signature to say...

"These PIC's are like Elephants... you can't eat the whole beast in one sitting, but rather ONE bite (byte?) at a time, over many sittings."

I now have my little project waking up every 60 seconds, checking the temperature, and then going happly back to sleep.

Sweeeeeet!