tweak delay
authorTero Marttila <terom@fixme.fi>
Thu, 06 May 2010 00:41:27 +0300
changeset 7 697ea917c901
parent 6 88c930373d62
child 8 449fee4187f6
tweak delay
led7seg.s
--- 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