EmbeddedRelated.com
Forums

Self-waking PIC

Started by PigPOg April 5, 2005
Hi all,

Is there anyway that a PIC in sleep mode can wake-up periodically by
way of an internal mechanism (say, every 30 seconds), perform a short
routine and then re-enter Sleep again?

I'm using a 16F505, but this has no interrupts so I was wondering if I
could use the internal timer to implement this function? I know the
wake-up on input change would suit but this would mean adding an
external timer and the loss of an I/O pin.

If this is not possible with the 505, is it possible with any other
PIC and if so, do I still  have to externally generate an interrupt
every 30 seconds?

Thanks for any help,
Simon

Hi Simon,

PigPOg schrieb:
> Is there anyway that a PIC in sleep mode can wake-up periodically by > way of an internal mechanism (say, every 30 seconds), perform a short > routine and then re-enter Sleep again?
Enable the watchdog, setup the wdt prescaler as you prefer. Every watchdog trigger puts the device out of reset. You can determine a WDT reset from a power-on-reset by using some STATUS bits provided. I have done that, works great. If you like some more details -> PM me (see below). HTH Wolfgang -- From-address is Spam trap Use: wolfgang (dot) mahringer (at) sbg (dot) at
On Tue, 05 Apr 2005 14:12:43 +0200, Wolfgang Mahringer
<yeti201@gmx.at> wrote:

>Hi Simon, > >PigPOg schrieb: >> Is there anyway that a PIC in sleep mode can wake-up periodically by >> way of an internal mechanism (say, every 30 seconds), perform a short >> routine and then re-enter Sleep again? > >Enable the watchdog, setup the wdt prescaler as you prefer. >Every watchdog trigger puts the device out of reset. You can >determine a WDT reset from a power-on-reset by using some STATUS bits >provided. >I have done that, works great. >If you like some more details -> PM me (see below). > >HTH >Wolfgang
Wolfgang, Thank you for the suggestion - I have no idea why I didn't think of this! It's the perfect solution for me. Thanks once again, kind regards, Simon
On Tue, 05 Apr 2005 12:58:53 +0100, PigPOg <simon@capella.co.uk> wrote:

>Hi all, > >Is there anyway that a PIC in sleep mode can wake-up periodically by >way of an internal mechanism (say, every 30 seconds), perform a short >routine and then re-enter Sleep again? > >I'm using a 16F505, but this has no interrupts so I was wondering if I >could use the internal timer to implement this function? I know the >wake-up on input change would suit but this would mean adding an >external timer and the loss of an I/O pin. > >If this is not possible with the 505, is it possible with any other >PIC and if so, do I still have to externally generate an interrupt >every 30 seconds? > >Thanks for any help, >Simon
If you need really really low power draw, look at the nanopower devices like the 16F636 - these have a watchdog postscaler that allows WDT periods up to a few minutes, and have much lower watchdog current - about 3uA
On Tue, 05 Apr 2005 13:11:08 GMT, Mike Harrison <mike@whitewing.co.uk>
wrote:

>On Tue, 05 Apr 2005 12:58:53 +0100, PigPOg <simon@capella.co.uk> wrote: > >>Hi all, >> >>Is there anyway that a PIC in sleep mode can wake-up periodically by >>way of an internal mechanism (say, every 30 seconds), perform a short >>routine and then re-enter Sleep again? >> >>I'm using a 16F505, but this has no interrupts so I was wondering if I >>could use the internal timer to implement this function? I know the >>wake-up on input change would suit but this would mean adding an >>external timer and the loss of an I/O pin. >> >>If this is not possible with the 505, is it possible with any other >>PIC and if so, do I still have to externally generate an interrupt >>every 30 seconds? >> >>Thanks for any help, >>Simon > >If you need really really low power draw, look at the nanopower devices like the 16F636 - these have >a watchdog postscaler that allows WDT periods up to a few minutes, and have much lower watchdog >current - about 3uA
I'll follow that up - thanks Mike. Simon