Forum: Compiler & IDEs LCD + ATMEGA32


von Thorsten (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein kleines Problem mit einem 4-Zeilen Display (bestell bei 
Reichelt HD44780-kompatibel). Ich verwende wie so viele auch die 
Fleury-Datei um einfach mal einen kleinen Text "Hallo" auszugeben. In 
der Headerdatei hab ich die Einstellungen soweit alle gemacht.
Das Ergebnis ist leider weniger befriedigend, denn ausser zwei schwarzen 
n der ersten und er dritten Zeile Balken sehe ich garnichts. Sobald ich 
den Kontrast etwas schwächer einstelle werden aus den schwarzen Balken 
Pfeil die von links nach rechts durchlaufen.

Da ich noch in den allerersten Startlöchern der Programmierung stehe 
hoffe ich, dass ihr mir etwas weiterhelfen könnt.

Vorab schon mal Dankeschön



von Karl H. (kbuchegg)


Lesenswert?

Ohne mehr Information, kann dir hier keiner helfen.

An welchen Port hast du das LCD angeschlossen?
Welche Pins hast du verbunden.
Läuft dein µC mit der richtigen Taktfrequenz?

von Frank (Gast)


Lesenswert?

der genaue Typ des Displays bzw des Controllers wäre auch nicht 
verkehrt. Manchmal wird behauptet das Display wäre HD-kompatibel obwohl 
die Kompatibilität schon bei der Initialisierung scheitert (EA DIP204 
z.B)

bye

Frank

von Martin Thomas (Gast)


Lesenswert?

Im LCD-Code von Peter Fleury ist eine ganz gute Initialisierungsroutine, 
die nicht "nur" HD44780 berücksichtigt. Hatte mit einem 16*4 "grün" von 
Reichelt keine Probleme mit diesem Code (mag sein, dass Reichelt 
inzwischen andere Modelle liefert). Bevor ein Fehler im Code gesucht 
wird, nochmal die Hardware genau prüfen und schauen, ob die Pins 
wirklich richtig eingestellt sind. Fürs erste den Port C bei Tests 
meiden. Damit kann man zumindest ausschließen, dass ein aktiviertes 
JTAG-Interface "querschießt". Ansonsten genaue Bestellnummer angeben, 
dann kann man das Datenblatt einsehen und schauen, ob wirklich etwas im 
Initialisierungscode zu ändern ist.

von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

also die genaue Bezeichnung des Display lautet "LCD 204B LED"
Es beinhaltet den Controller LSI KS0076B; Segmenttreiber KS0063

Das Display ist wie folgt beschaltet:

               Controller-  LCD-
               Port        Anschluss
             ---------------------------
            PA7  =   nc
      PA6  =   E
      PA5  =   RW
      PA4  =   RS
      PA3  =   DB7
      PA2  =   DB6
      PA1  =   DB5
      PA0  =   DB4
            ---------------------------

Die eingestellte Taktfrequenz liegt bei 1 MHz.

Mein Programm schaut so aus:

#include <stdlib.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include "lcd.h"


int main(void)
{
  lcd_init(LCD_DISP_ON_CURSOR);    /*Displ on, Cursor on*/
  lcd_clrscr();                           /*lösche Display*/
  while(1)
  {
  lcd_puts("Hallo");                  /*Ausgabe*/
  }//end while
}

Ich hoffe dass das mit dem Anhang der lcd.h funktioniert...

Thorsten


von Frank (Gast)


Lesenswert?

Guck dir das Datenblatt zum Chip an und vergleich es mit deiner 
Init-Routine. Wenns so ein EA-Display ist, dann muss es geringfügig 
anders initialisiert werden als ein Display mit HD Chipsatz. Ich hab 
mein EA204 auch erst mit ner geänderten Routine ans rennen gebracht.

bye

Frank

von Michael G. (glunzl)


Lesenswert?

Vielleicht hilft Dir das hier weiter:

Beitrag "LCD funktioniert nicht"

Dort wird auf die Busy Abfrage eingegangen.

Gruß
Michael

von Thorsten (Gast)


Lesenswert?

@ Frank,
würde das auch erklären warum sich an meinem Display, egal was ich in 
der lcd.h verändere, garnichts tut?
Ich habe als Datenblatt leider nur das von Reichelt und da steht 
niergends ein Hinweis dass es ein EA-Display sein soll...

von Thorsten (Gast)


Lesenswert?

...hab mir Beitrag "LCD funktioniert nicht" mal angeschaut und 
auch die Tips darin bei mir umgesetzt, leider aber ohne Erfog...

Trotzdem Dankeschön

von Thorsten (Gast)


Lesenswert?

...Dislplay läuft.

Danke

von A. M. (bacarni) Benutzerseite


Lesenswert?

Hallo,
es wäre nett, wenn du mir sagen könntest, wie du es ans Laufen bekommen 
hast. Denn ich habe auch Probs mit dem ks0063...

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.