mega16 interrupt

OP #259550
Lesenswert?

Hallo
Warum funktionieren in diesen simplen Code die Interrupts nicht,
was habe ich hier vergesen:
1
.include "m16def.inc"
2
.def temp = r16
3

4

5
.org 0x000             
6
        jmp RESET
7
.org 0x002
8
  jmp int_EX1  
9
.org 0x004
10
  jmp int_EX2      
11

12
RESET:
13

14
;------------------------------------------------------ 
15
; PORTB auf Ausgang  -  PORTC auf Ausgang
16
;------------------------------------------------------ 
17
  ldi temp,0xff
18
  out DDRD,temp
19
  ldi temp,0x00
20
  out DDRC,temp 
21
;------------------------------------------------------ 
22
;Speicherpointer initialisieren
23
;------------------------------------------------------ 
24
  ldi ZL,0x0060
25
  ldi ZH,0x00
26
;------------------------------------------------------ 
27
;Stackpointer initialisieren
28
;------------------------------------------------------ 
29
        ldi temp, LOW(RAMEND)
30
        out SPL, temp
31
        ldi temp, HIGH(RAMEND)
32
        out SPH, temp
33
;------------------------------------------------------ 
34
;Hauptprogramm
35
;------------------------------------------------------ 
36
  sei
37

38
mainloop: rjmp mainloop
39

40

41
int_EX1:
42
  sbi PORTD,6
43
  reti 
44
int_EX2:
45
  cbi PORTD,6
46
  reti

Wäre dankbar für wenn mir jemand diese Frage beantworten könnte Hilfe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren