Forum: Mikrocontroller und Digitale Elektronik INT1 macht Probleme bei AT89c51cc03


von Matthias (Gast)


Lesenswert?

Hallo,

ich habe Probleme, dass der INT1 auslöst, obwohl zu dieser Zeit keine 
fallende Flanke kommt.

Initialisieren mache ich so:

EX1 = 0; //Ext Int 1 erst mal sperren
IT1 = 1; //Ext Int 1 reagiert auf fallende Flanke



Starten mache ich dann so:

PinUSchall = 0; //startet Ultraschall Chip
EX1 = 1; //Ext Int 1 freigeben
PinUSchall = 1;

Da ja der Pin schon auf Lo ist, sollte es doch keinen Interrupt mehr 
geben, erst wenn durch den Eingang dann eine fallende Flanke kommt. Oder 
wird sich die Flanke schon gemerkt und dann, wenn der Interrupt erlaubt 
ist, dann in die ISR Routine gesprungen?
Kann ich dann die "Vormerkung" löschen?

von Ralf (Gast)


Lesenswert?

> Oder wird sich die Flanke schon gemerkt und dann, wenn der Interrupt
> erlaubt ist, dann in die ISR Routine gesprungen?
Korrekt.

> Kann ich dann die "Vormerkung" löschen?
Ja, kannst du vor der Freigabe des Interrupts machen.

Ob das so Sinn macht, ist die andere Frage... Was genau hast du denn 
vor?

Ralf

von Matthias 2. (zeras)


Lesenswert?

Ich muss erst mit dem ersten Lo Impuls einen Ultraschallsesnsor starten. 
Dann wieder auf high setzen und warten, bis der Eingang wieder auf Lo 
geht.
Die Zeit zwischen ersten Lo setzen und zweiten Lo bekommen ist 
proportional zur Entfernung.
Ich hatte das so vor. Erst auf Lo ziehen, dann Zähler starten, dann 
kurze Zeit warten, dann auf High setzen und warten,  bis der Eingang 
dann wieder auf Lo geht. Diese Flanke am INT1 sollte dann den Zähler 
auslesen. Diesen dann umrechnen und ich habe meine Entfernung bzw. 
Inhalt meiner Zisterne.

von Peter D. (peda)


Lesenswert?

Matthias schrieb:
> Kann ich dann die "Vormerkung" löschen?

Ja.
Das ist auch üblich, wenn man nicht auf Ereignisse triggern will, die 
schon Jahre her sind.


Peter

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.