Hallo Ich habe ein 20*4 LCD an einen Atmega8 Avr µC angeschlossen. Mit folgenen Code wird es angesteuert: --> $regfile = "m8def.dat" $crystal = 3686400 Config Lcd = 20 * 4 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5 Cls Locate 3 , 2 Lcd "Hallo " End <-- Leider wird die Darstellung auf den Display falsch angezeigt. Ich hatte das Display schonmal vor einiger Zeit angesteuert und kann mich erinnern das dazu einen Code aus den Inet verwendet habe indem es eine "Anpassung" (für Reichelt Displays) gegeben hat,kann den Code aber nicht mehr finden. Kann mir jemand da mal auf dir Sprunge helfen ? Gruß Alber
Hallo, meines Wissens kannst du dir das "Config Lcdbus = 4" sparen. Bevor du auf dem LCD etwas ausgeben kannst, musst du es noch mit "Initlcd" initialisieren, sonst siehst du da nix. Der Rest dürfte so passen. Gruß, Christian
Danke für den Tip Ich habe den Code nun doch noch gefunden und geändert, und das Display zeigt immernoch mist an :o( Werde wohl nochmal die Leitungen überprüfen. Gruß Alber
Was zeigt es genau an? Die richtigen Buchstaben nur vertauscht? Falsche Zeile? Oder Pixelmüll? Es kann sein, dass das Reichelt Display eine andere RAM-Belegung hat. Also die Stellen anderen RAM-Stellen zugehören als "normal". Dagegen kannst du nur ein bisschen in der Library in BASCOM rumpfuschen. Ansonsten -> assembler und per Hand machen
> kann mich erinnern das dazu einen Code aus den Inet verwendet habe indem es eine "Anpassung" (für Reichelt Displays) gegeben hat,kann den Code aber nicht mehr finden. Meinst Du dieses hier? http://www.mikrocontroller.net/forum/read-4-114302.html MfG formtapez
Danke genau das war der Beitrag den ich gesucht habe, leider funktioniert es mit dieser Anpassung auch noch nicht. Angezeigt werden fasche Buchstaben und Zahlen,ich habe mal verschiedenen Ports des Avr versucht (PC0-PC5 und PC4-PD0+PC6) und jedesmal kam was anderen dabei herraus teilweise wurden auch Befehle wie 'CLS' oder 'Locate' nicht ausgeführt. Gruß Alber
als erstes: lcdbus rausschmeissen, du benutzt das lcd ja schließlich im
pinmode! initlcd brauchst du nicht, das macht der compiler automatisch
beim ersten lcd-befehl. du brauchst das nur, wenn du dein lcd mal
resetten willst. hat ein 20*4 nicht schon 2 enable-leitungen ? wenn ja,
musst du diese auch noch verbindung und mit config E2=???? bekanntgeben.
wenn es keine 2 enable hat, sollte es einfach so gehen.
so sollte es gehen (wenn die verdrahtung stimmt!):
>$crystal = 3686400
benutzt du einen externen 3,6mhz quarz ?
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 ,
Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
display on
Cls
Locate 3 , 2
Lcd "Hallo "
End
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.