; rgb_mali.asm ; ; 3 leds (red, green, blue) on different ports. ; cm mode: continuous mixed colors ; rgb mode: keep one special color ; ; modes switchable by uart ; ; author: hackbard@hackdaworld.dyndns.org .include "../include/2313def.inc" ; defines & equals .def zero = r0 .def one = r1 .def countrgb = r2 .def desc = r3 .equ RUP = 0 .equ RDOWN = 1 .equ GUP = 2 .equ GDOWN = 3 .equ BUP = 4 .equ BDOWN = 5 .def tmp = r16 .def uart_count = r17 .def count = r18 .def RED = r19 .def GREEN = r20 .def BLUE = r21 .def mode = r22 .equ cm = 0 .equ rgb = 1 .def OUTR = r23 .def FULLR = r24 .def tmp2 = r25 .equ LED_R = PD2 .equ LED_G = PD3 .equ LED_B = PD4 .equ LED_PORT = PORTD .equ CM1 = 85 .equ CM2 = 170 ; ; interrupt voctors ; ; reset rjmp INIT ; int0 reti ; int1 reti ; timer/counter capt 1 reti ; timer/counter compare reti ; timer/counter overflow 1 rjmp DO_IT ; timer/counter overflow 0 reti ; uart rx complete rjmp UART_RECEIVE ; uart data register empty reti ; uart tx complete reti ; analog comparator reti ; ; init routine ; INIT: ; alloc stack pointer ldi r16,low(RAMEND) out SPL,r16 ; timer: clock/8 ldi tmp,((1<