Forum: Mikrocontroller und Digitale Elektronik LCD Display + Atmega 128


von Patrick Hahn (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Experten,

ich möchte mein LCD Display KS 0108 mit den Atmega 128 ansteuern. Ich
möchte einmal „Hello Welt“ ausgeben können. Ich hab es geschafft das
Display einzuschalten. Doch wenn ich die Write Routine aufrufe,
reagiert das Display einfach nicht da drauf.
Das Display bleibt einfach eingeschaltet und etwa mehr als die hälfte
ist Schwarz(Pixel).
Muss ich mein Programm auf den EEPROM schreiben ?
Komm einfach nicht dahinter, was ich falsch gemacht habe. Mein Quell
text hab ich als Anhang beigefügt.

Danke im Vorraus

Patrick

von Daniel M. (usul27)


Lesenswert?

Du musst das Display natürlich erst initialisieren. Da liegt noch einige
Arbeit vor dir:
http://www.sprut.de/electronic/lcd/

von Mike (Gast)


Lesenswert?

Ich kenne das Display nicht, aber bist du sicher, das das Display nicht
initalisiert werden muß?

von Patrick Hahn (Gast)


Angehängte Dateien:

Lesenswert?

Initalisiert hatte ich es vorhin auch schon mit einer feritgen Routine
aus den Netz. Hier hab ich selbst nochmal eine Intialisierung
geschrieben. Problem ist dass das Display immer eine hälfte Schwarz
lässt egal was ich schreibe. und sonst auf nichts Reagiert außer
einschalten und ausschalten. Kann das Display vielleicht kaput sein ?
Wie stelle ich sowas fest ?

Besten Dank

Patrick

von Mike (Gast)


Lesenswert?

Wenn ich mir andere Beispiel zu dem Display so ansehe, muß du noch eine
Menge an deiner Initialisierung arbeiten.

Hier hab zum dem Display auf die schnelle z.B. das hier gefunden

<code>
/*---------------------------------------------------------------------- 
---------
LCD Initialization
  GLCD_LcdINIT()
------------------------------------------------------------------------ 
-------*/
void GLCD_LcdInit(void)
{
  LCD_DATA = 0;
  LCD_DI = 0;
    LCD_RW = 0;
    LCD_E = 0;
    LCD_CS1 = 0;
    LCD_CS2 = 0;

    LCD_RST = 1;
    LcdDelay(10);
    LCD_RST=0;
    LcdDelay(10);
    LCD_RST=1;

    LcdSelectSide(LEFT);
    LcdInstructionWrite(DISPLAY_OFF); /* Display OFF */
    LcdInstructionWrite(START_LINE);
    LcdInstructionWrite(X_ADRESS);
    LcdInstructionWrite(Y_ADRESS);
    LcdInstructionWrite(DISPLAY_ON); /* Display ON */

    LcdSelectSide(RIGHT);
    LcdInstructionWrite(DISPLAY_OFF); /* Display OFF */
    LcdInstructionWrite(START_LINE);
    LcdInstructionWrite(X_ADRESS);
    LcdInstructionWrite(Y_ADRESS);
    LcdInstructionWrite(DISPLAY_ON); /* Display ON */

    GLCD_ClearScreen();
}
</code>

Genauer hilft da aber wohl nur ein Blick ins Datenblatt. Nur dazu habe
ich keine Lust, da ich kein soclhes Display habe. :-)

Aber normal gehen die ganzen schwarzen Punkte weg, wenn das Display
korrekt initialisiert wird.

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.