-
        

Ergebnis 1 bis 6 von 6

Thema: LCD 4x40 mit PCF8574 ansteuern

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.01.2005
    Ort
    Baden-Württemberg
    Alter
    37
    Beiträge
    127

    LCD 4x40 mit PCF8574 ansteuern

    Anzeige

    Hallo,

    ich habe die LCD EA W404B-NLW bei Reichelt bestellt.



    http://www.lcd-module.de/pdf/doma/blueline-w.pdf

    Ich möchte mit PCF8574 ansteuern. LCD zeigt 4 schwarze Balken. Meine defekte LCD 16x2 hat früher geklappt. Was stimmt da nicht?

    Angeschlossen habe ich:

    D0 -> nicht belegt
    D1 -> nicht belegt
    D2 -> nicht belegt
    D3 -> nicht belegt
    D4 -> P0
    D5 -> P1
    D6 -> P2
    D7 -> P3
    E1 -> P7
    E2 -> P6
    RW -> P5
    RS -> P4
    VEE -> GND
    VDD -> 5V
    VSS -> GND
    LED+ -> nicht belegt
    LED- -> nicht belegt

    Code:
    'LCD 4x40 testen
    
    $lib "Lcd_i2c.lib"
    $regfile="m8def.dat"
    $crystal=16000000
    Const Pcf8574_lcd = &H40
    Config Scl = Portc.5
    Config Sda = Portc.4
    Dim _lcd_e As Byte
    _lcd_e = 128
    
    Cls
    Locate 1,1
    Lcd "Hallo Welt!"
    Angehängte Dateien Angehängte Dateien

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    23.02.2006
    Beiträge
    40
    Ich hate auch mal ein blaues Display, das brauchte eine Positive Kontrastspannung 0..5V

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Was mir an der Pinbelegung nicht ganz gefällt ist, adss VEE direkt auf GND liegt. VEE ist doch die Kontrastspannung? Da müsste ein Poti hin, das diesem Pin eine Spannung zwischen 0 und 5V liefern kann.
    Wenn da 4 schwarze Balken sind, ist das LCD zwar initialisiert, aber der Kontrast scheint auf Vollgas zu laufen.

    (Zum Bild fällt mir noch ein: Gut dass der Händler da nicht bescheisst *g*; dem Bild nach wärs ein 5x40)
    #ifndef MfG
    #define MfG

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.01.2005
    Ort
    Baden-Württemberg
    Alter
    37
    Beiträge
    127
    Hallo,

    es klappt, bin aber noch nicht zufrieden. Zeile 2 und 4 flackert.

    VEE habe ich jetzt mit Poti eingestellt.
    VCC -> [1 KOhm] -> Led+
    GND -> Led-
    VCC -> [1KOhm] -> Anode
    GND -> Kathode

    Ich habe folgende Zeile ergänzt:

    Code:
    'LCD 4x40 testen
    
    $lib "Lcd_i2c.lib"
    $regfile="m8def.dat"
    $crystal=16000000
    Const Pcf8574_lcd = &H40
    Config Scl = Portc.5
    Config Sda = Portc.4
    Dim _lcd_e As Byte
    _lcd_e = 192
    
    
    I2cstart
    I2cwbyte &H40
    I2cwbyte 1
    Waitms 1.64
    i2cstop
    
    Cls
    Locate 1,1
    Lcd "Hallo roboternetz!" 
    Locate 3,1
    Lcd "Meine LCD 4x40 klappt, bin aber nicht zufrieden :)"

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Versuch mal den Text für Zeile 3 zu kürzen. Der unschöne Effekt könnte daher kommen, da die Zeile ja 50 Zeichen lang ist. Kann sein, dass das Display dann mit den 10 Zeichen zu viel irgendwie nicht klarkommt.
    #ifndef MfG
    #define MfG

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Schau dir mal nochmal genau die Beipiele zu AN#118 an. Man muß immer die richtige enable Leitung anwählen.
    Um Zeile 1 und 2 zu adressieren (Bit7):
    _lcd_e = 128

    Um Zeile 3 und 4 zu adressieren (Bit6):
    _lcd_e = 64

    Für Sonderbefehle wie Cls und Deflcdchar beide Enable lines (Bit6+7):
    _lcd_e = 192

    Das 4x40 Display ist ja im Prinzip nichts anderes als zwei 2x40 Displays in einem Gehäuse. Deshalb wird Locate 3,1 oder Locate 4,1 auch nicht funktionieren!

Berechtigungen

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