projects
/
my-code
/
atmel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
basically finished monolyzer project
[my-code/atmel.git]
/
hdw-tank
/
main.asm
diff --git
a/hdw-tank/main.asm
b/hdw-tank/main.asm
index
59787ea
..
b47c1f8
100644
(file)
--- a/
hdw-tank/main.asm
+++ b/
hdw-tank/main.asm
@@
-7,9
+7,9
@@
.include "../include/m128def.inc"
; defines
.include "../include/m128def.inc"
; defines
-.def tmp
= r16
-.def
uart_rxtx
= r17
-.def
tmp_motor
= r18
+.def tmp
1
= r16
+.def
tmp2
= r17
+.def
uart_rxtx
= r18
; interrupts
jmp RESET
; interrupts
jmp RESET
@@
-54,25
+54,25
@@
jmp SPM_RDY
RESET:
INIT:
RESET:
INIT:
- ; uart init
- rcall UART_INIT
-
; motor init
rcall MOTOR_INIT
; motor init
rcall MOTOR_INIT
+ ; uart init
+ rcall UART_INIT
+
; uart interrupt enable
rcall UART_INT_RX_INIT
; set stackpointer
; uart interrupt enable
rcall UART_INT_RX_INIT
; set stackpointer
- ldi tmp,high(RAMEND)
- out SPH,
r16
- ldi tmp,low(RAMEND)
- out SPL,
r16
+ ldi tmp
1
,high(RAMEND)
+ out SPH,
tmp1
+ ldi tmp
1
,low(RAMEND)
+ out SPL,
tmp1
; global interrupt enable
; global interrupt enable
- sei
+
;
sei
- ;
debug
output
+ ;
signal ready
output
ldi uart_rxtx,0x23
rcall UART_TX
ldi uart_rxtx,0x23
rcall UART_TX
@@
-153,28
+153,41
@@
USART0_RXC:
; loop back the received byte
rcall UART_TX
; loop back the received byte
rcall UART_TX
+ ;
; drive the motor
; drive the motor
+ ;
+
+ ; stop it first
rcall MOTOR_STOP
rcall MOTOR_STOP
+
+ ; fwd
cpi uart_rxtx,CTRL_FWD
brne CTRL1
rcall MOTOR_FWD
rjmp CTRL4
cpi uart_rxtx,CTRL_FWD
brne CTRL1
rcall MOTOR_FWD
rjmp CTRL4
+
+ ; bwd
CTRL1:
cpi uart_rxtx,CTRL_BWD
brne CTRL2
rcall MOTOR_BWD
rjmp CTRL4
CTRL1:
cpi uart_rxtx,CTRL_BWD
brne CTRL2
rcall MOTOR_BWD
rjmp CTRL4
+
+ ; right
CTRL2:
cpi uart_rxtx,CTRL_RIGHT
brne CTRL3
rcall MOTOR_RIGHT
rjmp CTRL4
CTRL2:
cpi uart_rxtx,CTRL_RIGHT
brne CTRL3
rcall MOTOR_RIGHT
rjmp CTRL4
+
+ ; left
CTRL3:
cpi uart_rxtx,CTRL_LEFT
brne CTRL4
rcall MOTOR_LEFT
CTRL4:
CTRL3:
cpi uart_rxtx,CTRL_LEFT
brne CTRL4
rcall MOTOR_LEFT
CTRL4:
+ ; return
reti
USART0_DRE:
reti
USART0_DRE: