;###Created by Alexander Haas, Alexander Hunt und Tim Weidner .include "2313def.inc" .def aussen=R24 .def innen=R25 .def wtmp=R26 .equ clk = 4000 reset: ldi R16, low(RAMEND) out SPL,R16 ;Stackpointer initialisieren ldi R16, 0xEF ;Startpunkt setzen ldi R17, 0xFF out PORTB, R16 ;Startpunkt laden out DDRB, R17 ;PORTB als Ausgang setzen links: cpi R16, 0x7F ;Test ob LED ganz links leuchtet breq rechts lsl R16 ;LED nach links inc R16 ;erste LED aus out PORTB, R16 ;ausgeben rcall warte100ms ;warten rjmp links ;Schleife rechts: cpi R16, 0xFE ;Test ob LED ganz rechts leuchtet breq links lsr R16 ;LED nach rechts ori R16,0x80 ;letzte LED aus out PORTB, R16 ;Ausgeben rcall warte100ms ; rjmp rechts ;Schleife warte100ms: ldi wtmp, 10 w50loop: rcall warte10ms dec wtmp brne w50loop ret warte10ms: ldi aussen,40 loop_aussen: ldi innen,250 loop_innen: dec innen nop brne loop_innen dec aussen brne loop_aussen ret