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?)
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
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?)
Das ist schon öfters diskutiert worden.
Hier wird dir geholfen:
https://www.roboternetz.de/phpBB2/ze...ghlight=ks0073
Gruß Frank
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.
Hallo,
bei mir funktioniert es so:
Gruß ManfredCode:'***************************************************************************************************************** ' 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
@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.
Vielen Dank Frank!!
Ja es lag tatsächlich an einer alten BASCOM-Version.
Nun funktioniert es tadelos!
Vielen, vielen Dank!
Lesezeichen