8051: Ext. Interrupt

Sep 06, 2004 6 Replies

Karlsruhe, den 6. September 2004



- Liebe Kollegen, zu den zwei externen Interrupts des 8051 habe ich widersprüchliche Angaben gefunden. Mal wird geschrieben, dass es nur zwei Möglichkeiten gibt:


  1. negativ (fallend) Taktflanken-getriggert
  2. negativ zustandsgetriggert

mal ist aber auch die Rede vom Auslösen bei beiden Flanken.



Und genau das würde ich brauchen...



Weiß da jemand Rat?



Danke und Gruß Tilo


- gockel at ira punkt uka punkt de


Tilo Gockel schrieb:

Trick [tm]: Den Interrupt flankengetriggert programmieren (damit löst der bei der fallenden Flanke aus). Dann den zu dem entsprechenden Pin gehörenden Timer als "Gated Timer" programmieren und den Inhalt auf

-1 (FFFF) setzen. Sobald Dein Signal wieder auf 1 geht, läuft einen CPU-Zyklus später der Timer über und löst einen Interrupt aus.

Natürlich (ver-)brauchst Du hierbei einen der Timer, und mußt jeweils in der Flanken-ISR den Timer wieder auf die nächste steigende Flanke vorbereiten (auf -1 laden und starten) und in der Timer-ISR den Timer wieder anhalten. Außerdem kommt der Interrupt auf die steigende Flanke dann um einen Zyklus verspätet.

Ansonsten brauchst Du externe Hardware (Inverter) und beide INT-Eingänge.

Dipl.-Ing. Tilmann Reh Autometer GmbH Siegen - Elektronik nach Maß. http://www.autometer.de

nicht schlecht!

Leider für mich nicht praktikabel, da ich ja gerade die externen Ints als Zähler externer Ereignisse _ohne_ Timer-Int (keiner mehr frei) missbrauchen will-.... :-(

Trotzdem danke,

Gruß

Tilo

"Tilmann Reh" schrieb im Newsbeitrag news:chh725$j4t$ snipped-for-privacy@online.de...

Angaben

Tilo Gockel schrieb:

Falls die Ereignisse (Flanken) nur relativ selten kommen und Du einen schnellen periodischen Interrupt laufen hast (oder laufen lassen kannst), wäre noch eine Auswertung des Signals am Port vollständig mit Software denkbar (Vergleich gegen bisherigen Zustand; bei Änderung entsprechend reagieren). Ist natürlich alles eine Frage der Randbedingungen...

Bitte lies auch mal

formatting link

Dipl.-Ing. Tilmann Reh Autometer GmbH Siegen - Elektronik nach Maß. http://www.autometer.de

Zum zählen würd ich auf alle Fälle Flanken verwenden.

Das mit den pos. und negativen flanken kann INT2 der aber nur in manchen besseren 8051 versionen vorhanden ist.

MFG Gernot

Tilo Gockel schrieb:

Soweit ich weiss, kann man beim 8051 die Konfiguration laufend ändern, bin mir aber nicht ganz sicher. So könntest Du nach einer pos. Flanke den Int auf eine negative umprogrammieren, sicherheitshalber nochmal den Pegel vor Verlassen der Int-Routine abfragen, um nichts verpasst zu haben.

Gruss Udo

Udo Piechottka schrieb:

Nein. Der 8051 kann nur "fallende Flanke" oder "low-Pegel".

Dipl.-Ing. Tilmann Reh Autometer GmbH Siegen - Elektronik nach Maß. http://www.autometer.de

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required