www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Falsche Zeichen am Display KS0066 Controller


Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich stehe seit Tagen vor einem größeren Problem. Und zwar versuche ich 
Zeichen auf einem Winstone WH2004A Display (4 Zeilen a 20 Zeichen) 
auszugeben. Im Datenblatt ist beschrieben, dass der verwendete 
Controller ein KS0066 ist. Durch die Suchfunktion bin ich leider auf 
kein Ergebnis gestoßen, deshalb wende ich mich erwartungsvoll an euch.

Nach anlegen der Betriebsspanung sind Zeile 1 und 3 des Display zunächst 
von der Farbe her leicht dunkler, das verschwindet nach der 
Initialisierung. Ich kann das Display initialisieren, komplett löschen, 
den Cursor blinken lassen und die Position des Cursors sowie die 
Position im RAM festlegen wo ich hinschreiben möchte.

Schreibe ich allerdings Daten zur Ausgabe an das Display, so erscheinen 
mir auf dem Display nur irgendwelche wilden Zeichen, die absolut nichts 
mit den eigentlichen Buchstaben zu tun haben.

gebe ich z.B. send_data(0x41);
              send_data(0x42);

aus, so erwarte ich AB als Anzeige auf dem Display.
Als Ergebnis erhalte ich jedoch die ersten beiden Anzeigefelder mit 
irgend welchen undefinierbaren Zeichen gefüllt.

Hat irgendjemand eine Idee woran das liegen könnte? mache ich bei der 
Initialisierung möglicherweise etwas falsch.

Gruß und Dank


P.S. Das Display ist Funktionstüchtig

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Als Ergebnis erhalte ich jedoch die ersten beiden Anzeigefelder mit
>irgend welchen undefinierbaren Zeichen gefüllt.

Und welche?

MfG Spess

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Zeichen gibt es leider nicht auf der Tastatur, selbst im ASCII 
Zeichensatz habe ich sie nicht gefunden. Sind einfach innerhalb eines 
Zeichenfeldes wild durcheinandergewürfelte Pixel zu sehen.

Ach was mir in der Zwichenzeit noch eingefalle ist.
Ansteuerung erfolgt über ein komplettes Byte.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk K. schrieb:
> Diese Zeichen gibt es leider nicht auf der Tastatur, selbst im ASCII
> Zeichensatz habe ich sie nicht gefunden. Sind einfach innerhalb eines
> Zeichenfeldes wild durcheinandergewürfelte Pixel zu sehen.

Hier findest zb einen Zeichensatz
http://www.lcd-module.de/pdf/doma/dips082.pdf

Man beachte die Japanischen Zeichen mit Codes größer 127.
Ist da deine Anzeige dabei?

(Worauf es hinausgeht: Eventuell hast du ein paar Datenleitungen 
vertauscht. Wenn du die richtigen erwischt, dann geht sich das mit der 
Initialisierung immer noch aus. Nur die Zeichencodes sind dann 
durcheinander)

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein,
die Zeichen, welche auf meinem Display zu sehen sind, sind auch in 
dieser Tabelle nicht dabei.

Datenleitungen vertauscht kann ich auch ausschließen, da die .exe Datei 
eines Kollegen mit selber Kabelbelegung fehlerfrei läuft. Nur leider ist 
dazu der C Code nicht mehr vorhanden, somit muss das ganze neu 
geschrieben werden und ich stehe gerade vor diesem Problem.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk K. schrieb:
> Nein,
> die Zeichen, welche auf meinem Display zu sehen sind, sind auch in
> dieser Tabelle nicht dabei.

Hmm.
Dann können das dann aber eigentlich nur noch die vordersten 8 
benutzerdefinierten Zeichen sein, die du da siehst. Denn was anderes als 
diese im Datenblatt angegebenen Zeichen + die 8 benutzerdefinierten 
Zeichen kann das Display nicht anzeigen.

Was mich zur Vermutung bringt, dass dir irgendwo das High-Nibble bei der 
Ausgabe verloren geht und du anstelle von 0x41 irrtümlich 0x01 zum LCD 
schickst. Genauso bei 0x51, das High-Nibble geht verloren und das LCD 
kriegt den Auftrag wiederrum 0x01 anzuzeigen.

Klappere deinen Code mal in diese Richtung ab.

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber warum kann ich dann einen Befehl zur Intialisierung oder 
Adressierung z.b. 0x80 problemlos senden? Und der Cursor steht danach 
auch an dieser Position.
Ich verwende die selbe routine zum senden der Befehle als auch zum 
senden der Daten. Allerdings das RS bei der Datenübermittlung auf 1 
gesetzt.
Daher kann ich das eigentlich auch fast ausschließen.

Ich weiß, ist furchtbar aber ich kann das Datenblatt mittlerweile fast 
auswendig und finde einfach nichts mehr wo ich den Fehler noch suchen 
kann.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da könnte eines dabei sein,
das muss ich mir morgen nochmal genau anschauen. Habe das Display leider 
gerade nicht hier.

Aber vielen Dank schon mal für eure Hilfe!!

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Winstone oder Winstar (LCD Hersteller in Taiwan)?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Winstone oder Winstar (LCD Hersteller in Taiwan)?

Das Teil ist von Winstar.

Und wer so einen Schwachsinn macht hat sowieso keine Ahnung
von dem was er tut.

>send_data(0x41);
>send_data(0x42);

send_data('A');
send_data('B');

Müsste eigentlich auch gehen;)

Da aber niemand weiss was send_data() wirklich
macht kann man sich weitere Vermutungen einfach sparen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk K. schrieb:

> Ich weiß, ist furchtbar aber ich kann das Datenblatt mittlerweile fast
> auswendig und finde einfach nichts mehr wo ich den Fehler noch suchen
> kann.

Nun, wir auch nicht.

Du könntest aber mal einen Anfang machen und den Code herzeigen. Dann 
müsste man nicht raten.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt stell dich nicht an, du wirst den Fehler doch bestimmt auch so 
finden!

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jetzt stell dich nicht an, du wirst den Fehler doch bestimmt auch so
>
> finden!

Hab ich ;-)

Ich danke allen für die mehr oder weniger Geistreichen Beiträge zu dem 
Thema!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk K. schrieb:
>> Jetzt stell dich nicht an, du wirst den Fehler doch bestimmt auch so
>>
>> finden!
>
> Hab ich ;-)

Und was wars?

Autor: Filo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja... das selbe prob hab ich in etwa auch und es wäre nett gewesen wenn 
jemand der hilfe sucht und sie dann findet die lösung mit anderen teilt 
;)

lg

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Filo schrieb:
> tja... das selbe prob hab ich in etwa auch und es wäre nett gewesen wenn
> jemand der hilfe sucht und sie dann findet die lösung mit anderen teilt
> ;)
>

Das war mit einiger Sicherheit irgend ein hausgemachter Blödsinn in 
seinem Code, den er nicht herzeigen will. Ich schätze mal du wirst ein 
komplett anderes Problem haben.

Aber ohne Code und/oder Verschaltung herzuzeigen kann man sowieso nichts 
genaueres sagen.

Autor: Filo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab nen neuen thread aufgemacht, vlt kannst mir ja helfen...
[[Beitrag "ks0066 mit m8535 und bascom"]]

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.