This commit is contained in:
S170H
2023-11-11 21:35:59 +01:00
parent 965a5d073b
commit ec783fd3b6
19 changed files with 825 additions and 59 deletions

View File

@@ -0,0 +1,71 @@
;
; P1.asm
;
; Created: 12.10.2023 22:54:52
; Author : Safak Hazinedar
;
.include "m328pdef.inc"
.org 0x00
rjmp init
init:
ldi r16, LOW(RAMEND) ; Stack einrichten für Befehle
out SPL, r16
ldi r16, HIGH(RAMEND)
out SPH, r16
ldi r17, 0xFF
out DDRD, r17 ; Data direction register D (D0-D7) as output
ldi r18, 0x03
out DDRB, r18 ; Data direction register B (B0-B1) as output
ldi r17, 0x01 ; initialize D0
portD_left:
out PORTD, r17
rcall delay
lsl r17 ; shift left until PortD is 0x00
cpi r17, 0x00 ;
brne portD_left
out PORTD, r17 ; D0-D7 = 0
ldi r18, 0x01 ; switch to PortB
portB_left:
out PORTB, r18 ; D8 = 1
rcall delay
lsl r18
cpi r18, 0x02 ; length of PortB is variable
brne portB_left
; D9 = 1 => last LED turned on
portB_right:
out PORTB, r18
rcall delay
lsr r18 ; turn direction
cpi r18, 0x00 ; shift right until PortB is 0x00
brne portB_right
out PORTB, r18 ; turn of PortB or rather D8 & D9
ldi r17, 0x80
portD_right:
out PORTD, r17 ; turn on D7
rcall delay
lsr r17
cpi r17, 0x01 ; shift right until D0 is reached
brne portD_right
jmp portD_left ; turn direction
delay:
ldi r19, 17
ldi r20, 60
ldi r21, 204
L1: dec r21
brne L1
dec r20
brne L1
dec r19
brne L1
ret