Hier in Ruhe. Die Leds sind so schnell, dass man nicht sieht wie sie leuchten.
Bild hier
Code:
;**********************************************************
.include "2313def.inc" ; Definitionen für AT90S2323
.org 0x000 ; kommt ganz an den Anfang des Speichers
rjmp RESET ; Reset Handle
;**********************************************************
RESET:
.def temp = r16 ; temp als Universalregister definieren
ldi temp,low(RAMEND) ; Stackpointer initialisieren
out SPL,temp
ser temp ; temp = FF
out DDRB,temp ; Datenrichtungsregister für Port B auf Ausgang schalten
Text:
ldi temp, $C0
out PORTB,temp
rcall wait
ldi temp, $FF
out PORTB,temp
rcall wait
ldi temp, $C0
out PORTB,temp
rcall wait
ldi temp, $FF
out PORTB,temp
rcall wait
ldi temp, $03
out PORTB,temp
rcall wait
ldi temp, $FF
out PORTB,temp
rcall wait
ldi temp, $C0
out PORTB,temp
rcall wait
ldi temp, $FF
out PORTB,temp
rcall wait
ldi temp, $C0
out PORTB,temp
rcall wait
ldi temp, $FF
out PORTB,temp
rcall wait
ldi temp, $00
out PORTB,temp
rcall wait
rcall wait
rjmp Text
wait:
; =============================
; Warteschleifen-Generator
; 80000 Zyklen:
; -----------------------------
; warte 79998 Zyklen:
ldi R17, $86
WGLOOP0: ldi R18, $C6
WGLOOP1: dec R18
brne WGLOOP1
dec R17
brne WGLOOP0
; -----------------------------
; warte 2 Zyklen:
nop
nop
; =============================
ret
Lesezeichen