robodriver
03.05.2008, 10:54
Hallo Leute,
Ich komm hier momentan auf keinen grünen Zweig mehr und hoffe das ihr vielleicht einen Rat wisst. Ich selbst bin mit meinen Ideen am Ende.
Folgendes: Ich habe eine Schaltung Mit einem LCD 16x2 Dotmatrix-Display an einem ATMega32.
Diese Schaltung hat auch über mehrere Monate hinweg super gute Dienste geleistet. In den letzten Tagen habe ich dann nun an der Software im Controller noch einige änderungen vor genommen (Die aber nichts mit dem LCD zu tun hatten) und dann plötzlich funktionierte das LCD nicht mehr. Bzw. es wird nur noch die erste Zeile vollständig angezeigt (Alle Dots an).
Zur Hardwareverbindung:
RS -> PA4
R/W -> PA5
E -> PA6
D0-3 -> GND
D4 -> PC7
D5 -> PC6
D6 -> PC5
D7 -> PC4
Um einen Fehler im großen Programm zu vermeiden habe ich ein kleines Test-Programm geschrieben, was einfach nur etwas auf dem LCD anzeigen soll:
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.7 , Db5 = Portc.6 , Db6 = Portc.5 , Db7 = Portc.4 , E = Porta.6 , Rs = Porta.4
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Porta.5 = Output
Porta.5 = 0
Initlcd
Waitms 10
Cls
Locate 1 , 1
Lcd "Hallo Welt"
Do
Loop
End
Mit diesem Programm sollte ja auf dem Display definitiv text erscheinen.
Nun habe ich folgende Dinge getan:
- Einen anderen ATMega32 verwendet -> gleiches Verhalten
- Das Diplay gegen ein anderes Display (auch 16x2 nur in grün, statt in blau) ausgetauscht -> Exakt gleiches Verhalten
- Die Leiterbahnen auch fehlverbingungen überprüft -> keine gefunden.
Ich bin echt am Ende. Es wird mir immer die obere Zeile am LCD komplett angezeigt. Was ja irgendwie darauf hin deutet, das schon die Initialisierung irgendwie nicht richtig funktioniert.
Ich weiß leider keine Möglichkeit mehr woran es liegen könnte.
Hoffe ihr könnt mir noch irgend einen Tipp geben.
Nochmal zum Hinweis: Die Schaltung funktionierte über Monate hinweg einwandfrei. Also bitte keine Aussagen dass das Display vielleicht falsch angeschlossen sei oder so.
Danke schonmal für jeden hilfreichen Tipp
Gruß Robodriver
Ich komm hier momentan auf keinen grünen Zweig mehr und hoffe das ihr vielleicht einen Rat wisst. Ich selbst bin mit meinen Ideen am Ende.
Folgendes: Ich habe eine Schaltung Mit einem LCD 16x2 Dotmatrix-Display an einem ATMega32.
Diese Schaltung hat auch über mehrere Monate hinweg super gute Dienste geleistet. In den letzten Tagen habe ich dann nun an der Software im Controller noch einige änderungen vor genommen (Die aber nichts mit dem LCD zu tun hatten) und dann plötzlich funktionierte das LCD nicht mehr. Bzw. es wird nur noch die erste Zeile vollständig angezeigt (Alle Dots an).
Zur Hardwareverbindung:
RS -> PA4
R/W -> PA5
E -> PA6
D0-3 -> GND
D4 -> PC7
D5 -> PC6
D6 -> PC5
D7 -> PC4
Um einen Fehler im großen Programm zu vermeiden habe ich ein kleines Test-Programm geschrieben, was einfach nur etwas auf dem LCD anzeigen soll:
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.7 , Db5 = Portc.6 , Db6 = Portc.5 , Db7 = Portc.4 , E = Porta.6 , Rs = Porta.4
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Porta.5 = Output
Porta.5 = 0
Initlcd
Waitms 10
Cls
Locate 1 , 1
Lcd "Hallo Welt"
Do
Loop
End
Mit diesem Programm sollte ja auf dem Display definitiv text erscheinen.
Nun habe ich folgende Dinge getan:
- Einen anderen ATMega32 verwendet -> gleiches Verhalten
- Das Diplay gegen ein anderes Display (auch 16x2 nur in grün, statt in blau) ausgetauscht -> Exakt gleiches Verhalten
- Die Leiterbahnen auch fehlverbingungen überprüft -> keine gefunden.
Ich bin echt am Ende. Es wird mir immer die obere Zeile am LCD komplett angezeigt. Was ja irgendwie darauf hin deutet, das schon die Initialisierung irgendwie nicht richtig funktioniert.
Ich weiß leider keine Möglichkeit mehr woran es liegen könnte.
Hoffe ihr könnt mir noch irgend einen Tipp geben.
Nochmal zum Hinweis: Die Schaltung funktionierte über Monate hinweg einwandfrei. Also bitte keine Aussagen dass das Display vielleicht falsch angeschlossen sei oder so.
Danke schonmal für jeden hilfreichen Tipp
Gruß Robodriver