Hallo, hab ein Problem mit meinem Display von Conrad. Kriege keinen Text drauf. Das Display zeigt 1,5 Zeilen an und rührt sich sonst nicht. Da hab ich mal die Spannungen am PortA meines PIC16F876 gemessen und festgestellt, dass bei RA3 die Spannung bei High-Signal nur auf ca. 1,2V hochgeht. (RA3 ist direkt an RS-Eingang des LCDs angeschlossen). Ist das Display vielleicht kaputt? Hatte es noch nie funktionstüchtig im Betrieb. Und wenn da was miit RS nicht stimmt, kann ich das Display auch nicht richtig initialisieren. Vielleicht weiss ja jemand Rat. Hab auch schon mal PortA1 genommen-> genau das selbe! Vielen Dank Holger
Klappt denn das initialisieren des Displays an sich? Ich hab keine Lust, alles en detail zu beschreiben (hab ich auf meiner Homepage www.mathar.com erläutert), aber dass es genau 1,5 zeilen zeigt ist schon sehr seltsam. Timing korrekt beachtet (Busy-Flag)? Was macht es denn, wenn du RS mal fest auf VCC verdrahtest und dann einen Buchstaben an den Port schickst? Also Buchstabe an den Port, E und RS high, R/W low, dann Clock'en. Das sollte ja 100%ig klappen. Wenn das Display auch dann RS runter zieht, ist es IMHO defekt.
@Sebastian Muss zu Initialisieren des Displays nicht RS auf Low sein? Wenn ich es fest mit Vcc verdrahte, kann ich es ja nicht initialisieren. Beim Initialisieren tut sich auch nichts. Ab dem einschalten, bleibt es bei den 1,5 Zeilen. (1. Zeile voll und 3.Zeile halb) Mein Code hat auch schonmal mit anderen Displays geklappt. Also timing probleme sollte es keine geben. Aber was heisst Busy Flag? @Benedikt Zum Anschluss: Display -> MC 1 -> Vss 2 -> Vcc 3 -> Potti 4 -> RA3 5 -> Vss 6 -> RA2 7 -> nc 8 -> nc 9 -> nc 10 -> nc 11 -> RB0 12 -> RB1 13 -> RB2 14 -> RB3 15 -> nc 16 -> nc
Theoretisch passt das. Mess sicherheitshalber nochmal nach, ob wirklich Vcc und GND anliegen. Ich kenne solche Problem, meistens fehlt eine Betriebsspannung...
Nochmal zum Timing, benutze ein DelayMs()-Funktion und wenn ich LEDs zwei Sekunden lang blinken lasse, dann haut das auch ungefähr hin. Aber bei den us bin ich mir da nicht so sicher. Benutze 4 MHZ Quarz. Hab bei MPLAB V6.51 Optimierung1 eingestellt und benutze Hi-Tech C. Erst schalte ich den PortA digital(ADCON1 = 0b00000111;) Dann initialisier ich das LCD. Ist doch richtig oder? @Sebastian Hab RS mal fest auf VCC gelegt, da bleibt das Display tot. Weiß nicht woran das liegen könnte! Vielleciht ist wirklch das Display defekt? Wie könnte ich es denn sonst testen?
@Benedikt Ich hab schon zehn mal alles durchgemessen. Vcc liegt exakt bei 5V. Nur der RS kann nicht vom MC auf 5V gezogen werden. Geht nur auf 1,2V hoch! Ist mir ein Rätsel!
Versuchs doch mal per Hand an einem regelbaren Netzteil mit 100 Ohm Widerstand und mess mal wieviel Strom bei 5V fließen. Oder deine Anschlußbelegung passt nicht zum Display... Wenn man den Kontrast verstellt, ändert sich was am Display ?
Hi Benedikt! Mein Display hat im 4-Bit Modus zuerst auch nicht funktioniert. Der Grund war dann, dass ich die ersten vier Datenleitunge einfach frei gelassen habe. Ich hab sie dann auf gnd gelegt und seither funktioniert es perfekt. Also leg mal pin 7, 8, 9 und 10 am Display auf GND. Nik
Daran kann es sicher nicht liegen. Ich kenne einige Displays (z.B. aus Laserdruckern) bei denen die unteren 4bits auch frei sind. Außerdem steht auch im Datenblatt, dass die unteren 4 bit ignoriert werden. Der HD44780 wird nicht mehr hergestellt, daher kann es durchaus sein, dass bei einem Nachbau (z.B. von Samsung) solche Probleme auftreten...
also auf meinem lcd ist ein originaler hd44780 drauf. Aber ich hatte trotzdem Probleme damit.
Richtig, die unteren vier Datenleitungen D0-D3 werden ignoriert, außerdem hatte ich die am Anfang auch auf Masse. @Benedikt Der Kontrast ändert sich mit Regeln des Pottis aber die Zeilen bleiben wie sie sind, egal was ich für nen Text (oder Buchstaben) ausgebe. Sogar auch bei lcd_clear.
@Holger: Nein, deswegen schrieb ich ja, dass du einen Buchstaben hinschicken sollst. :-) Zum initialisieren muss RS auf low sein, wenn du einen Buchstaben ausgeben möchtest, muss RS aber high sein. So würde ich eben einfach mal testen, was passiert, wenn du Daten ausgibst. Klappt das? Klappt das auf 1,5 Zeilen? Oder klappt es komplett?
Wenn der 44780 nicht initialisiert ist, macht er garnichts. Entweder der Controller ist kaputt (z.B. Latchup am RS Eingang) oder in der Schaltung gibt es einen Kurzschluß oder sosnt was. Wenn der Eingang nur auf 1,5V geht, könnte dies durchaus an einem Kurzschluß zwischen einem Pin mit High und einem mit Low Pegel liegen, da die Low Treiber meist etwas stärker sind...
Ja, genau deswegen frage ich ja. Aber ich habe Holger irgendwie noch nicht ganz verstanden: Was gibt das Display denn aus? Buchstaben oder schwarze, komplett ausgefüllte Kästchen? Letzteres wäre ein Zeichen für einen Fehler in der Initialisierung. Wenn der 44780 aber 1,5 Zeilen völlig korrekte Buchstaben ausgibt, dann ist er definitiv in Fritten.
Oder der Leitgummi hat keinen Kontakt an manchen Stellen. Der 44780 hält eigentlich ziemlich viel aus. @Holger: Mach am besten mal ein Bild von den 1,5 Zeilen...
Bin grad in der Arbeit und kann kein Bild machen, hab außerdem keine Kamera, deswegen nochmal eine Beschreibung. Es sind nur schwarze Kästchen und zwar in der ersten Zeile in der Mitte fangen sie an mit einem halben Kästchen und dann die restliche Zeile durch und die 3. Zeile komlett. (Wobei die 3.Zeile beim 4x20 Display ja die Fortsetzung der ersten Zeile ist) @Benedikt Ist der Leigummi dieser schwarze Klecks auf den Chips drauf. Vielleicht liegt es ja da dran. Kann man da irgenwas machen: Kurzschluss konnte ich nicht feststellen. Alle anderen Pins am MC arbeiten einwandfrei.
Der Beschreibung nach würde ich sagen der HD44780 ist tot. Nur die Erweiterung (HD44100) funktioniert noch. Leitgummi ist das, was die LCD Glasplatte mit der Platine verbindet.
Zu dem Schluss komme ich langsam auch, aber trotzdem vielen Dank für Eure hilfe. Werd mal wenn ich die Rechnung noch finde zu Conrad gehen und versuchen umzutauschen.
meiner meinung nach ist der controller in ordnung, vor der initialisierung zeigen schließlich fast alle displays schwarze balken in der 1. uznd 3. zeile. also liegt es sowohl an den leitgummis(1. hälfte 1. zeile) als auch an der initialisierung. kann natürlich sein, dass der controller unabhängig davon auch kaputt ist, glaube ich aber irgendwie nicht. andererseits hab ich auch nicht soo die ahnung..
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.