Forum: Mikrocontroller und Digitale Elektronik splc780d LCD Pollin


von Kai K. (kaya)


Lesenswert?

Hi Leute,

ich hab meine Schaltung heute mit einem TC1604A modifiziert. Vorher 
hatte ich ein TC1602A mit 2 Zeilen drauf.

Es hat mit dem TC1602 auch alles wunderbar mit der Fleury.lib geklappt. 
Aber mit dem neuen geht das anscheinend nicht mehr. Ich suche seit 
Stunden im Netz schon nach Lösungen. Aber irgendwie finde ich nicht viel 
zu dem Display. Sollte ich mir lieber einen anderen besorgen oder weiter 
probieren, bis er läuft?

Der Display zeigt nur in der 1./3. Zeile schwarze Balken, was ja auf ein 
Initialisierungs-Problem schliessen lässt.

Das Display ist wie folgt angeschlossen.

Vss = GND
Vdd = +5V
Vo = 0 - +5V über Poti
RS = PA0
R/W = GND (mittlerweile, war vorher auf PA1)
E = PA2
DB0 = GND
DB1 = GND
DB2 = GND
DB3 = GND
DB4 = PA3
DB5 = PA4
DB6 = PA5
DB7 = PA6

Das Display hat 4x16 Zeichen, ist von Pollin und soll laut spartanischem 
Datenblatt einen SPLC780D Kontroller haben.
http://www.pollin.de/shop/dt/MTczOTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1604A_01.html

Hoffe ihr könnt mir helfen. Sonst weiß ich net weiter, vorher hat ja 
alles geklappt.

Danke und schöne Grüße
Kai

von holger (Gast)


Lesenswert?

>DB0 = GND
>DB1 = GND
>DB2 = GND
>DB3 = GND

Lass die Leitungen offen, nicht an GND anschliessen.

>R/W = GND (mittlerweile, war vorher auf PA1)

Bei Fleury darf das glaub ich nicht auf GND liegen.

>laut Datenblatt einen SPLC780D Kontroller haben.

Bei mir funktionieren solche Displays mit den Standard
LCD Routinen.

Welchen AVR benutzt du und mit welcher Taktrate?

von Kai K. (kaya)


Lesenswert?

Hi Holger,

also ich benutze einen AT90CAN128 von Atmel.

Ich hatte vorher die Fleury.lib benutzt. Hab nun auch schon die routine 
von microcontroller.net ausprobiert, aber auch ohne Erfolg.

Vorher hatte ich auch noch den R/W auf PA1, hatte ihn für die 
microcontroller.net -> lcd-routine nicht mehr an PA1, sondern an GND.

Ich kann ja mal den Seitenschneider ansetzen und DB0-DB3 in die Luft 
setzten.

Ich hoffe nur, dass ich nichts beim ausbauen des alten Displays kaputt 
gemacht hab. Hatte aber schon die relevanten Leitungen gemessen.

Grüße Kai

von holger (Gast)


Angehängte Dateien:

Lesenswert?

Funktioniert die HEX Datei aus dem Anhang?

von Kai K. (kaya)


Angehängte Dateien:

Lesenswert?

Also ich hab grad mal die Leitungen DB0-DB3 in die Luft gesetzt, also 
von GND getrennt. Wie ich schon dachte, es hat nix geholfen.

Ich hänge mal das Test-Programm, dass ich aus dem Netz hab, an.

Grüße Kai

von Kai K. (kaya)


Lesenswert?

Also die schwarzen Balken sind weg, ich könnte vermuten es geht.

von holger (Gast)


Lesenswert?

>Ich hänge mal das Test-Programm, dass ich aus dem Netz hab, an.

Na toll, da ist alles für PORTD eingestellt und deine
Pinbelegung stimmt dafür nicht.

von Kai K. (kaya)


Angehängte Dateien:

Lesenswert?

Achso, ja sorry. Das sind die roh-Dateien. Ich hab natürlich auf PortA 
geändert. Sry. Mein Fehler. Moment ich häng nochmal die .h an.

von holger (Gast)


Lesenswert?

>Also die schwarzen Balken sind weg, ich könnte vermuten es geht.

Die Initialisierung scheint bis zu einem bestimmten Punkt
funktioniert zu haben, mehr aber nicht.

Eigentlich müsste jetzt in jeder Zeile was stehen:

Line1
Line2
Line3
Line4

