Ich habe folgenden Code :

Code:
$regfile = "m8def.dat"
$crystal = 1000000
Enable Interrupts


Config Clock = Soft , Gosub = Sectic
Config Date = Mdy , Separator = /

Config Portb.0 = Output
Dim A As Byte
Time$ = "00:00:00"
A = 0

Do
Loop
End


Sectic:
If _hour = 0 And _min = 1 And _sec = 00 Then
Gosub Beep
End If
return


Beep:
Do
A = A + 1
Portb.0 = 1
Sound Portc.0 , 50 , 50
Sound Portc.0 , 50 , 80
Sound Portc.0 , 50 , 50
Sound Portc.0 , 50 , 80
Portb.0 = 0
Waitms 150
Loop Until A = 50
Powerdown
Return
Der ist sehr unspektakulär, per Softclock soll es zu bestimmten Zeiten ein paar mal Beepen und eine LED blinken, danach soll dann Alles per "Powerdown" abschalten, bis ein HardwareReset zum erneuten Start ausgelöst wird.

Angeschlossen ist ein Uhrenquarz an Xtal1/2, der interne Takt steht auf 1 Mhz. , benutzt wird ein Atmega8/16

Das Problem ist, dass zwar die Uhr korrekt arbeitet, der Beeper und LED auch nach Wunsch funktionieren, der Stromverbrauch aber beim Beepen von 7mA im Betrieb auf ca. 90 mA hochschnellt und dort dann bleibt (!). Es wird NICHT wieder auf 7mA zurück- oder gar ausgeschaltet.

Warum nicht ?

...es reicht übrigens aus, nur einmal einen Sound auszugeben, oder die LED zu schalten...danach bleibt der Verbrauch ebenfalls bei etwa 90mA, auch wenn die LED oder Beeper dann wieder aus ist