some hdw-tank stuff at gergos place ...
[my-code/atmel.git] / hdw-tank / main.asm
1 ; main file of hdw-tank project
2 ;
3 ; author: hackbard@hackdaworld.org
4 ;
5
6 ; defines
7 .define tmp     = r16
8
9 ; interrupts
10 jmp RESET 
11 jmp EXT_INT0 
12 jmp EXT_INT1 
13 jmp EXT_INT2 
14 jmp EXT_INT3 
15 jmp EXT_INT4 
16 jmp EXT_INT5 
17 jmp EXT_INT6 
18 jmp EXT_INT7 
19 jmp TIM2_COMP 
20 jmp TIM2_OVF 
21 jmp TIM1_CAPT 
22 jmp TIM1_COMPA
23 jmp TIM1_COMPB
24 jmp TIM1_OVF 
25 jmp TIM0_COMP 
26 jmp TIM0_OVF 
27 jmp SPI_STC 
28 jmp USART0_RXC
29 jmp USART0_DRE
30 jmp USART0_TXC
31 jmp ADC 
32 jmp EE_RDY 
33 jmp ANA_COMP 
34 jmp TIM1_COMPC
35 jmp TIM3_CAPT 
36 jmp TIM3_COMPA
37 jmp TIM3_COMPB
38 jmp TIM3_COMPC
39 jmp TIM3_OVF 
40 jmp USART1_RXC
41 jmp USART1_DRE
42 jmp USART1_TXC
43 jmp TWI 
44 jmp SPM_RDY 
45
46 ; include subroutines
47 .include "motor.asm"
48 .include "uart.asm"
49
50 RESET:
51 INIT:
52
53         ; motor init
54         call 
55         ; uart init
56
57         ; set stackpointer
58         ldi r16, high(RAMEND)
59         out SPH,r16 
60         ldi r16, low(RAMEND)
61         out SPL,r16
62
63         ; global interrupt enable
64         sei 
65
66
67
68
69 ;
70 ; interrupt routines
71 ;
72
73 EXT_INT0:
74         nop
75         reti
76
77 EXT_INT1:
78         nop
79         reti
80
81 EXT_INT2:
82         nop
83         reti
84
85 EXT_INT3:
86         nop
87         reti
88
89 EXT_INT4:
90         nop
91         reti
92
93 EXT_INT5:
94         nop
95         reti
96
97 EXT_INT6:
98         nop
99         reti
100
101 EXT_INT7:
102         nop
103         reti
104
105 TIM2_COMP:
106         nop
107         reti
108
109 TIM2_OVF:
110         nop
111         reti
112
113 TIM1_CAPT:
114         nop
115         reti
116
117 TIM1_COMPA:
118         nop
119         reti
120
121 TIM1_COMPB:
122         nop
123         reti
124
125 TIM1_OVF:
126         nop
127         reti
128
129 TIM0_COMP:
130         nop
131         reti
132
133 TIM0_OVF:
134         nop
135         reti
136
137 SPI_STC:
138         nop
139         reti
140
141 USART0_RXC:
142
143         ; read received byte and drive the motor
144         ; in addition, loop it back to the host
145
146         in UDR
147
148         reti
149
150 USART0_DRE:
151         nop
152         reti
153
154 USART0_TXC:
155         nop
156         reti
157
158 ADC:
159         nop
160         reti
161
162 EE_RDY:
163         nop
164         reti
165
166 ANA_COMP:
167         nop
168         reti
169
170 TIM1_COMPC:
171         nop
172         reti
173
174 TIM3_CAPT:
175         nop
176         reti
177
178 TIM3_COMPA:
179         nop
180         reti
181
182 TIM3_COMPB:
183         nop
184         reti
185
186 TIM3_COMPC:
187         nop
188         reti
189
190 TIM3_OVF:
191         nop
192         reti
193
194 USART1_RXC:
195         nop
196         reti
197
198 USART1_DRE:
199         nop
200         reti
201
202 USART1_TXC:
203         nop
204         reti
205
206 TWI:
207         nop
208         reti
209
210 SPM_RDY:
211         nop
212         reti
213