www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HD44780 + AVR mega88


Autor: jdi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jdi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias Kölling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jdi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jdi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.