Gast
#1117054
Hallo zusammen,
möchte meinen Atmega8 so programmieren,sodass er auf einen externes
Signal reagiert. habe dazu folgendes Programm geschrieben:
.include "m8def.inc"
.cseg
.def akku = r16
.def zael = r18
rjmp start
.org INT1addr
rjmp taste
.org $2A
;Stack INIT
start: ldi akku,low(RAMEND)
out SPL,akku
ldi akku,high(RAMEND)
out SPL,akku
;Output INIT
ldi akku,$0F
out DDRB,akku
clr zael ;Register Zael löschen
out PORTB,zael ;Output PortB (PB0-PB3)
;Interrupt INIT (INT1)
in akku,MCUCR ;lade MCUCR in akku
sbr akku,1 << ISC11 ;Setzte ISC11
sbr akku,1 << ISC10 ;Setzte ISC10
out MCUCR,akku ;Übertrage 00001100 ins MCUCR-Reg (steigende
Flanke).
in akku,GICR ;Lade GICR in akku
sbr akku,1 << INT1 ;Setzte INT1
out GICR,akku ;übertrage 10000000 ins GICR-Reg.
sei ;Setzte das I-Bit
;Hauptprogramm
loop: rjmp loop ;Endlosschleife
;Unterprogramm
taste: ldi akku,sreg ;SREG in akku
.
.
.
reti ;zurück nach loop
.exit
Habe mir schon einige Beträge bzw. Bücher zu diesem Thema angeschaut,
nur leider kann ich meinen Fehler nicht erkennen. Nachdem Programmieren
reagiert der ATMEGA einfach nicht auf den Interrupt... und kann mir von
euch jemand verraten wie ich im AVR-Studio einen externen Interrupt beim
deguggen simulieren kann?
Viele Grüße Marco