Permanent sleep


Results 1 to 40 of 59

Thread: Permanent sleep

Threaded View

  1. #20
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Talking Finally GOT it !!!

    Hi, Charudatt

    Straight from my test bench :


    @ __CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_OFF & _LVP_OFF & _PWRTE_OFF & _CP_OFF & _BODEN_OFF

    DEFINE NO_CLRWDT 1
    DEFINE LCD_EBIT 1

    CMCON=7
    VRCON=%01101100 'VRCON bit7 is OFF for no current drain
    OPTION_REG.7 = 1 ' DISABLE INTERNAL PULLUPS
    Porta = 0
    PORTB = 0
    Trisa = %11111111
    Trisb = %01111111

    LED VAR PORTB.5
    SleepLed var PORTB.7
    Dummy var byte

    '
    ' PIC Low-Power Sleep Routine
    ' ---------------------------
    '
    ' Set Sleep Interrupts
    ' --------------------
    INTCON=%00010000 ' Interrupt Control Register
    ' 7=0 - GIE - Global Interrupt Enable
    ' 6=0 - PEIE - Peripheral Interrupt Enable
    ' 5=0 - TOIE - TMR0 Overflow Interrupt Enable
    ' 4=1 - INTE - RB0/INT Enable
    ' 3=0 - RBIE - PORTB change interrupt Enable
    ' 2=0 - TOIF - TMR0 Overflow Flag
    ' 1-0 - INTF - RB0/Ext Interrupt Flag
    ' 0=0 - RBIF - PORTB Interrupt Flag
    OPTION_REG.6=1 ' 1=RB0 Rising-Edge Trigger, 0=Falling-Edge Trigger

    PAUSE 500
    LCDOUT $FE,1
    CYCLE:
    '
    ' Reset Interrupt Flags
    ' ---------------------
    INTCON.1=0 ' Reset RB0 Flag
    INTCON.0=0 ' Reset PORTB change Flag
    '
    ' Sleep
    ' -----
    LOW LED


    LCDOUT $FE,2 , "*** SLEEPING ***"
    High Sleepled

    @ SLEEP

    Dummy = PORTB
    LOW SleepLed
    @ nop
    @ nop
    @ nop

    Pause 100 ' Needed for system Wake-Up
    HIGH LED : PAUSE 200

    LCDOUT $FE,1, " HURRY UP "

    PAUSE 5000
    LOW LED

    GOTO CYCLE

    END

    CONFIG Modified to suit MPLAB Requirements ...

    I used a LCD to show what happening and fixed LEDs for Wake (green) /Sleep ( Red ) states ...

    disabled CLRWDT PbP insertions ... ( a passing idea ??? )

    also disabled the WPU ... but that is not problematic.

    also changed LEDs PORTs ...

    As PORTB was used ... I did not try "Interrupt change on PortB" ... but works great with B.0 interrupt.

    Works fine ... as you intended to program it !!!

    Regards

    Alain
    Last edited by Acetronics2; - 13th May 2007 at 14:11.
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

Similar Threads

  1. Won't go back to SLEEP after 1st Interrupt
    By jellis00 in forum mel PIC BASIC Pro
    Replies: 32
    Last Post: - 29th June 2009, 09:00
  2. Battery powered applications
    By NavMicroSystems in forum Off Topic
    Replies: 7
    Last Post: - 22nd June 2009, 07:12
  3. Using Sleep
    By elec_mech in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 17th August 2008, 04:05
  4. 16F628A current high during sleep
    By Rubicon in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 9th October 2006, 10:21
  5. Wierd sleep issue
    By orca in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 14th March 2006, 22:06

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts