Forum: Mikrocontroller und Digitale Elektronik Interrupt


von bernhard (Gast)


Lesenswert?

Hallo

Ich bringe die interruptauswertung nicht hin.
Meine INIT


 SETB EA      ;globale Interruptfreigabe
 MOV TMOD,#01h            'Timer 0 Modus = 1
 MOV TH0,#F8h            'High Byte vom Timer 0 setzen F8
 MOV TL0,#2Fh            'Low Byte vom Timer 0 setzen 2F
 SETB ET0      'Interrupt für Timer 0 aktivieren
 SETB TR0      'Timer 0  Start
 SETB IT0      'Freigabe Interrupt 0
 SETB IT1      'Freigabe Interrupt 1

und in der Interruptrotine
I0 - Adresse (0003h)
I1 - Adresse (0013h)

setze ich vor verlassen das bit IE1 oder IE0 mit clr zurück.
Aber es haut leider nicht hin.
Sieht jemand einen Fehler?

Gruß und Danke

von OldBug (Gast)


Lesenswert?

Hi!

Welcher Prozessor?

von Benedikt (Gast)


Lesenswert?

MCS51... sieht man doch G

Mit setb IT0 wird der externe Interrupt auf fallende Flanke gesetzt,
aber der Interrupt muss zusätzlich mit setb EX0 aktiviert werden !

von edi.edi (Gast)


Lesenswert?

setb ea ....als letzte zeile !?

von Benedikt (Gast)


Lesenswert?

@edi.edi
Wiso das ?
Es geht auch als erste Zelte...

von bernhard (Gast)


Lesenswert?

Danke.

Das mit EX0 war der Fehler

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.