Interrupt 8051

Gast #547669
Lesenswert?
• ▲
▼
Also, im Datenblatte steht...INTO wird 0 gesetzt, das bedeutet doch, das 
ich zuerst immer auf 1 setzen muss, und wenn dann eine Negative Flanke 
(Interrupt) auftritt, wird geschalten, oder seh ich das falsch???

Das Problem ist nur, das in meinen Unterlagen INT0 nicht immer zuerst 
auf 1 gesetzt wird....
Gast #547706
Lesenswert?
• ▲
▼
SFR: TCON
Hier wird das Bit IT0 auf 1 gesetzt --> fallende Flanke löst den INT0
aus.

>Das Problem ist nur, das in meinen Unterlagen INT0 nicht immer zuerst
>auf 1 gesetzt wird....

Was meinst Du damit?
#547708
Lesenswert?
• ▲
▼
TomTom wrote:
> Also, im Datenblatte steht...INTO wird 0 gesetzt, das bedeutet doch, das
> ich zuerst immer auf 1 setzen muss, und wenn dann eine Negative Flanke
> (Interrupt) auftritt, wird geschalten, oder seh ich das falsch???
>
> Das Problem ist nur, das in meinen Unterlagen INT0 nicht immer zuerst
> auf 1 gesetzt wird....

Theoretisch sind alle Portpins nach dem Reset auf 1, also mit internem
pullup.
Kannst Ihn aber sicherheitshalber nochmal auf 1 setzen.
Wenn Du den INT0 oder INT1 zugelassen hast, kannst Du sogar durch setzen
des Ports auf 0, künstlich einen ext. Interrupt erzeugen.

Dirk
Gast #547756
Lesenswert?
• ▲
▼
Also ist INT0 bzw INT1 nach einem Reset "HIGH", aber zur Sicherheit kann 
man
ihn trotzdem nochmal auf "HIGH" setzen, hab ich das jetzt richtig 
verstanden?

Bin ganz durcheinander von den ganzen Meldungen...
Gast #595959
Lesenswert?
• ▲
▼
Hallo,
da ich selbst mal dieses Thema jetzt brauche, setz ich mal ein Fazit.
Wenn man Flankengesteuert interrupts mit einem 8051 auslosen moechte und 
zwar genauer gesagt eine HIGH - LOW Flanke dann :

SETB EX0
SETB IT0   ; HIGH -> LOW (fallende Flanke) loest den Interrupt aus

und bei LOW - HIGH Flanke ist es dann also ?! :

SETB EX0
CLR  IT0   ; LOW -> High (steigende Flanke) loest interrupt aus

Der Interrupt ist LOW aktiv, bedeutet eine Flanke von 1 nach 0 loest im 
allgemeinen den Reset aus.

Ist das Fazit richtig?

Daniel
#652538
Lesenswert?
• ▲
▼
daniel wrote:
> und bei LOW - HIGH Flanke ist es dann also ?! :
>
> SETB EX0
> CLR  IT0   ; LOW -> High (steigende Flanke) loest interrupt aus
>
> Der Interrupt ist LOW aktiv, bedeutet eine Flanke von 1 nach 0 loest im
> allgemeinen den Reset aus.
>
> Ist das Fazit richtig?
>
> Daniel

Hi Daniel!

Dein Fazit ist falsch. Wenn du IT0 = 0 setzt, so wird nicht auf Flanken 
reageiert (H -> L) sondern auf den Pegel des Pins (L). D.h., dass dein 
INT0-Pin = 1 ist und sobald eine L anliegt wird der Interrupt ausgelöst.

lg Cri

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.