--- a/led7seg.s Thu May 06 00:13:54 2010 +0300
+++ b/led7seg.s Thu May 06 00:41:27 2010 +0300
@@ -175,11 +175,19 @@
; Display
rjmp SPI_Send
-;; Delay for approx. 1s
+
+
+;; Delay for approx. one second
Delay_1s:
- ; 20 * 255 * 255 = 1.3M cycles
+ ; 40 * 64k = 2.6M loops
ldi r20, 40
+
+;; Delay for r20 * 64k cycles
+VarDelay:
ldi r21, 255
+
+;; Delay for r20 * r21 * 255 cycles
+ShortDelay:
ldi r22, 255
delay:
@@ -192,6 +200,7 @@
ret
+
;; Count down from 9
; Returns once we've hit zero
Main_Countdown:
@@ -246,8 +255,10 @@
mov r16, r24
rcall LCD_ShowRaw
- ; wait
- rcall Delay_1s
+ ; short delay
+ ldi r20, 6
+ ldi r21, 255
+ rcall ShortDelay
; next segment
lsl r24