mikrocontroller.net

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


Autor: kwalter (Gast)
Datum:

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

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist den der Übernahme-Impuls (ENable)?

Autor: Falk Brunner (falk)
Datum:

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

Autor: kwalter (Gast)
Datum:

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

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, weh, RS ist falsch angesteuert:

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

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

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Muß nach jedem Befehl ein Übernahme-Impuls gesetzt werden ??

Selbstverständlich!!

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Oh, weh, RS ist falsch angesteuert:

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

Autor: kwalter (Gast)
Datum:

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

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.