FunztCode:pruefZaehler: inc zaehler ;Zählregister um 1 erhöhen cpi zaehler, 0x28 ;Wenn Zählregister = 65 ist breq zeitum ;spring zu "zeitum:" wenn zaehler = 65 rjmp zeitum2 zeitum: clr zaehler ;Zählregister auf 0 setzen sbrs status, sperre ;überspringe, wenn r17.7 = 1 ist (LED an?) rjmp zeitum0 ;zu "zeitum0:" springen sbrc status, sperre ;überspringe, wenn r17.7 = 0 ist (LED aus?) rjmp zeitum1 ;zu "zeitum1:" springen zeitum0: sbr status, (1<<sperre) ;r17.7 = 1 setzen (LED an) sbi PORTD, LED ;B.2 = 1 setzen -> LED an rjmp zeitum2 zeitum1: cbr status, (1<<sperre) ;r17.7 = 0 setzen (LED aus) cbi PORTD, LED ;B.2 auf 0 setzen -> LED aus rjmp zeitum2 zeitum2: ldi tmp, time out TCNT0, tmp reti ;die Interrupt-Routine wird verlassen![]()
[edit]
Kann mir schon vorstellen, warum du das Interruptzeug da rausgenommen hast. Denn mit dem ganzen Zeug, also das Sichern der Register blinkt die LED nimmer so wie sie soll. Logisch, denn tmp hat am Ende den falschen Wert. Aber darauf wollten wir ja später kommen![]()







Zitieren

Lesezeichen