- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: ein PC8574 für LCD und Taster?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.04.2005
    Beiträge
    22

    ein PC8574 für LCD und Taster?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    kann man eigentlich jeden Pin eines I2C-I/O- Expander unabhängig als Input und Output benutzen?

    Wenn ich zum Beispiel ein LCD im 4-bit-Modus mit einem PCF8574 betreibe, habe ich folgende Belegung.

    P0 - D4
    P1 - D5
    P2 - D6
    P3 - D7
    P4 - RS
    P5 - RW (not used, set to 0 to ground for write)
    P6 - E2 (on 1 or 2 line display nc)
    P7 - E1

    das heisst bei einem 2 zeiligen LCD sind Pin 5 und 6 frei. Können dort z.B.2 Taster angeschlossen werden, um Eingaben zu machen? Wenn ja, hat jemand vielleicht einen Codeschnippsel an dem man erkennt, wie es in Bascom aussehen könnte?

    Danke

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    kann man eigentlich jeden Pin eines I2C-I/O- Expander unabhängig als Input und Output benutzen?
    Ja, kann man.

    Wenn ich zum Beispiel ein LCD im 4-bit-Modus mit einem PCF8574 betreibe
    Wenn ja, hat jemand vielleicht einen Codeschnippsel an dem man erkennt, wie es in Bascom aussehen könnte?
    Mit einem Schnipsel ist es nicht getan, du musst dir dann eine eigene Routine zum Ansteuern des LCD schreiben.
    Nimm für das LCD besser Portpins des Controller.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    05.04.2005
    Beiträge
    22

    LCD Display läuft schon

    Das LCD läuft schon über den PCF8574. Ich verwende dafür die Lcd_i2c.lib.

    Die Ansteuerung funktioniert einfach über den Befehl "LCD "text"".

    Es gibt auch eine Lib für die Eingabe über ein Keypanel aber das eben nur mit einem zweiten PCF8574.

    Wie der direkte Lesezugriff auf den Chip mit Bascom funktioniert, weiss ich leider nicht.

    Grund für die Verwendung des I2C ist, dass Anzeige und Bedieneinheit von der Steuerungseinheit (mit AVR) getrennt werden und über ein möglichst einfaches Kabel verbunden werden sollen.

    Mein Plan B sieht die Verwendung von 2 Tastern mit Widerständen vor. Die Auswertzung geht über einen ADC (wie auf dem RN-Board). Das ist eine Ader mehr und sollte bis zu einer gewissen Kabellänge gut funktionieren. Die zwei ungenutzten Pins am PCF8574 erscheinen mir aber als eine elegantere Lösung.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Code:
    i2creceive $H40 , X            '1 Byte vom PCF in X einlesen
    X=X And &B01100000              'Zustand von Pin5 und 6 rausfiltern
    Angenommen deine Taster mit Pullup schalten gegen GND:
    X=96 - beide Taster offen
    X=64 - Taster Pin5 geschlossen
    X=32 - Taster Pin6 geschlossen

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    05.04.2005
    Beiträge
    22
    genau das habe ich gesucht.
    vielen Dank

  6. #6
    Gast
    Hallo,

    meine Schaltung I2C--> LCD läuft nicht, ich frage mich nur, warum im Anschlussplan der Pin INT nicht belegt ist und das Beispielprogramm darauf zugreift, kann mir mal jemand sein funktionierendes Prog mailen ?

    Gruss
    A. Arndt

  7. #7
    Gast
    Das Beispielprogramm läuft schon. Habe meinen Code daraus destilliert. Überprüfe nochmal alle Deine PINs am PCF 8574, LCD und auch SDA und SCL am Controller.
    Am Interrupt arbeite ich gerade, natürlich muss er dazu angeschlossen sein. Für das Testprogramm am LCD hat er aber keine Bedeutung.

    Gruß und viel Glück
    Higbeta

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test