Forum: Mikrocontroller und Digitale Elektronik LCD-Problem mit EA DIP081


von kwalter (Gast)


Lesenswert?

Hallo Leute,

ich habe an einem AT89C51RC2 ein LCD-Display vom Type EA DIP081
angeschlossen. Ich schaffe es nicht, das Display zu initialisieren.
Laut der Firma Electronic Assembly ist es o.k.
Kann mir jemand einen Tipp geben, wie man das Display richtig 
initialisiert.

Mein Code:
  // Steuerleitungen setzen
  LCD_RS = 0;
  LCD_RW = 0;
  LCD_E = 0;

  // Function Set
   P2 = 0x30;                         /* Daten */
  delay(4);                          /* 52us */

  // Display ON/OFF
   P2 = 0x0F;                         /* Daten */
  delay(4);                          /* 52us */

  // Clear Display
  P2 = 0x01;                         /* Daten */
  delay(133);                        /* 1,729ms */

  // Entry Mode Set
   P2 = 0x06;                         /* Daten */
  delay(4);                          /* 52us */

  // Zeichen T ausgeben
  LCD_RS = 1;
   P2 = 0x54;                         /* Daten */

Gruß Walter

von jack (Gast)


Lesenswert?

Wo ist den der Übernahme-Impuls (ENable)?

von Falk B. (falk)


Lesenswert?

@ kwalter (Gast)

>ich habe an einem AT89C51RC2 ein LCD-Display vom Type EA DIP081
>angeschlossen. Ich schaffe es nicht, das Display zu initialisieren.

Wenn das Ding HD447870 kompatibel ist, dann schau mal hier.

AVR-Tutorial: LCD
AVR-GCC-Tutorial

>Laut der Firma Electronic Assembly ist es o.k.
>Kann mir jemand einen Tipp geben, wie man das Display richtig
>initialisiert.

Schaltplan?
Deine Delays sind am Anfang zu kurz. Da werden 15ms bzw. 4ms gebraucht. 
Und die Einstellung der Busbreite muss dreimal erfolgen.

MFG
Falk

von kwalter (Gast)


Lesenswert?

>Wo ist den der Übernahme-Impuls (ENable)?

Muß nach jedem Befehl ein Übernahme-Impuls gesetzt werden ??


>Deine Delays sind am Anfang zu kurz. Da werden 15ms bzw. 4ms gebraucht.
>Und die Einstellung der Busbreite muss dreimal erfolgen.

Laut Datenblatt sind es 1,64ms und 40us, aber ich kann es mal mit deinen
Zeiten probieren.

Gruß Walter

von jack (Gast)


Lesenswert?

Oh, weh, RS ist falsch angesteuert:

RS = 1 --> Befehle
RS = 0 --> Daten

Und Du hast RS = O bei der ini-Routine!

von jack (Gast)


Lesenswert?

>Muß nach jedem Befehl ein Übernahme-Impuls gesetzt werden ??

Selbstverständlich!!

von jack (Gast)


Lesenswert?

>Oh, weh, RS ist falsch angesteuert:

Nein, ist schon richtig: RS = 0 ist Befehl.

von kwalter (Gast)


Lesenswert?

Vielen Dank an euch,
der Übernahme-Impuls wars.
Der Cursor blinkt jetzt.
Tolles Forum
Gruß Walter

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.