Wenn du das nicht siehst stimmt immer noch etwas nicht.

von Kai K. (kaya)


Lesenswert?

Ne die schwarzen Balken sind zwar weg, aber zu sehen ist auch nix. Woran 
kann das liegen? Benutzt du die gleiche Initialisierung? Sie muss ja 
leicht abweichen, da bei meiner Version nicht mal mehr die schwarzen 
Balken verschwinden?

von Kai K. (kaya)


Lesenswert?

Langsam verzweifel ich.

Kann es sein, dass der Display kaputt ist?

von dolf (Gast)


Lesenswert?

moin !!!
kann es sein das dieses display an pin 3 ( vo displayspannung ) ne 
negative spannung braucht ?
gibt hochtemperatur display´s die das benötigen ( -4,5 .... -5v/ einige 
µa )
hab hier n 2*40 display aus ner waschmaschine und das will -4,5v haben 
sonst sieht man garnix .
der hd44780 kann max. +-11v displayspannung ab.
ich hab hier auf meinem microsps test / programmierboard nen kleinen 
inverter aus nem cd4093b + dioden / kondensatoren drauf womit ich die 
-5v erzeuge .

mfg

von Kai K. (kaya)


Lesenswert?

Hi Leute,

DANKE für die Hilfe. Der Fehler ist gefunden.

Ich hab beim ausbauen des alten Displays einen Bruch in der Leiterbahn 
von DB6 gehabt. Einmal Lot drüber und es läuft. Man man..das war 
wirklich nur ein Haarriss...

Vielen Dank an alle.

Grüße Kai

von Kai K. (kaya)


Lesenswert?

Vielleicht nochmal für interessierte Leser.

Die Peter-Fleury-LCD Libary funktioniert bedingt. Also der Pin R/W muss 
dafür wieder angeschlossen werden. Bei mir war es dann auf dem 4 
zeiligen Display so, dass die ersten 2 Zeilen (DDRAM address: 0x00 und 
0x40) korrekt dargestellt wurden und die dritte Zeile nur mit DDRAM 
address 0x11 läuft. Jedoch ist dann die dritte Zeile um ein Zeichen 
versetzt, da sie eigentlich bei 0x10 beginnt. Setzt man die Adresse auf 
0x10, wird statt in der 3ten/4ten Zeile in die Erste und Zweite 
geschrieben. Die 4te Zeile ging normal mit 0x50. Möglicherweise ein 
timing-Problem.

Ich hab aber leider keine Zeit die Nadel im Heuhaufen zu suchen und 
benutze nun die lcd-routine aus dem Tutorial 
http://www.mikrocontroller.net/articles/Erweiterte_LCD-Ansteuerung
Bei dieser Libary muss dann nur der Pin R/W auf GND gezogen werden. Ein 
in die Luft hängen der Datenpins DB0-DB3 ist nicht nötig. Habe beides 
getestet und es geht entweder mit GND an DB0-DB3 oder man lässt die Pins 
in der Luft.

Schöne Grüße
Kai

von g457 (Gast)


Lesenswert?

> Ein in die Luft hängen der Datenpins DB0-DB3 ist nicht nötig.

Sollte man aber, oder wenigstens hinreichend große Widerstände 
reinmachen. Warum? Um Kurzschlüsse zu vermeiden. Selbige können 
entstehen wenn man das Display (warum auch immer) (noch) nicht korrekt 
in den 4-Bit-Modus gebracht hat und dann einen READ durchführt (wodurch 
die Datenpins zu Ausgängen werden).

HTH

von Kai K. (kaya)


Lesenswert?

Ah okay. Danke das wusste ich nicht, dass muss ich mir gleich mal 
notieren...

Je 10k sollten doch als Widerstand an DB0-DB3 reichen, um sie auf GND zu 
ziehen. Oder ist es nicht schlimm, wenn ich sie einfach in der Luft 
liegen lasse? Will nicht anfangen zu fuschen, das tue ich so schon oft 
genug.

von Otto (Gast)


Lesenswert?

Lass sie in der Luft liegen. Da sie ohnehin eingebaute Pull-ups 
besitzen, ist das auch für CMOS geeignet. Machen ja auch die meisten so.

von g457 (Gast)


Lesenswert?

> Oder ist es nicht schlimm, wenn ich sie einfach in der Luft liegen lasse?

Normalerweise(tm) lässt man sie offen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.