equal
deleted
inserted
replaced
171 rcall SPI_Send |
171 rcall SPI_Send |
172 |
172 |
173 ; Done |
173 ; Done |
174 ret |
174 ret |
175 |
175 |
|
176 ;; Delay for approx. 1s |
|
177 Delay_1s: |
|
178 ; 20 * 255 * 255 = 1.3M cycles |
|
179 ldi r20, 40 |
|
180 ldi r21, 255 |
|
181 ldi r22, 255 |
|
182 |
|
183 delay: |
|
184 dec r22 |
|
185 brne delay |
|
186 dec r21 |
|
187 brne delay |
|
188 dec r20 |
|
189 brne delay |
|
190 |
|
191 ret |
|
192 |
|
193 |
|
194 Main: |
176 init: |
195 init: |
177 ; Stack |
196 ; Stack |
178 ldi r16, high(RAMEND) |
197 ldi r16, high(RAMEND) |
179 ldi r17, low(RAMEND) |
198 ldi r17, low(RAMEND) |
180 out SPH, r16 |
199 out SPH, r16 |
187 rcall SPI_Init |
206 rcall SPI_Init |
188 |
207 |
189 ; LCD (requires interrupts) |
208 ; LCD (requires interrupts) |
190 rcall LCD_Init |
209 rcall LCD_Init |
191 |
210 |
192 main: |
211 ;; Count down from 9 |
193 ; Output something |
212 count: |
194 ldi r16, LCD_4 |
213 ; init from 9 |
|
214 ldi r24, LCD_9 |
|
215 |
|
216 loop: |
|
217 ; display |
|
218 mov r16, r24 |
195 rcall LCD_Show |
219 rcall LCD_Show |
196 |
220 |
197 loop: |
221 ; exit if zero |
|
222 tst r24 |
|
223 breq blink |
|
224 |
|
225 ; count down |
|
226 dec r24 |
|
227 |
|
228 ; wait... |
|
229 rcall Delay_1s |
|
230 |
|
231 ; next |
198 rjmp loop |
232 rjmp loop |
199 |
233 |
|
234 ;; Blink between dot and empty |
|
235 blink: |
|
236 rcall Delay_1s |
|
237 |
|
238 ; dot |
|
239 ldi r16, LCD_DOT |
|
240 rcall LCD_Show |
|
241 |
|
242 ; wait... |
|
243 rcall Delay_1s |
|
244 |
|
245 ; empty |
|
246 ldi r16, LCD_EMPTY |
|
247 rcall LCD_Show |
|
248 |
|
249 ; loop |
|
250 rjmp blink |
|
251 |
|
252 end: |
|
253 rjmp end |
|
254 |