Wie geht das Polling beim At89S8253 ?

Gast #572905
Lesenswert?

Alle Ports beim 8051er haben Pull-Ups intern (~100k, wenn ich nicht 
irre).
Außer Port0.

Man braucht auch keine Datenrichtung umschalten, da die
Pins open-drain sind.

Kaputt machen kann man am Controller durch das Prinzip auch
so schnell nix.

Einfach mit dem Schalter/Taster vom Portpin gegen Masse schalten
und gut ist.

Bei der Abfrage dann nur noch darauf achten, dass der Taster
"low-aktiv" schaltet. Also: Pin = 0(low) entspricht "Taster gedrückt"

OK!?
Gast #572963
Lesenswert?

Bei den 8051ern ist es so, die Pins, welche als Eingang genutzt werden, 
dürfen nicht zuvor per Software auf L gesetzt werden. Nach dem RESET 
sind alle Pins automatisch auf H gesetzt, können als als Eingang benutzt 
werden, Ausnahme meist Port 0, Typabhängig.

Wenn man sich nicht sicher ist, sollte man das Augangslatch zuvor auf H 
setzen:

P1_0 = 1;
oder P1 = 0xFF;

Dann kann der Pin/Port ohne Probleme als Eingang genutzt werden.

Gruß Matthias
#575311
Lesenswert?

Ben wrote:
> Wie geht dann die Polling abfrage genau? Code...?
>
> geht die so? jb Taster1,Unterprogramm1
>              jb Taster2,UnterProgramm2
>              jb Taster3,UnterProgramm3


Nein, gedrückt ist ja 0V, also Bit = 0, also JNB ...


Bringt aber in der Regel nicht das, was man will (Aktion nur einmalig 
beim Drücken, nicht solange man drückt immer und immer wieder) und 
prellt wie sau.


Sauber ist es daher mit Timerinterrupt.


Peter

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