Füge Funktion zum Anhalten hinzu
This commit is contained in:
35
main.asm
35
main.asm
@@ -17,6 +17,7 @@
|
|||||||
.equ R2L = 0x04
|
.equ R2L = 0x04
|
||||||
.equ RBTN_PRESSED = 0b00000100
|
.equ RBTN_PRESSED = 0b00000100
|
||||||
.equ LBTN_PRESSED = 0b00000001
|
.equ LBTN_PRESSED = 0b00000001
|
||||||
|
.equ BOTH_PRESSED = 0b00000101
|
||||||
|
|
||||||
.org 0x0000
|
.org 0x0000
|
||||||
rjmp init
|
rjmp init
|
||||||
@@ -93,13 +94,41 @@ overflow_handler:
|
|||||||
; Setze definierten Start für den
|
; Setze definierten Start für den
|
||||||
; Laufrichtungswechsel
|
; Laufrichtungswechsel
|
||||||
;----
|
;----
|
||||||
|
check_left_btn:
|
||||||
cpi btn_status, LBTN_PRESSED
|
cpi btn_status, LBTN_PRESSED
|
||||||
brne PC+2
|
brne check_right_btn
|
||||||
ldi cur_direction, L2R
|
|
||||||
|
|
||||||
|
; Linker Button wurde gedrückt
|
||||||
|
ldi cur_direction, L2R
|
||||||
|
in setter, PORTD
|
||||||
|
cpi setter, 0
|
||||||
|
brne run_animation
|
||||||
|
|
||||||
|
; Lauflicht wurde zuvor gestopped und muss neu initialisiert werden
|
||||||
|
ldi setter, 0b00000001
|
||||||
|
out PORTD, setter
|
||||||
|
rjmp run_animation
|
||||||
|
|
||||||
|
check_right_btn:
|
||||||
cpi btn_status, RBTN_PRESSED
|
cpi btn_status, RBTN_PRESSED
|
||||||
brne PC+2
|
brne check_both_btn
|
||||||
|
|
||||||
|
; Rechter Button wurde gedrückt
|
||||||
ldi cur_direction, R2L
|
ldi cur_direction, R2L
|
||||||
|
in setter, PORTD
|
||||||
|
cpi setter, 0
|
||||||
|
brne run_animation
|
||||||
|
|
||||||
|
; Lauflicht wurde zuvor gestopped und muss neu initialisiert werden
|
||||||
|
ldi setter, 0b10000000
|
||||||
|
out PORTD, setter
|
||||||
|
rjmp run_animation
|
||||||
|
|
||||||
|
check_both_btn:
|
||||||
|
cpi btn_status, BOTH_PRESSED
|
||||||
|
brne run_animation
|
||||||
|
ldi setter, 0
|
||||||
|
out PORTD, setter
|
||||||
;------
|
;------
|
||||||
|
|
||||||
run_animation:
|
run_animation:
|
||||||
|
|||||||
Reference in New Issue
Block a user