mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I²C tolle Alternative


Autor: Martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich habe mir gerade den Baustein PCF8574 etwas näher angeschaut.
Es handelt sich um einen I²C Baustein, welcher 8 parallele I/Os hat.
Mein Frage dazu:
Wie schalte ich jetzt einen Output auf einen Input und umgekehrt? Es 
kann ja auch sein, dass ich 4 Bits als Input haben möchte und 4 Bits als 
Output.

Funktioniert das so wie beim 8051, nämlich, dass eine 1 bedeutet, dass 
der Port Output high ist und gleichzeitig Input?
Oder hängt das Ganze vom Lese- oder Schreibkommando ab.
Also, wenn gelesen wird vom I²C, dass die Ports Inputs sind usw.

Danke für eure Antwort.

Martin

Autor: Bernhard T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
7.3 Ein quasi bidirektionaler I/O kann benutzt werden als Eingang oder 
Ausgang, ohne dafü ein Kontrollsignal für die Datenrichtung zu 
benötigen. ...
Das Ende vom Lied du setzt die Ausgänge auf High und die werden auf Low 
gezogen bei 0 oder auch nicht bei 1 High.
Der Rest ist I2C lesen -  schreiben.
Gruß Bernhard

Autor: Simon Pasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin!

Ich benutze den PCF8574 zum Abfragen einer Matrix-Tastatur.
4Bit als Eingang, 4Bit als Ausgang.

Es ist fast so, wie du vermutet hast: Wenn du eine Leseanfrage an den 
Baustein sendest werden die Ports als Inputs verwendet, beim Schreiben 
als Output.
Was zwischen den Anfragen passiert ist ziemlich wurscht (bisher hat ers 
mir jedenfalls nicht übel genommen).

gruß

Simon

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!
Tolle Sache dieser Baustein. Bis jetzt habe ich nur das Schieberegister 
74HC164 gekannt, welches nur als Ausgang benutzt werden kann.
Der zweite Nachteil besteht darin, dass, wenn man ein Byte 
hineinschiebt, die einzelnen Bits während des Hineinschiebens schon 
angezeigt werden. Das heißt, Bit 7 durchläuft alle Bits, bis es endlich 
an seinem Platz ist. Also während des Hineinschiebens wird es an den 
entsprechenden Pins angezeigt.

Tschüss
Martin

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

deswegen nimmt man für sowas auch nicht 164 sondern 595. Der hat 
zusätzliche Output-Latches.

Die Pins des PCF8574 verhalten sich ansonsten wie die eines 8051. D.h. 
sie haben keinen aktiven Hightreiber sondern nur einen Pull-Up drin. Den 
kann man extern runterziehen. Gelesen wird dann der Pegel direkt am Pin.

Matthias

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.