www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD (von Tel) -Problem


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

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,
habe mir hier ein LCD (4x40) von einem Telefon Octophon 340i (Telekom) 
abgeschraubt.
Darauf befinden sich 2 KS0076B- und 4 HD66100F- Controller.
Habe versucht das Ganze nach dem Tut anzusteuern, aber vegebens. Nach 
dem studieren der beiden Datenblätter und weiteren Tests komme ich 
leider überhaupt keinen Schritt weiter.
Versuche gerade das ganze mal via Dip-Schalter Schritt für Schritt 
anzusteuern. Es sind insgesamt 15 Anschlüsse.
ICh weiss gar nicht wo ich genau anfangen soll.

Erstmal:
Ist es möglich das ganze via Dip-Schalter zu testen? Oder sind da evtl. 
die Schaltzeiten schlecht. So daß das überhaupt nicht funktionieren 
kann.

Zweitens:
Habe alle Pins mal durchgemesen, um herauszufinden, welcher Anschlusspin 
am Stecker an welche Pins an den Controllern führen. Es gehen 15 Stk. an 
den KS0076B (einer ist fei) an den 4 HD66100F sind (so wie ich das sehe) 
nur VCC und GRNd angeschlossen, bzw. Vref(direkt vom Anschlussstecker)). 
Jetzt meine Frage:
steuere ich das LCD nur über die zwei KS0076B?

Beim einschalten werden nur die erste und dritte Zeile angeschaltet, die 
zweite und vierte bleibt weg. (Ist aber nicht so wichtig, immerhin funzt 
ja wenigstens was)
Ich vermute, daß die vier Zeilen über die beiden KS0076B gesteuert 
werden (bzw. wird dies auch halbwegs aus dem Datenblatt ersichtlich) und 
jetzt entweder einer funzt und der andere nicht (welcher dann für Zeile 
1 und 3 zuständig ist; und der andere für Zeile 2 und 4) oder beide nur 
im 1-Line-Modus laufen(wohl eher der Fall).

Habe mal die Datenblätter und die Belegung Stecker zu IC's
angehängt.
Bräuchte eine Vorgehensweise. Ich denke in der Art; Controller 
initialisieren, Betriebsart(en) einstellen, Daten senden, Befehl zum 
Übernehmen senden. Aber wie ?? Werde einfach aus den Datenblättern nicht 
schlau.

Vielleicht ist auch ein Telekom-Mann unter uns der sich da ausennt bzw. 
mir zu weiteren Infos helfen kann.
Jetzt aber erst mal gut so weit und schon mal danke.

Gruß und frohes schaffen morgen (und den Schülern untr uns viel Spass am 
Baggersee oder schwimmbad gg ;-) )

jobuma

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du siehst das richtig: Nur der KS0076 wird von Dir gesteuert. Die 
anderen Bausteine sind Zeilentreiber und werden vom KS0076 intern 
angesteuert.
Evtl. ist es nur ein kleiner Fehler, der den Erfolg verhindert....hat 
das Telefon denn noch funtkioniert, bevor Du es auseinandergebaut hast ? 
Die schwarzen Balken nach dem Einschalten sind ein gutes Zeichen. Wenn 
Du das Display ansteuerst, sollten sie allerdings verschwinden, sonst 
liegt der Fehler schon in der Initialisierungsroutine.
Ich habe Displays auch schon per (Dip-)Schalter angesprochen. Wichtig 
sind Pull-down-Widerstände (ca. 1K) gegen Masse, die Schalter müssen 
gegen Vcc schalten. An den Steuerleitungen jeweils einen Kondensator 
100nF (Entprellung), bei den Datenleitungen ist der Kondensator nicht 
unbedingt notwendig, da die Datenübernahme von den Steuerleitungen 
getriggert wird.

Autor: jobuma (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
danke erstmal.

Habe meine DIP's momentan als Pull-Up angeschlossen. Geht das auch?(Also 
5V->Widerstand->DIP->GND; nehme dann mein Signal zwischen Widerstand und 
DIP (wo auch sonst) ab; Kondensator habe ich noch keine drin. Werde ich 
dann aber noch machen.;Größe dürfte ja relativ egal sein, ODer?)

Wie sieht so eine Initialisierung genau aus? Ich glaube dass ich schon 
diese nicht richtig hinbekomme. Da, wie gesagt nach dem einschalten 
Zeile 1 und 3 zwar da sind (Balken), sich dann aber nicht's mehr tut. 
Also ist wohl meine Init. nicht korrekt.
Habe aber dazu im Datenblatt keinen Ablauf gefunden.
Und im Tut steht unter der INIT-Routine nur das man angegebenes Signal 3 
mal sendet und dann noch drei weitere Initialisierungsvorgänge 
durchführt. Was aber diese bedeuten, bzw. genau ansteuern hab ich 
nirgends gefunden?


Danke und Gruß

jobuma

Autor: Paul W. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
Habe auch schon ein Programm für so ein LCD geschrieben, unterstützt
aber nur 4x20 Displays...
Anschlusspläne für dein Display findest du unter moddingfaq.de, denn
solche Displays werden oft und gerne dazu verwendet, das Case vom
Rechner zu modden...
Ich hab ein Datenblatt angehängt, das ist zwar vom HD44780, aber die
sind beide kompatibel zueinander, da ist auch eine
Initialisierungsroutine beschrieben, musst dich mal umgucken...
Wenn du willst, poste ich dir den Quell-Code für die Initialisierung
(C/C++)...


Hoffe, ich konnte dir helfen...

Autor: Samptron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Will mit auch ein 4x20er LCD Display mit HD44780 kaufen.
Wollte das ganze mit C++ ansteuern!
Da wäre dein Quellcode net verkehrt.
Kannst du den mal posten?

Danke!

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.