Forum: Mikrocontroller und Digitale Elektronik HD44780 + AVR mega88


von jdi (Gast)


Lesenswert?

Hi,

hab mir ein HD44780 Display zugelegt. Hab die Anschlüsse ans STK 
kontrolliert und es sollte alles so passen wie im AVR_GCC Tut hier 
beschrieben. Hab dabei auch den PORTD gewählt also alles so gelassen wie 
es da steht. Wenn ich jetzt den Code compiliere kommt erstmal folgende 
Warning:

../lcd-routines.c: In function 'set_cursor':
../lcd-routines.c:126: warning: 'tmp' may be used uninitialized in this 
function

Optimizer ist auf -Os eingestellt, falls das wichtig ist.

Wenn ich das jetzt so in mein Controller brenne kommt nichts am Display 
an. Die Hintergrundbeleuchtung ist einfach nur an und es sind eben diese 
"schwarzen Kästen" leicht zu erkennen. Die Kontrastspannung steht auf 
dem typ. Wert von 3,4V.

Kann es was mit den delays zutun haben?:

void lcd_enable(void)
{
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers 
einfügen
   // Beitrag "Re: Bitte helft mir. Schon wieder AtMega16"
   LCD_PORT |= (1<<LCD_EN);
    _delay_us(1);                   // kurze Pause
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers 
verlängern
   // Beitrag "LCD -> Probleme mit Optimierungsgrad"
   LCD_PORT &= ~(1<<LCD_EN);
}

Hab das delay mal erhöt auf 20, hat aber auch nichts gebracht.
Wo kann hier der Fehler liegen?

Danke
jdi

von jdi (Gast)


Lesenswert?

Hat denn noch keiner versucht das Display mit nem Mega88 zum laufen zu 
bringen?

Kann ich das nicht irgendwie ganz einfach testen? Einfach nur mal ein 
Zeichen ausgeben oder so?

Danke
jdi

von Matthias Kölling (Gast)


Lesenswert?

Immer wieder gleiches Thema - Fuses. Der ATmega88 hat außerdem noch 
einen clock divider. Also einfach mal kucken, auf welcher Frequenz der 
rennt und mit den Einstellungen für den display code vergleichen.

Gruß Matthias

von jdi (Gast)


Lesenswert?

Hi,

guter Einwand ja. Aber er läuft mit ext. 7.3728MHz Quarz und der 
entsprechende Eintrag sieht so aus:

#define F_CPU 7372800

CKDIV8 ist nicht gesetzt.

Gruß jdi

von jdi (Gast)


Lesenswert?

Kann doch nicht so schwer sein das Ding zum laufen zu bringen? :-/

Was sollte ich noch überprüfen? Kann man ganz einfach testen ob das Ding 
überhaupt lebt? Hintergrundbeleuchtung geht ja schonmal an.

jdi

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
Noch kein Account? Hier anmelden.