The 12C508A series can only wake-up from SLEEP with a device reset like /MCLR, WDT timeout, or wake-up on pin change.
The catch is - that even wake-up on pin change with the 12C508A causes a device reset, and you're starting over again from square #1 after any wake-up event.
The good news is - the 12C67x series can wake up from SLEEP & then continue execution at the instruction immediately after the SLEEP instruction if you have global interrupts disabled (GIE=0).
With global interrupts enabled (GIE=1), the 12C67x will wake-up, then execute the instruction after the SLEEP instruction, then branch to the interrupt vector at location 0004h assuming you have an interrupt handler in place.




Bookmarks