Hallo,
ich bin gerade an einem kleine ASM-Projekt dran, jetzt hab ich ein Prog getippt, das alle 0,01sec in eine Interruptroutine springen soll und dort ein Bit eines Ports auf Hi setzt, nur es tut sich nichts, aber ich kann ums verrecken den fehler nicht finden, könnt ihr mir sagen was hier nicht stimmt?
Code:
;Includedatei für AT90S2313 laden
.include "2313def.inc"
;Arbeitsregister definieren
.def temp = r16
;Interupt Config.
.org 0000
rjmp start
nop
nop
nop
nop
rjmp t1int
Start:
;Interupt Config II
sei
ldi temp,0b10000010
out tccr1a,temp
ldi temp,0xb4
out tcnt1l, temp
ldi temp,0xe2
out tcnt1h, temp
;Stack einrichten
ldi temp,low(ramend)
out spl,temp
;PortB I/O-Config
ldi temp,0b01111111
out ddrb, temp
;PortD I/O-Config
ldi temp,0b00111111
out ddrd, temp
;Hauptprogramm
Main:
ldi temp,0b00000001
out portd,temp
ldi temp,0b00000000
out portb,temp
End: rjmp End
;Interuptroutine
t1int:
ldi temp,0b00000001
out portb,temp
Reti
Grüße teslanikola
Lesezeichen