So, hab jetzt mal was ausprobiert. Die LED am PortB soll mit dem Taster an und ausgeschalten werden. Eigentlich müsste es, denke ich, so gehen , oder ?
Kann es sein, dass das so nicht ohne Timer geht ?
Bin für alle anregungen dankbar !!

mfg


CODE:

; Start, Power ON, Reset
main: ldi r16,lo8(RAMEND)
out SPL,r16
ldi r16,hi8(RAMEND)
out SPH,r16
; Hier Init-Code eintragen.
; Port Init:------------------------------------------------
ldi r16,0x00
out DDRD,r16 ;PortD als Eingang

ldi r16,0xff
out DDRB,r16 ;PortB als Ausgang
out PORTD,r16 ;Pullups von PortD

ldi r19,0b00000000 ;Statusbyte mit 0 initialisieren (zur Wartung binaer)
;----------------------------------------------------------------------
; Hauptprogramm
mainloop:
sbis PIND,2 ;PORTD.2 cleared ?
nop
nop
nop
nop

rcall testnset ;nein ! dann springe zu testnset

rjmp mainloop ;ja ! dann wieder von vorne (mainloop)
;----------------------------------------------------------------------

testnset: sbrc r19,7 ;MSB (b7) in r19 cleared ?
rcall setsbit ;nein ! dann springe zu setsbit !

rcall clearsbit ;ja ! dann springe zu clearsbit
rjmp mainloop

setsbit: sbi PORTB,0 ;setzte LED an !
sbr r19,7 ;setze statusbit in r19
rjmp mainloop ; und wieder ab in die hauptschleife

clearsbit: cbi PORTB,0 ;clear LED !
cbr r19,7 ;statusbit wieder aus
rjmp mainloop ;ebenfalls wieder in die hauptschleife