projects
/
my-code
/
atmel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
all leds on (multiplexed!)
[my-code/atmel.git]
/
led_plex
/
main.asm
diff --git
a/led_plex/main.asm
b/led_plex/main.asm
index
cfa8c2e
..
8a03d53
100644
(file)
--- a/
led_plex/main.asm
+++ b/
led_plex/main.asm
@@
-1,5
+1,7
@@
; main file of led_plex project
;
; main file of led_plex project
;
+; schematics: http://hackdaworld.org/download/led_plex/led_plex.png
+;
; author: hackbard@hackdaworld.org
;
; author: hackbard@hackdaworld.org
;
@@
-10,6
+12,8
@@
.def tmp1 = r16
.def tmp2 = r17
.def uart_rxtx = r18
.def tmp1 = r16
.def tmp2 = r17
.def uart_rxtx = r18
+.def hc595_sink = r19
+.def hc595_source = r20
;
; interrupts
;
; interrupts
@@
-31,13
+35,13
@@
reti
reti
; T1 OVF1
reti
; T1 OVF1
-rjmp T1_OVF
1
+rjmp T1_OVF
; T0 OVF0
; T0 OVF0
-rjmp T0_OVF
0
+rjmp T0_OVF
; UART RX
; UART RX
-rjmp UART_R
X
+rjmp UART_R
ECEIVE
; UART UDRE
reti
; UART UDRE
reti
@@
-72,18
+76,21
@@
reti
; WDT OVF
reti
; WDT OVF
reti
-
-; in
clude control defines
-.include "ctrl.def"
+;
+; in
it and main code
+;
RESET:
INIT:
RESET:
INIT:
- ; port init
+ ;
gio
port init
rcall PORT_INIT
rcall PORT_INIT
- ; timer init
- rcall TIMER_INIT
+ ; timer0 init
+ rcall TIMER0_INIT
+
+ ; timer0 interrupt enable
+ rcall TIMER0_INT_INIT
; uart init
rcall UART_INIT
; uart init
rcall UART_INIT
@@
-96,12
+103,17
@@
INIT:
out SPL,tmp1
; global interrupt enable
out SPL,tmp1
; global interrupt enable
-
;
sei
+ sei
; signal ready output
; signal ready output
- ldi uart_rxtx,0x
23
+ ldi uart_rxtx,0x
68
rcall UART_TX
rcall UART_TX
+ ; led init
+ ldi hc595_sink,0xff
+ ldi hc595_source,0x01
+ rcall SET_HC595
+
MAIN:
; loop forever
MAIN:
; loop forever
@@
-118,12
+130,21
@@
MAIN:
; interrupt routines
;
; interrupt routines
;
-T1_OVF
1
:
+T1_OVF:
reti
reti
-T0_OVF0:
+T0_OVF:
+
+ ; shift source
+ rol hc595_source
+
+ ; update sink
+
+ ; set hc595
+ rcall SET_HC595
+
reti
reti
-UART_R
X
:
+UART_R
ECEIVE
:
reti
reti