Forum: Mikrocontroller und Digitale Elektronik Interupt problem (flanken steuerung?)


von M. J. (lost)


Lesenswert?

Hallo...


Verwende eine AT89 C51 ED2 µC

Habe folgendes Problem:

Habe eine Interrupt routine die auf "abfallende Flanken" reagiert, 
jedoch brauch ich eine Interrupt routine, die bei "steigender Flanke" 
reagiert! also positiv flanken gesteuert!

Der Code mit der "negativen Flankensteuerung" hab nicht selbst 
geschrieben und verstehe diesen Inhalt auch nicht wirklich.

Code: -> Negative Flankensteuerung

setb   IT0   ; ext. Interrupt0 bei abfallender Flanke
clr    IE0   ; Anforderungsflag löschen
setb   EX0
setb   EA    ; globale Interruptfreigabe

Es wäre sehr net, wenn ihr mir diesen Code erklären köntet bzw. warum 
ich die bits setzten muss und dann löschen und wie dadurch die 
Flankensteuerung zustande kommt? Damit ich verstehe wie ich den Code 
schreiben muss um eine positive Flankensteuerung zu machen!
Wie kann ich den Ex. Interrupt positiv Flanken gesteuert machen?


Vielen DANK im vorraus!

von Ahem (Gast)


Lesenswert?

>verstehe diesen Inhalt auch nicht wirklich

Und was davon verstehst Du?
Datenblatt vorhanden?

von M. J. (lost)


Angehängte Dateien:

Lesenswert?

Hab diese Screenshots (im Anhang) aus einem Scrip für den 8051
Ein beispiel Programm ist auch dabei, jedoch ist das für abfallende 
Flanken!!

In dem script steht auch dass "abfallende Flanken oder low signals" 
Interrupts auslösen können jedoch bin ich mir nun unsicher ob es nicht 
doch auch mit der anderen Methode gehen würde (steigende Flanke)???

von Ahem (Gast)


Lesenswert?

>jedoch bin ich mir nun unsicher ob es nicht
>doch auch mit der anderen Methode gehen würde (steigende Flanke)???

Ich verstehe nur nicht wo da das Problem ist. Schau im Script und im 
Datenblatt nach und dann weisst Du es.

von Peter D. (peda)


Lesenswert?

M. J. wrote:

> Wie kann ich den Ex. Interrupt positiv Flanken gesteuert machen?

Garnicht, sonst würde ja im Datenblatt drinstehen, wie.

Du kannst den Interrupt aber auf High-Level triggern. Dazu muß man den 
Timer in den Gate-Mode setzen, 8Bit-Reload und auf 0xFF vorladen. Dann 
kriegst Du nen Timerinterrupt bei High-Level.

Du kannst aber die PCA-Eingänge auf die High-Flanke setzen. Du hast dann 
aber nur einen Interruptvektor für alle PCA-Events.


Peter

von holger (Gast)


Lesenswert?

>> Wie kann ich den Ex. Interrupt positiv Flanken gesteuert machen?

>Garnicht, sonst würde ja im Datenblatt drinstehen, wie.

Inverter vor den Eingang schalten?

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.