8051: Ext. Interrupt

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

Reply to
Tilo Gockel
Loading thread data ...

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ß.
 Click to see the full signature
Reply to
Tilmann Reh

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

Reply to
Tilo Gockel

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ß.
 Click to see the full signature
Reply to
Tilmann Reh

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
Reply to
Gernot Fink

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

Reply to
Udo Piechottka

Udo Piechottka schrieb:

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

--
Dipl.-Ing. Tilmann Reh
Autometer GmbH Siegen - Elektronik nach Maß.
 Click to see the full signature
Reply to
Tilmann Reh

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.