Guten Abend, ich sitze jetzt schon seit einiger Zeit an einem LCD von Pollin (DG-16080). Ich habe den Code hier aus dem Forum und versucht ihn so gut ich konnte anzupassen. Leider bekomme ich nichts auf dem Teil angezeigt :-( Vielleicht kann mir ja jemand von euch sagen, wo mein Fehler liegt. An dem PORTA PA0 lasse ich nur eine LED blinken um zu gucken, ob das Programm läuft. Achso bevor jemand fragt...den Kontrast regel ich über ein Poti zwischen Masse und PIN17 vom LCD. Vielen Dank schonmal Paule
mir ist grad eingefallen ich benutze einen ATMega8535. Der ist aber pinkompatibel zum ATMega32.
Hallo,
1 | LCD_PORT=0; |
2 | do
|
3 | { _delay_us(0.1); |
4 | RS_PORT |= (1<<EN); |
5 | _delay_us(1); |
6 | temp=LCD_PIN; |
7 | RS_PORT &= ~(1<<EN); |
8 | }
|
9 | while (temp&128); |
10 | LCD_PORT=255; |
11 | |
12 | RS_PORT |= (1<<CS); |
13 | _delay_us(40); |
Du solltest vielleicht lieber die Datenrichtung zum Lesen des Busy umschalten statt des Ports... LCD_DDR=0; ... LCD_DDR=255; wäre da sinnvoll. PS: habe über den Rest jetzt nicht drübergeschaut. Gruß aus Berlin Michael
Vielen Dank für deine Antwort. Hab deine Änderung eingebracht. Aber leider lag es daran nicht.
Dein Code läuft bei mir tadellos, an dem kann es nicht liegen. Wenn du den Kontrast voll aufdrehst, wird das Display schwarz? Wenn ja, dann habe ich folgende drei Vermutungen: Vermutung 1 Falls du doch einen ATMega32 verwendest - der ist zwar Pinkompatibel, aber du musst noch evtl. den JTAG (über Fuse: JTAGEN) deaktivieren. Der blockiert sonst nämlich deinen PortC und du kannst ihn nicht als IO verwenden (Data 0-7 des Displays). Vermutung 2 Achte darauf, dass du die Projekte für die Zielplattform neu anlegst und dann die Quellfiles erst rein kopierst. Das alleinige umstellen des Zielcontrollers bei configuration options führt nicht selten zu Problemen. Vermutung 3 Ansonsten tippe ich auf einen Verdrahtungsfehler (manchmal findet man den erst nach dem vierten mal kontrollieren). Good Luck!
Danke für die Antworten. Also bei mir wird es nicht schwarz. Kannst du mir mal sagen wie du das Teil angeschlossen hast? Hast du was mit dem Pin18 vom LCD gemacht? Wie regelst du bei dir den Kontrast? Ich hab ein 10k-Poti zwischen Masse und Pin17 und den Schleifer an Pin3. Vielleicht ist ja auch mein LCD kaputt. War ja son Billigteil ;-)
Ich habe das Teil genau so wie auf dem Bild im Anhang angeschlossen. Das Bild habe ich irgendwann mal hier im Forum gefunden. In deiner Software habe ich nur einige defines für die Pins an meine Hardware angepasst. War alles fast identisch, nur die Steuerleitungen RS, RW und EN waren von der Reihenfolge anders. Versuche zuerst dein Display über das Kontrastpoti "schwarz zu kriegen". Dann drehe es soweit zurück, dass du die Pixel gerade noch etwas dunkler als stromlos siehst. Das ist dann schonmal ein gutes Zeichen und du kannst anschließend weiter mit der Ansteuerung herumprobieren.
Hab es mal so angeschlossen. Hatte es ja schon fast so. Mit meinem 10k-Poti bekomme ich das Display nicht schwarz. Werde es morgen mal mit nem 100k-Poti versuchen und wenn es dann auch nicht geht, dann könnte man ja sagen, dass das Teil kaputt ist, oder?
>Mit meinem 10k-Poti bekomme ich das Display nicht schwarz.
10K erscheinen reichlich wenig, da schließt du ja mit dem Poti die 5V
mit den -10V "fast" kurz. Ich hab bei mir folgendes gemessen:
Pin 2 (5V) o-------+
|
|
|
-+-
| | 88K
| |
100K | |
| |
| |<--------o Pin3
| | 12K
-+-
|
|
|
Pin 17 (-10V) o-------+
Habe es jetzt auch mal mit dem 100k-Poti versucht, aber da kam auch nichts. Ich denke mal, dass ich das Teil irgendwie irgendwo mal zerschossen habe. Werd aber bald mal wieder bei Pollin bestellen und ich denke mal, dass ich die 7 Euro dann auch noch über habe. Vielen Dank für die Hilfen
Hallo Gast1234, habe jetzt von Pollin das Display erhalten. Ich wollte die bisher veröffentlichten Codeschnipsel auf den ATMega8 anpassen. Da habe ich hier gesehen, dass Du schon ein fertiges System hast. Würdest Du Deinen Code auch weitergeben? Gruß Günter
funktionierender Code mit Pinguin! Habe ein neues LCD gekauft und das funktioniert super. Vielen Dank nochmal für die Hilfen.
Guten nabend
Ich versuche grade ein dg 16080 glcd, mit dem obrigen code zum laufen zu
bringen.
Der Grafikmodus läuft aber die Zeichenausgabe geht nicht.
Im Grafikmodus kommen mit:
lcd_writechar(1);
//lcd_writechar('a');
nur verwirrte pixel(aber grob an der richtigen Stelle).
Im Zeichenmodus kommen falsche Zeichen am falschen Platz
Bsp:
>
<
c
wenn ich jetzt direkt in den ram schreibe mit:
for(int i=0;i<=3000;i++)
{
lcd_writecom(0b00001100);
lcd_writedat(0x11111111);
}
erscheind zwar das richtige Zeichen aber erst nach dem man etwa 3000 mal
den Befehl dazu gegeben hat!
Ich hoffe ihr könn mir helfen?!
mfg rudolf
kleiner Schreibfehler: for(int i=0;i<=3000;i++) { lcd_writecom(0b00001100); lcd_writedat(0b11111111); //x->b }
@Rudolf, > lcd_writechar(1); Was glaubst du denn was da rauskommen soll? Siehe dir mal eine ASCII Tabelle an: http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
Das war leider nur ein unglückliches Beispiel! mit lcd_writechar('A'); lcd_writechar(0b11111111); ... besteht das gleiche Problem
Hallo Jungs, ich versuch zum ersten mal ein Graphik LCD anzusteuern und hab ein Anfängerproblem... Welche Datei muss im Programmers Notepad geöffnet sein um zu compilieren? Es muss ja denke ich mal eine Datei sein die in dem gleichen Ordner ist wie das makefile. Ich öffne also die main.o und gehe auf "make all" und es erscheint: > "make.exe" all AVR Memory Usage ---------------- Device: atmega32 Program: 16940 bytes (51.7% Full) (.text + .data + .bootloader) Data: 2 bytes (0.1% Full) (.data + .bss + .noinit) > Process Exit Code: 0 > Time Taken: 00:00 Danach auf "program" und die Antwort lautet: > "make.exe" program make.exe: *** No rule to make target `program'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 Kann mir jemand helfen? Danke.
Hallo Leute, hab das Display gerade angesteuert bekommen. Pinguin funktioniert auch. Allerdings: Einige Pixel sind nur sehr schwach zu erkennen. Habe den hier schon vorgeschlagenen Aufbau, sprich 100 k Poti zwischen Pin 2 und 17 und die Mittelstellung an Pin 2. Das Poti ist voll aufgedreht, also bei den -10V. Hat jemand ne Idee?
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.