Hi Stefan,

ich hab da noch ne Frage zu deinem Code, was passiert hier

Code:
;in tmp2, pina
   ;ldi tmp, 0b01001101  ;Akku erkennung ab 3V
   ;cp tmp2, tmp
   ;brlo entladen_aus
und das
Code:
;Warte auf Stop-Taste
   in tmp2, pind         ;Liest Eingangsport ab
   andi tmp2, 0b00000001  ;Nur das Start-tasten-Bit einlesen
   ldi tmp, 0b00000001
   cp tmp2,tmp
   breq entladen_stop            ;Ist Bit gesetzt, Spring in die Start- Fkt.
ich nehme an, du schaltest mit dem Taster einen Pullup an den PIN?

kannst du schneller mit sbic = skip if bit in I/O is cleared machen. Skip´s überspringen immer nur den nächsten Befehl und man muss immer etwas auf die Logki aufpassen.
Dafür würdest du den Programteil "entladen_stop" mit einem rcall entladen_stop und "ret" in eine Subroutine setzten.

mfg,
The Man