- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 17

Thema: Initialisierung des LCD - Display (20x4)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2004
    Ort
    Saarland
    Alter
    55
    Beiträge
    15

    Lösung gefunden für Display 20x4 mit KS0073

    Hallo nochmal,

    bin zwar nicht direkt zum Ausprobieren der Tipps gekommen, habe nun aber die Lösung mithilfe der Tips gefunden.

    Den Code habe ich mal beigefügt:

    Code:
       'Pins des LCD-Modules setzen ggf. an eigene Anschlüsse anpassen
    
       Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.1
       Initlcd
    
       'Config Lcd = 20 * 4      ' wird nicht benötigt daher auskommentiert
       'Config Lcdbus = 4        ' oder weglassen :-)
    
       Call Lcdwrite(&B00101100)
       Waitms 5
    
       Call Lcdwrite(&B00001001)
       Waitms 5
    
       Call Lcdwrite(&B00101000)
       Waitms 5
    
       Call Lcdwrite(&B00000110)
       Waitms 5
    
       Call Lcdwrite(&B00001100)
       Waitms 5
    
       '...
       ' hier LCD - Ausgaben und Hauptprogramm
       '...
    
       'Schreibt die Initialisierungs - Bits zum LCD
    
       Sub Lcdwrite(byval Zeichen As Byte)
    
         ' Höherwertiges Nibble setzen
         If Zeichen.4 = 1 Then Portc.4 = 1 Else Portc.4 = 0
         If Zeichen.5 = 1 Then Portc.5 = 1 Else Portc.5 = 0
         If Zeichen.6 = 1 Then Portc.6 = 1 Else Portc.6 = 0
         If Zeichen.7 = 1 Then Portc.7 = 1 Else Portc.7 = 0
         ' Höherwertiges Nibble übertragen
         Portc.3 = 1
         Waitms 1
         Portc.3 = 0
         Waitms 1
    
         ' Niederwertiges Nibble setzen
         If Zeichen.0 = 1 Then Portc.4 = 1 Else Portc.4 = 0
         If Zeichen.1 = 1 Then Portc.5 = 1 Else Portc.5 = 0
         If Zeichen.2 = 1 Then Portc.6 = 1 Else Portc.6 = 0
         If Zeichen.3 = 1 Then Portc.7 = 1 Else Portc.7 = 0
         ' Niederwertiges Nibble übertragen
         Portc.3 = 1
         Waitms 1
         Portc.3 = 0
         Waitms 1
    
       End Sub
    Das kann man zwar bestimmt noch besser machen, aber es funktioniert.

    Ich habe jetzt "nur" noch das Problem, dass das LCD mit den Bascom-Befehlen
    - Lowerline die dritte Zeile und mit
    - Thirdline die Zweite Zeile anspricht.

    Das ist zwar nicht schön aber kein Problem, da ich das ja im Code berücksichtigen kann. (Nur für die Dokumentation ist es etwas verwirrend.)

    Wenn hier noch jemand einen Tipp für mich hat, ist der gerne willkommen, ansonsten lasse ich es so wie es jetzt ist.

    Danke nochmal für die Hilfe.
    Gruß, Jörg
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken display_20x4.jpg  

Berechtigungen

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

Labornetzteil AliExpress