www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zweite Zeile Pollin TC1602A-09


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab das o.g. Display von Pollin und bekomme einfach die zweite Zeile 
nicht zum laufen.

Der Controller ist HD44780 kompatibel. Ein anderes Display mit diesem 
Controller läuft mit der Software problemlos.
Kann es ein Defekt des Displaycontrollers sein? Oder ist es möglich, 
dass bei diesem Display ein völlig seltsamer Adressbereich (habe es mit 
0x20-0x2F 0x40-0x4F 0x60-0x6F und 0x80-0x8F probiert) verwendet wird?

Wäre schön, wenn jemand das Teil schon am Laufen hat und mir Infos geben 
könnte.

Für Eure Mühen schonmal danke!

MfG

Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, nix ungewöhnliches, die Dinger laufen einwandfrei, Zeile 2 ab 
Adresse 0x40, so wie sie sollen. Habe 6 davon im Einsatz, keine 
Probleme. Entweder Deine Init ist grenzwertig oder Du hast wirklich ein 
kaputtes erwischt. Hast Du noch ein anderes davon zum probieren?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

ich habe leider nur dieses eine Exemplar.

Was hast Du für Timings in der Init?

Hier mal meine init-Funktion.
void init_controller(unsigned char befehl)
{
/*Erstes Schreiben mit 8 Bit*/
  LCD_PORT=(LCD_PORT & (~(0x0F << LCD_OFFSET))) | (0x03 << LCD_OFFSET);
  lcd_e_wechsel_f();                //erstes Schreiben der Init-Werte (fallende Flanke)
  _delay_ms(5);                  //5ms warten
  lcd_e_wechsel_f();                //zweites Schreiben der Init-Werte (fallende Flanke)
  _delay_us(1);                  //1us warten
  lcd_e_wechsel_f();                //drittes Schreiben der Init-Werte (fallende Flanke)
  _delay_us(1);                  //1us warten

/*Port fuer 4-Bit Modus konfigurieren*/
  LCD_PORT=(LCD_PORT & (~(0x0F << LCD_OFFSET))) | (0x02 << LCD_OFFSET); 
  lcd_e_wechsel_f();                //Fallende Flanke generieren
  _delay_us(1);                  //1us warten
  
/*LCD-Settings einstellen*/
  lcd_befehl(LCD_4BIT2);              //LCD auf 4 Bit-Betrieb umstellen
  lcd_befehl(LCD_ANZ_AUS);              //Anzeige aus
  lcd_befehl(LCD_LOESCH);              //Anzeige loeschen
  lcd_befehl(LCD_CRSR_RECHTS);            //Cursor-Modus setzen
  lcd_befehl(befehl);                //Befehl aus Funktionsaufruf übergeben
}

MfG

Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor dem ersten Schreiben auf das Display muß nach dem Einschalten 
erstmal 200ms gewartet werden. Zwischen einzelnen Befehlen muß 
mindestens 40µs (!), bei manchen sogar (Cursor Home) bis zu 400µs. Im 
Datenblatt des HD44780 ganz hinten sind die beiden möglichen Inits mit 
Wartezeiten ausführlich beschrieben.

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte mal eine Anzeige, die zeigt 2 Zeilen nur im 8 Bit Modus an;
bei 4 Bit Modus habe ich nur eine Zeile zur Anzeige gebracht, Ursache 
konnte ich nicht klären

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Travel Rec.: Die Timings habe ich jetzt entsprechend den Vorgaben 
abgeändert (die alten waren aus einem Datenblatt eines anderen Displays 
mit diesem Controller). Leider hat das am Ergebnis nichts geändert ich 
kann nichts auf die zweite Zeile schreiben. Langsam geh ich wirklich von 
einem Defekt aus. Wäre es zu unverschämt nach Deiner Init zu fragen?

Schonmal Danke für Deine Mühen!

MfG

Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wäre es zu unverschämt nach Deiner Init zu fragen?

Nö, gar nicht, aber ich progge in ASM ;-)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, okay da kannste mir auch nen Abdruck von nem Autoreifen schicken. 
;-)

Naja, ich besorg mir einfach mal ein zweites Display. Wenn das auch 
nicht geht, liegt der Fehler wohl irgendwo zwischen den Augen.

Jedenfalls Vielen Dank für Deine Hilfe!

MfG

Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste doch mal Deinen derzeitigen C-Code, aber bitte mit Ausgaberoutine. 
Ein bisserl kann ich mir zusammenreimen, viele andere Forumleser können 
ebenfalls mitreden. Zu 99,8% liegt es aber bestimmt nicht am LCD.

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.