Hallo, ich habe das Display 204B der Firma Displaytech Ltd. von Reichelt (4x20) mit Chip lt. Datenblatt Typ KS0066U und Treiber x2 KS0063. Der uC ist ein ATmega32. Das Display ist derzeit an Port B angeschlossen (auch schon mit Port D getestet). Angeschlossen ist so: Display uC -------------------- DB4 PB0 DB5 PB1 DB6 PB2 DB7 PB3 RS PB4 RW PB5 E PB6 & Vcc etc. natürlich. Als lcd-lib nehme ich die lcdlibrary von Peter Fleury. Der uC läuft derzeit mit 1 Mhz int. Oz.. Mein Programm sieht so aus: #include <stdlib.h> #include <avr/io.h> #include <avr/pgmspace.h> #include "lcd.h" #include <util/delay.h> /* ** constant definitions */ /*static const PROGMEM unsigned char copyRightChar[] = { 0x07, 0x08, 0x13, 0x14, 0x14, 0x13, 0x08, 0x07, 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00 }; */ int main(void) { unsigned int i; for(i=0; i<=100; i++) _delay_ms(10); /* initialize display, cursor off */ lcd_init(LCD_DISP_ON); for (;;) { /* loop forever */ lcd_clrscr(); /* put string to display */ lcd_puts("Hello"); } } Die lcd.h ist im Anhang, das Datenblatt vom Display findet man hier: http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=1;INDEX=0;FILENAME=A500%252FLCD204B%2523DIS.pdf;SID=28eZ2g9X8AAAIAAD3FX-05c8c0e81798948f43246762bbc852828 Nicht zu vergessen ist, dass ich den Kontrast vom Display schon eingepegelt habe, das funktioniert. An einem anderen uC mit anderem Programm geht es auch, daher ist die Hardware ok. Einen zweiten uC habe ich auch schon genommen. Mein Problem: Schalte ich ein, dann erscheinen auf dem Display in Zeile 1 und 3 schwarze Balken, diese verschwinden nach ca. 1 Sekunde. Sollte laut Programm auch so sein. D.h. init sollte funktionieren. Jetzt habe ich nur das Problem, dass es mir einfach nichts schreiben will. Was mache ich da falsch, was muss ich da einstellen? Sämtliche alten Posts hier im Forum bringen mich einfach nicht weiter und nach nun fast 8 Stunden wollt ich Euch mal um Hilfe bitten. Danke für irgendwelche Tipps hierzu, Grüße aus Kassel, Pascal
For
1 | #include <util/delay.h> |
muss die Taktfreqeunz definiert werden, sonst kann es sein, dass die Delays nicht richtig sind.
1 | #define F_CPU 1000000L
|
MFG Falk
Hi, daran liegt es nicht. Im AVRStudio habe ich das unter Compileroptionen mit drin. Habe es sicherheitshalber jetzt nochmal ergänzt, aber es bringt keine Änderung. In dem Zusammenhang habe ich auch mal verschiedene Optimierungsstufen probiert, aber alles ohne Erfolg. Langsam verzweifel ich... Grüße Pascal
1 | for (;;) { /* loop forever */ |
2 | lcd_clrscr(); |
3 | |
4 | /* put string to display */
|
5 | lcd_puts("Hello"); |
6 | }
|
Löschen... Schreiben... Löschen... Schreiben... Ist dein µC vielleicht schneller als du denkst?
Also, habe einmal die Schleife weggenommen -> Keine Änderung, also nix zu schnell oder wie auch immer. Anderes Display: Habe ein 2x16 mit KS0070B Chip, geht damit auch nicht. Kann ich aber noch nichtmal init machen. Auf dem 4x20 Display hier: Mit dem AVR-GCC Tutorial-Skripting geht es... Wollte eben nur die Fleury-Komforts haben. Woran kann das noch liegen? Mfg Pascal
Hast du schon probiert das Display im lcd.h als
1 | #define LCD_CONTROLLER_KS0073 1 /**< Use 0 for HD44780 controller, 1 for KS0073 controller */ |
zu betreiben? Bzw. hast du mal die Abweichungen/Gemeinsamkeiten des KS0066U zu HD44780 und/oder KS0073 in den Datenblättern nachgeschlagen?
Hi Stefan, ja, klar, habe auch schon mit KS0073 Controller probiert, das war meine alle erste Idee. Natürlich nichts... Wo finde ich denn solche Datenblätter? Das Problem ist (siehe den Datenblatt-Link oben in meinem originial-Post) das da auch ein KS kompatibler drin sein kann (lt. Datenblatt). Wie finde ich sowas raus? Hat denn noch niemand mit dem Display von Reichelt was gemacht? Grüße Pascal
http://www.mikrocontroller.net/articles/LCD#Weblinks => http://www.pacificdisplay.com/lcd_ics.htm => http://www.pacificdisplay.com/ics_app%20notes/samsung/KS0066U.pdf Interessant wird es auf Seite 27
Hallo Pascal! Wollte nur fragen, ob Du nun Erfolg hattest mit Deinem LCD? Habe genau das gleiche Problem... - KS0073 Controller - ATmega32 - C Programmiert Hat Jemand vielleicht schon Erfahrungen mit den Controllern? Liebe Grüsse Roland
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.