mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie geht das Polling beim At89S8253 ?


Autor: snoopy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich will 3 Taster über Polling ständig abfragen,weiss leider aber nicht 
wie ich des in Meiner Schaltung realisiere?

Bitte um Hilfe.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo liegt nun das Problem?
In der Schaltung oder in der Programmierung?

Autor: snoopy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Schaltung!
:-)
programmiert hab ich des mit

jb,taster1,....

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Taster kommen an den Port deiner Wahl, die andere Seite an GND. Wenn 
du das über Port0 machst, brauchst du zusätzlich Pull-Ups. Dann dürfte 
das funzen...

Ralf

Autor: Iris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab des jetzt am Port 1.0 - 1.2 angeschlossen brauch ich dort auch 
Pull ups???

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe das gleiche problem HILFE!!!!!!!!!!!!!!!!!!!!!!!!

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie geht dann die Polling abfrage genau? Code...?

geht die so? jb Taster1,Unterprogramm1
             jb Taster2,UnterProgramm2
             jb Taster3,UnterProgramm3

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte hilfe!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.