GraphicLCD DG-16080 mit ATMega32 benutzen

Gast #1297720
Lesenswert?

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
Angehängte Dateien:
#1297872
Lesenswert?

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
Gast #1298023
Lesenswert?

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!
Gast #1298390
Lesenswert?

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 ;-)
Gast #1298431
Lesenswert?

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.
Angehängte Dateien:
Gast #1381021
Lesenswert?

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
Gast #1390886
Lesenswert?

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.
Gast #1406244
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren