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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren