- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 2 von 2

Thema: LCD über Porterweiterung im 4bit Modus?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.10.2005
    Beiträge
    5

    LCD über Porterweiterung im 4bit Modus?

    Ich versuche ein TRIMODS1535 LCD über einen PCF8574P Porterweiterungs IC per I2C anzusteuern.
    Das Problem fängt jedoch bereits bei der Initialisierung des LCD's an.
    Aus dem Datenblatt ist für mich nicht wirklich ersichtlich wie dies alleine über 4 angeschlossene Datenports vonstatten gehen soll.
    Datenblatt: http://www.farnell.com/datasheets/58904.pdf
    Auf Seite 16 befindet sich ein beispiel für die 8bit Initialisierung.

    Laut "Function set" sollte ich folgendes senden um in den 4 bit modus mit 2 Zeilenbetrieb zu kommen:
    DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
    0 0 1 0 1 0 x x

    DB7 bis DB4 kann ich senden, jedoch befindet sich das Display ja noch nicht im 4 bit modus, also was ist mit DB3/2?

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    05.10.2005
    Beiträge
    5
    Ok, ich konnte das Problem nach längerem hin und her nun lösen.

    Die Init routine:
    Code:
    void lcdInit(void) 
    {
      // wait for more than 30ms after Vdd raised
      _delay_ms(32);
      lcdOut(0x00);
      
      // set mode to 8 bit if the lcd got no reset
      lcdOut(LCD_D5|LCD_D4);
      lcdOut(LCD_D5|LCD_D4|LCD_E);
      _delay_us(40);
      lcdOut(LCD_D5|LCD_D4);
    
      lcdOut(0x00);
      lcdOut(LCD_E);
      _delay_us(40);
      lcdOut(0x00);    
    
      // set mode to 4 bit 
      lcdOut(LCD_D5);
      lcdOut(LCD_D5 | LCD_E);
      _delay_us(40);
      lcdOut(LCD_D5);
      
      // from now on display can be interfaced using 4bit mode
      lcd4BitOut(0x28, 0); // function set 4 bit, 2 line mode, 5x8 Dots
      lcd4BitOut(0x0F, 0); // display on, cursor on, blink on
      lcdClear();
      lcd4BitOut(0x06, 0); // entry mode, increment mode, entire shift off
    }
    Ob die sache mit dem "set mode to 8 bit" so sauber programmiert ist bin ich mir nicht sicher. Funktionieren tut es zumindest bis jetzt.

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress