Quote Originally Posted by kevj View Post
However, sometimes the Pic is freezing up. Running a 16F616 via external oscillator at 20mhz, 5v supply. Works great 99% of the time, but when it does hang, it's a real problem.
Do you have the Power up timer turned on in the config bits?

I'm not sure how it determines one of those 2 actions, and if it does reset due to a hang, if it really is a "complete" reset (like a POR would be)
Apparently this PIC only directly differentiates between a Power On Reset and Brown Out Reset in the PCON register.
But if you look around the datasheet, you'll find a number of registers that are zero'd out differently depending on the type of reset, such as ANSEL. On any reset, it's set to all 1's.
And in the datasheet, it's states that during normal ops, a WDT reset, resets the chip like MCLR had been pulled down. But, if you put the PIC to SLEEP, a WDT causes the PIC to pick up where it left off without changing registers like a 'normal' reset would.