High Power Consumption in Sleep Mode
Hello boys and girls,
I use for a first time sleep mode with my 16F627 pic after searching and reading to the forum.
I manage to send my pic to sleep mode and I can wake it up with interrupt on portb.0.
My problem is the big Consumption in sleep mode.It is about 370uA
That is my code:
Code:
@ DEVICE PIC16F627, XT_OSC
@ DEVICE pic16F627, WDT_OFF
@ DEVICE pic16F627, PWRT_ON
@ DEVICE pic16F627, MCLR_OFF
@ DEVICE pic16F627, BOD_OFF
@ DEVICE pic16F627, LVP_OFF
@ DEVICE pic16F627, CPD_OFF
@ DEVICE pic16F627, PROTECT_OFF
DEFINE OSC 4
DEFINE NO_CLRWDT 1
CMCON = 7 'Turn off comparators
VRCON=%01101100 'VRCON bit7 is OFF for no current drain
OPTION_REG.7 = 0 ' 1=DISABLE INTERNAL PULLUPS,0=ENABLE
LED VAR PORTA.2
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=1 - 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
CYCLE:
INTCON.1=0 ' Reset RB0 Flag
INTCON.0=0 ' Reset PORTB change Flag
'
' Sleep
' -----
LOW LED
@ SLEEP
@ nop
@ nop
@ nop
Pause 100 ' Needed for system Wake-Up
HIGH LED
PAUSE 5000
LOW LED
GOTO CYCLE
END
My hardwarev is simply a resistor from porta.2 with a Led to GND and XTL with 2capasitors.NOTHING MORE
Please advice
Nikos
Re: High Power Consumption in Sleep Mode
Quote:
Originally Posted by
Archangel
You are welcome. I had turned MCLRE off in my config.
I added & _BODEN_OFF to __CONFIG and reduced the current from 120uA to 5uA
Re: High Power Consumption in Sleep Mode
Just looking at your code and decided to ask a question or two.
Why do you set the same configs twice? I think either will accomplish the task but they may be contradictory also.
Why are some configs spelled differently from one to the other? PWRT/PWRTE, INTRC_OSC_NOCLOCKOUT/INTOSC_OSC_NOCLKOUT and MCLR/MCLRE are the ones I see as different.
Re: High Power Consumption in Sleep Mode
Hi,
Quote:
Just looking at your code and decided to ask a question or two
Which code is that exactly? I'm sort of guessing here so if I'm referring to the wrong one please disregard this.
Quote:
Why do you set the same configs twice?
The only code in this thread, which could be interpreted as if that's happening is in the third post, by Archangel, but he's not setting the same config twice. One set is commented out:
Code:
;@ DEVICE PIC16F648A, INTRC_OSC_NOCLOCKOUT
;@ DEVICE pic16F648A, WDT_OFF
;@ DEVICE pic16F648A, PWRT_ON
;@ DEVICE pic16F648A, MCLR_OFF
;@ DEVICE pic16F648A, BOD_OFF
;@ DEVICE pic16F648A, LVP_OFF
;@ DEVICE pic16F648A, CPD_OFF
;@ DEVICE pic16F648A, PROTECT_OFF
@ __CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _LVP_OFF & _BODEN_OFF & _BOREN_OFF
Quote:
Why are some configs spelled differently from one to the other? PWRT/PWRTE, INTRC_OSC_NOCLOCKOUT/INTOSC_OSC_NOCLKOUT and MCLR/MCLRE are the ones I see as different.
My guess is that one set (the ones that are commented out) is/was targeting the now obsolete PM-assembler which came bundled with PBP while the other is for Microchips MPASM assembler.
/Henrik.
Re: High Power Consumption in Sleep Mode
My bad. I sincerely apologize for any confusion I might have generated. In the future I'll cut and paste the code to which what I refer to eliminate any obfuscation.
Sorry for using your time but thanks for a possible explanation and pointing out my error.