- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Probleme bei der Zeilendarstellung für LCD (EADIP204)

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519

    Probleme bei der Zeilendarstellung für LCD (EADIP204)

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    Mein LCD (KS0073 Kontroller) hat ein Problem beim Darstellen von Texten in den Zeilen 2 und 4 (siehe Bild)

    Ich hoffe ihr könnt mir helfen. Ihr könnt ja Bild und Code miteinander vergleichen. Ich weis nicht wie ich diese Klammerflut wegbekommen soll.

    Code:
    $regfile = "m32def.dat"                                     'ATmega32
    $crystal = 11059200                                         'Quarz: 11059200 Hz
    
    Declare Sub Lcdwrite(byval Zeichen As Byte)
    
       'Pins des LCD-Modules
    
       Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.4 , Rs = Porta.5
    
    
       Initlcd
       Config Lcd = 20 * 4a
    
    
       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
    
    
    Do
    
    Locate 1 , 1 : Lcd "Das ist ein LCD-Test"
    Locate 2 , 1 : Lcd "...Und noch ein Test"
    Locate 3 , 1 : Lcd "Gestern ist heute..."
    Locate 4 , 1 : Lcd "noch morgen - Test12"                   
    
    Loop
    
       'Schreibt die Initialisierungs - Bits zum LCD
       Sub Lcdwrite(byval Zeichen As Byte)
    
    
         ' Höherwertiges Nibble setzen
         If Zeichen.4 = 1 Then Porta.0 = 1 Else Porta.0 = 0
         If Zeichen.5 = 1 Then Porta.1 = 1 Else Porta.1 = 0
         If Zeichen.6 = 1 Then Porta.2 = 1 Else Porta.2 = 0
         If Zeichen.7 = 1 Then Porta.3 = 1 Else Porta.3 = 0
         ' Höherwertiges Nibble übertragen
         Porta.4 = 1
         Waitms 1
         Porta.4 = 0
         Waitms 1
    
         ' Niederwertiges Nibble setzen
         If Zeichen.0 = 1 Then Porta.0 = 1 Else Porta.0 = 0
         If Zeichen.1 = 1 Then Porta.1 = 1 Else Porta.1 = 0
         If Zeichen.2 = 1 Then Porta.2 = 1 Else Porta.2 = 0
         If Zeichen.3 = 1 Then Porta.3 = 1 Else Porta.3 = 0
         ' Niederwertiges Nibble übertragen
         Porta.4 = 1
         Waitms 1
         Porta.4 = 0
         Waitms 1
    
    
       Waitus 250
    
       End Sub
    
    End
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken img_1588-rz.jpg  

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519
    Hmm hat denn niemand eine Idee an was es liegen könnte?
    Also die Verdrahtung habe ich mehrmals überprüft, die ist korrekt. Es muss irgend ein Softwarefehler bzw. ein Initialisierungsproblem sein (wie auch sonst könnten die Klammern da hinkommen?)

  3. #3
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Das ist schon öfters diskutiert worden.
    Hier wird dir geholfen:
    https://www.roboternetz.de/phpBB2/ze...ghlight=ks0073

    Gruß Frank

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519
    Das ist mir schon bekannt. Ich habe auch bevor ich diesen Thread aufgemacht habe als Basis für meinen LCD-Code den Code genutzt, der unter deinem Link vorgeschlagen wird. Eben mit dem oben zu betrachtenden Ergebnis.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.09.2005
    Ort
    Greifswald
    Beiträge
    17
    Hallo,

    bei mir funktioniert es so:

    Code:
    '*****************************************************************************************************************
    '  Bascom AVR Compiler 1.11.8.1
    '  ATMega8 Applikation
    '
    '  Manfred Look
    '  
    '  http://www.malo-web.de
    '
    '  - LCD EADIP204 Ansteuerung 4x20 Zeichen
    '
    '*****************************************************************************************************************
    
    '--compiler directives--------------------------------------------------------------------------------------------
    '
    $regfile = "m8def.dat"                                      'Chip auswaehlen: ATMega8
    $crystal = 1000000                                          'Taktfrequenz (Hz) festlegen
    $hwstack = 32                                               'Hardware Stack
    $swstack = 8                                                'Software Stack
    $framesize = 16                                             'Framsize
    '
    'Initialisierung LCD EADIP204 - 4Bit Mode - Ports entsprechend Schaltung anpassen
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portb.0 , Rs = Portb.1
    Config Lcd = 20 * 4a , Chipset = Ks077
    Cls
    '
    Locate 1 , 1                                                'LCD Cursor setzen
    Lcd "Das"                                                   'LCD Anzeige
    Locate 2 , 1
    Lcd "ist"
    Locate 3 , 1
    Lcd "ein"
    Locate 4 , 1
    Lcd "Test"
    '
    Do                                                          'Endloss Schleife
    Loop
    Gruß Manfred

  6. #6
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    @Foooob: Es ist sicherlich auch eine Sache der Bascom Version, denn mit jeder Version wird auch die LCD Unterstützung erweitert.

    Probier mal das von mlgahoc aus. Sollte das nicht klappen nimm nochmal das von meinem Link, das sollte in jedem Fall gehen. Wenn nicht poste mal deinen Beispielcode, vielleicht haste nur einen Befehl vergessen, bei mir und anderen hats ja schon sehr gut funktioniert.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519
    Vielen Dank Frank!!
    Ja es lag tatsächlich an einer alten BASCOM-Version.
    Nun funktioniert es tadelos!

    Vielen, vielen Dank!

Berechtigungen

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

Labornetzteil AliExpress