/* * LED_CUBE_V1.asm * * Created: 22.10.2011 18:32:15 * Author: Administrator */ .include "m16def.inc" .def Aaus = r16 .def P7 = r17 .def P6 = r18 .def P5 = r19 .def P4 = r20 .def P3 = r21 .def P2 = r22 .def P1 = r23 .def P0 = r24 .def stack = r25 .def var = r26 .def zahler = r27 .def stackH = r28 .def stackL = r29 .def sek = r30 rjmp Reset nop nop nop nop nop nop nop;TimerCounter2 rjmp TIMERCOUNTER2 nop nop nop nop nop nop nop nop nop nop;TimerCounter0 pop var pop var rjmp TIMERCOUNTER0 TIMERCOUNTER0: inc zahler cpi zahler,3 brsh MS1234 sei cpi zahler,2 brne WARTEN rjmp MS1234 TIMERCOUNTER2: inc sek cpi sek,186 breq SPRUNGP cpi sek,155 breq SPRUNGR6 cpi sek,124 breq SPRUNGR5 cpi sek,93 breq SPRUNGR4 cpi sek,62 breq SPRUNGR3 cpi sek,31 breq SPRUNGR2 reti SPRUNGP: pop var pop var rjmp PROGRAMM SPRUNGR6: pop var pop var rjmp REIHE6 SPRUNGR5: pop var pop var rjmp REIHE5 SPRUNGR4: pop var pop var rjmp REIHE4 SPRUNGR3: pop var pop var rjmp REIHE3 SPRUNGR2: pop var pop var rjmp REIHE2 MS1234: ldi var,2 out tccr0,var sei cpi zahler,7 brne Warten clr zahler ldi var,3 out tccr0,var push stackL push stackH reti WARTEN: rjmp WARTEN Reset: ser Aaus out PORTA, Aaus out PORTB, Aaus out PORTC, Aaus out PORTD, Aaus out DDRA, Aaus out DDRB, Aaus out DDRC, Aaus out DDRD, Aaus ldi stack, high(RAMEND) out SPH, stack ldi stack, low(RAMEND) out SPL, stack clr var clr zahler clr sek ldi P7,127 ldi P6,191 ldi P5,223 ldi var,3 out tccr0,var ldi var,7 out tccr2,var ldi var,65 out timsk, var sei rjmp PROGRAMM AUS: out PORTA, Aaus out PORTB, Aaus out PORTC, Aaus out PORTD, Aaus ret A1: sei out PORTA, P7 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN A2: sei out PORTA, P7 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN A3: sei out PORTA, P6 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN A4: sei out PORTA, P6 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN A5: sei out PORTA, P5 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN A6: sei out PORTA, P5 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN B1: sei out PORTA, P4 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN B2: sei out PORTA, P4 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN B3: sei out PORTA, P3 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN B4: sei out PORTA, P3 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN B5: sei out PORTA, P2 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN B6: sei out PORTA, P2 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN C1: sei out PORTA, P1 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN C2: sei out PORTA, P1 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN C3: sei out PORTA, P0 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN C4: sei out PORTA, P0 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN C5: sei out PORTB, P7 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN C6: sei out PORTB, P7 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN D1: sei out PORTB, P6 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN D2: sei out PORTB, P6 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN D3: sei out PORTB, P5 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN D4: sei out PORTB, P5 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN D5: sei out PORTB, P4 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN D6: sei out PORTB, P4 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN E1: sei out PORTB, P3 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN E2: sei out PORTB, P3 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN E3: sei out PORTB, P2 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN E4: sei out PORTB, P2 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN E5: sei out PORTB, P1 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN E6: sei out PORTB, P1 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN F1: sei out PORTB, P0 ldi var, 213 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN F2: sei out PORTB, P0 ldi var, 234 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN F3: sei ldi var, 85 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN F4: sei ldi var, 106 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN F5: sei ldi var, 149 out PORTC, var ldi var, 87 out PORTD, var rjmp WARTEN F6: sei ldi var, 170 out PORTC, var ldi var, 171 out PORTD, var rjmp WARTEN PROGRAMM: clr sek REIHE1: rcall SPEICHER rjmp A1 rcall AUS rcall SPEICHER rjmp A2 rcall AUS rcall SPEICHER rjmp A3 rcall AUS rcall SPEICHER rjmp A4 rcall AUS rcall SPEICHER rjmp A5 rcall AUS rcall SPEICHER rjmp A6 rcall AUS rjmp REIHE1 REIHE2: rcall SPEICHER rjmp B1 rcall AUS rcall SPEICHER rjmp B2 rcall AUS rcall SPEICHER rjmp B3 rcall AUS rcall SPEICHER rjmp B4 rcall AUS rcall SPEICHER rjmp B5 rcall AUS rcall SPEICHER rjmp B6 rcall AUS rjmp REIHE2 REIHE3: rcall SPEICHER rjmp C1 rcall AUS rcall SPEICHER rjmp C2 rcall AUS rcall SPEICHER rjmp C3 rcall AUS rcall SPEICHER rjmp C4 rcall AUS rcall SPEICHER rjmp C5 rcall AUS rcall SPEICHER rjmp C6 rcall AUS rjmp REIHE3 REIHE4: rcall SPEICHER rjmp D1 rcall AUS rcall SPEICHER rjmp D2 rcall AUS rcall SPEICHER rjmp D3 rcall AUS rcall SPEICHER rjmp D4 rcall AUS rcall SPEICHER rjmp D5 rcall AUS rcall SPEICHER rjmp D6 rcall AUS rjmp REIHE4 REIHE5: rcall SPEICHER rjmp E1 rcall AUS rcall SPEICHER rjmp E2 rcall AUS rcall SPEICHER rjmp E3 rcall AUS rcall SPEICHER rjmp E4 rcall AUS rcall SPEICHER rjmp E5 rcall AUS rcall SPEICHER rjmp E6 rcall AUS rjmp REIHE5 REIHE6: rcall SPEICHER rjmp F1 rcall AUS rcall SPEICHER rjmp F2 rcall AUS rcall SPEICHER rjmp F3 rcall AUS rcall SPEICHER rjmp F4 rcall AUS rcall SPEICHER rjmp F5 rcall AUS rcall SPEICHER rjmp F6 rcall AUS rjmp REIHE6 SPEICHER: pop stackH pop stackL push stackL push stackH ldi var, 1 add stackL, var ret