init of new files (of hdw tank project + some small mods, more to come
[my-code/atmel.git] / led_plex / main.asm
diff --git a/led_plex/main.asm b/led_plex/main.asm
new file mode 100644 (file)
index 0000000..cfa8c2e
--- /dev/null
@@ -0,0 +1,129 @@
+; main file of led_plex project
+;
+; author: hackbard@hackdaworld.org
+;
+
+; device specific definition file
+.include "../include/tn2313def.inc"
+
+; defines
+.def   tmp1            = r16
+.def   tmp2            = r17
+.def   uart_rxtx       = r18
+
+;
+; interrupts
+;
+
+; RESET
+rjmp INIT
+
+; INT0
+reti
+
+; INT1
+reti
+
+; T1 CAPT1
+reti
+
+; T1 COMP A
+reti
+
+; T1 OVF1
+rjmp T1_OVF1
+
+; T0 OVF0
+rjmp T0_OVF0
+
+; UART RX
+rjmp UART_RX
+
+; UART UDRE
+reti
+
+; UART TX
+reti
+
+; ANA COMP
+reti
+
+; PCINT
+reti
+
+; T1 COMP B
+reti
+
+; T0 COMP A
+reti
+
+; T0 COMP B
+reti
+
+; USI START
+reti
+
+; USI OVF
+reti
+
+; EE READY
+reti
+
+; WDT OVF
+reti
+
+
+; include control defines
+.include "ctrl.def"
+
+RESET:
+INIT:
+
+       ; port init
+       rcall PORT_INIT
+
+       ; timer init
+       rcall TIMER_INIT
+
+       ; uart init
+       rcall UART_INIT
+
+       ; uart interrupt enable
+       rcall UART_INT_RX_INIT
+
+       ; set stackpointer
+       ldi tmp1,low(RAMEND)
+       out SPL,tmp1
+
+       ; global interrupt enable
+       ;sei 
+
+       ; signal ready output
+       ldi uart_rxtx,0x23
+       rcall UART_TX
+
+MAIN:
+
+       ; loop forever
+       rjmp MAIN
+
+
+; include subroutines
+.include "port.asm"
+.include "timer.asm"
+.include "uart.asm"
+
+
+;
+; interrupt routines
+;
+
+T1_OVF1:
+       reti
+
+T0_OVF0:
+       reti
+
+UART_RX:
+       reti
+