Wechsel Laufrichtung ab der aktuellen Stelle
This commit is contained in:
18
macros.inc
18
macros.inc
@@ -4,17 +4,19 @@
|
||||
|
||||
.macro left_to_right
|
||||
in @0, PORTD
|
||||
rol @0
|
||||
brcc PC+2
|
||||
ldi @0, 0b00000001
|
||||
out PORTD, @0
|
||||
.endmacro
|
||||
|
||||
.macro right_to_left
|
||||
in @0, PORTD
|
||||
clc
|
||||
ror @0
|
||||
brcc PC+2
|
||||
ldi @0, 0b10000000
|
||||
out PORTD, @0
|
||||
.endmacro
|
||||
|
||||
.macro right_to_left
|
||||
in @0, PORTD
|
||||
clc
|
||||
rol @0
|
||||
brcc PC+2
|
||||
ldi @0, 0b00000001
|
||||
out PORTD, @0
|
||||
.endmacro
|
||||
|
||||
|
||||
14
main.asm
14
main.asm
@@ -14,7 +14,7 @@
|
||||
.def cur_direction = R20
|
||||
|
||||
.equ L2R = 0x01
|
||||
.equ R2L = 0b00000100
|
||||
.equ R2L = 0x04
|
||||
.equ RBTN_PRESSED = 0b00000100
|
||||
.equ LBTN_PRESSED = 0b00000001
|
||||
|
||||
@@ -38,8 +38,8 @@ init:
|
||||
; ldi setter, 0b11111010
|
||||
ser setter
|
||||
out DDRB, setter ; PB0 und PB2 als Inputs definieren
|
||||
; ldi setter, 0b00000101
|
||||
; out PORTB, setter ; Interne Pullups aktivieren
|
||||
ldi setter, 0b00000101
|
||||
out PORTB, setter ; Interne Pullups aktivieren
|
||||
clr setter
|
||||
out PORTB, setter
|
||||
|
||||
@@ -94,16 +94,12 @@ overflow_handler:
|
||||
; Laufrichtungswechsel
|
||||
;----
|
||||
cpi btn_status, LBTN_PRESSED
|
||||
brne PC+3
|
||||
ldi setter, 0b10000000
|
||||
brne PC+2
|
||||
ldi cur_direction, L2R
|
||||
|
||||
cpi btn_status, RBTN_PRESSED
|
||||
brne PC+3
|
||||
ldi setter, 0b00000001
|
||||
brne PC+2
|
||||
ldi cur_direction, R2L
|
||||
|
||||
out PORTD, setter
|
||||
;------
|
||||
|
||||
run_animation:
|
||||
|
||||
Reference in New Issue
Block a user