www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD ES DIP204


Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Mein altes Display hat den geist aufgegeben.
Habe mir also diesen Display gekauft, soll nahezu 100% HD44780 
kompatibel sein.
Display ausgetauscht, angeschlossen wir das vorherige. Leider tut sich 
gar nichts, hitergrundbelecuhtung funtkioeniert , sonst nichts. Weißt 
jemand wieso? Kompilliere  mit gcc- compiler.
Gruß

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kontrast neu eingestellt?

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ja Kontrast ist ok. Ich vermute aber dass das Wort "nahezu" zutrifft 
und meine LCD.lib nicht mehr passt. Hat jemand vielleicht dieses 
Display? Achso, das Display heißt EA und nicht ES

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
<Mein altes Display hat den geist aufgegeben.
So, so
<Display ausgetauscht, angeschlossen wir das vorherige. Leider tut sich
<gar nichts.
Nanu, warum das denn? War das Alte eventuell garnicht def.?
Wenn du es nur mit Spannung versorgst erscheinen auch keine schwarzen 
Kästchen?
hm,
Pinbelegung anders?
Kalte Lötstellen?
<ja Kontrast ist ok.
An was merkst du das denn?
Eigentlich sind die EA DIP recht gut zu handhaben und auch recht 
zuverlässig. Schaue doch bitte nochmal genau nach.

Viel Erfolg, Uwe

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Dinger waren ja nun schon desöfteren Thema hier. Sie sind eben nicht 
vollkompatibel zum HD44780 und müssen auch anders initialisiert werden. 
Datenblatt lesen und/oder hier im Forum suchen hilft auf jeden Fall 
weiter.

bye

Frank

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das alte Display war kein EA DIP204, es war ein 100% HD44780.
Habe auch versucht hier was zu finden, leider hilft mir das nicht 
weiter.
Was muss ich ändern, ausser der Zeilenadressierung? Was ist da noch 
anders?

Autor: Thorsten (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich setzte mal meine bisherige benutzte lcd.h ein.

Autor: Thorsten (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und lcd.c. Vielleicht sagt mir jemand was ich dort ändern soll?

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann den auch nicht zum Leben erwecken,gibts irgendwo ne fertige 
Library?

Autor: axel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe ein ähnliches display.. hab meine lcd library irgendwo aus dem 
internet und dann aufs display angepasst, hoff sie hilft weiter. Was ich 
geändert hab weiß ich nicht mehr genau ist schon lange her..
axel

Autor: axel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
..und noch die lcd.h

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DIP204 hat als Controller KS0073 drauf. Dieser braucht eine andere 
Initialisierung als der 44780. Auch ist die Zeilenadressierung anders.

Die Initialisierung selber ist einfacher, da das Busy-Flag sofort zur 
Verfügung steht, im Gegensatz zu 44780, wo erst mal ohne Busy-Auswertung 
initialisiert werden muß. Es steht aber alles im Datenblatt, Download 
bei EA.

So funktioniert DIP204 bei mir (SDCC 8051 Display im 8-Bit-Mode)
// ***********************************************************************
// Schreiben eines Zeichens an das LCD-Modul
// Übergabe: lcd_byte : Auszugebendes Zeichen/Steuerzeichen
//           lcd_mode : 0 - Daten
//                      1 - Steuerzeichen
// ***********************************************************************
void write_lcd(byte lcd_byte, bit lcd_mode) {
byte idata lcd_busy = 1;
  // Testen ob LCD-Modul noch im internen Zyklus ist
  LCD_RW = 1;
  LCD_RS = 0;
  LCD_DATA = 0xFF;  // Datenportlatch für Rücklesen vorbereiten  
  while(lcd_busy) {
    LCD_E1 = 1;
    _asm nop; nop; nop; _endasm;     // Impulsverzögerung  
    if (!(LCD_DATA & 0x80)) lcd_busy = 0; // BUSY-Flag abfragen
    LCD_E1 = 0;
    _asm nop; nop; nop; _endasm;     // Impulsverzögerung      
  }
  // LCD-Anzeige ist zum Empfang neuer Zeichen bereit
  LCD_DATA = lcd_byte; // Byte ausgeben
  LCD_RW = 0;
  if (lcd_mode) {
    // Steuerzeichen
    LCD_RS = 0;
    } else {
    // Daten
    LCD_RS = 1;
  }
  LCD_E1 = 1;
  _asm nop; nop; nop; _endasm;     // Impulsverzögerung
  LCD_E1 = 0;
} 

// ***********************************************************************
// Grundinitialisierung des LCD-Moduls 8-Bit Bus
// KS0073 EA-DIP204 4x20 Display
// ***********************************************************************
void init_lcd(void) {
  delay(50);                      // Wartezeit nach POWER-ON bis VCC stabil ist
  // Grundinitialisierung
  write_lcd(0x34,1);               // 0011 0100 (8Bit Bus RE=1)
  write_lcd(0x09,1);               // 0000 1001 (4 Zeilen Mode)
  write_lcd(0x30,1);               // 0011 0000 (8Bit Bus RE=0) 
  write_lcd(0x0C,1);               // 0000 1111 (Dipl. ein, Cursor aus, Cursor blinken aus)
  //write_lcd(0x0F,1);               // 0000 1111 (Dipl. ein, Cursor ein, Cursor blinken)
  write_lcd(0x01,1);               // 0000 0001 (Diplay löschen, Cursor auf Pos. 1)
  write_lcd(0x06,1);               // 0000 0110 (Autoinkrement)
}

Gruß
Matthias

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.