Hallo zusammen, ich habe ein kleines Problem mit einem 4-Zeilen Display (bestell bei Reichelt HD44780-kompatibel). Ich verwende wie so viele auch die Fleury-Datei um einfach mal einen kleinen Text "Hallo" auszugeben. In der Headerdatei hab ich die Einstellungen soweit alle gemacht. Das Ergebnis ist leider weniger befriedigend, denn ausser zwei schwarzen n der ersten und er dritten Zeile Balken sehe ich garnichts. Sobald ich den Kontrast etwas schwächer einstelle werden aus den schwarzen Balken Pfeil die von links nach rechts durchlaufen. Da ich noch in den allerersten Startlöchern der Programmierung stehe hoffe ich, dass ihr mir etwas weiterhelfen könnt. Vorab schon mal Dankeschön
Ohne mehr Information, kann dir hier keiner helfen. An welchen Port hast du das LCD angeschlossen? Welche Pins hast du verbunden. Läuft dein µC mit der richtigen Taktfrequenz?
der genaue Typ des Displays bzw des Controllers wäre auch nicht verkehrt. Manchmal wird behauptet das Display wäre HD-kompatibel obwohl die Kompatibilität schon bei der Initialisierung scheitert (EA DIP204 z.B) bye Frank
Im LCD-Code von Peter Fleury ist eine ganz gute Initialisierungsroutine, die nicht "nur" HD44780 berücksichtigt. Hatte mit einem 16*4 "grün" von Reichelt keine Probleme mit diesem Code (mag sein, dass Reichelt inzwischen andere Modelle liefert). Bevor ein Fehler im Code gesucht wird, nochmal die Hardware genau prüfen und schauen, ob die Pins wirklich richtig eingestellt sind. Fürs erste den Port C bei Tests meiden. Damit kann man zumindest ausschließen, dass ein aktiviertes JTAG-Interface "querschießt". Ansonsten genaue Bestellnummer angeben, dann kann man das Datenblatt einsehen und schauen, ob wirklich etwas im Initialisierungscode zu ändern ist.
also die genaue Bezeichnung des Display lautet "LCD 204B LED" Es beinhaltet den Controller LSI KS0076B; Segmenttreiber KS0063 Das Display ist wie folgt beschaltet: Controller- LCD- Port Anschluss --------------------------- PA7 = nc PA6 = E PA5 = RW PA4 = RS PA3 = DB7 PA2 = DB6 PA1 = DB5 PA0 = DB4 --------------------------- Die eingestellte Taktfrequenz liegt bei 1 MHz. Mein Programm schaut so aus: #include <stdlib.h> #include <avr/io.h> #include <avr/pgmspace.h> #include "lcd.h" int main(void) { lcd_init(LCD_DISP_ON_CURSOR); /*Displ on, Cursor on*/ lcd_clrscr(); /*lösche Display*/ while(1) { lcd_puts("Hallo"); /*Ausgabe*/ }//end while } Ich hoffe dass das mit dem Anhang der lcd.h funktioniert... Thorsten
Guck dir das Datenblatt zum Chip an und vergleich es mit deiner Init-Routine. Wenns so ein EA-Display ist, dann muss es geringfügig anders initialisiert werden als ein Display mit HD Chipsatz. Ich hab mein EA204 auch erst mit ner geänderten Routine ans rennen gebracht. bye Frank
Vielleicht hilft Dir das hier weiter: Beitrag "LCD funktioniert nicht" Dort wird auf die Busy Abfrage eingegangen. Gruß Michael
@ Frank, würde das auch erklären warum sich an meinem Display, egal was ich in der lcd.h verändere, garnichts tut? Ich habe als Datenblatt leider nur das von Reichelt und da steht niergends ein Hinweis dass es ein EA-Display sein soll...
...hab mir Beitrag "LCD funktioniert nicht" mal angeschaut und auch die Tips darin bei mir umgesetzt, leider aber ohne Erfog... Trotzdem Dankeschön
Hallo, es wäre nett, wenn du mir sagen könntest, wie du es ans Laufen bekommen hast. Denn ich habe auch Probs mit dem ks0063...
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.