PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neues LCD bekommen, 192x64 KS0108 Ansteuerungsfrage



Blue72
25.10.2008, 17:52
Hi Leute,

habe heute mein lang ersehntes Touch LCD vpn Ledsee.com bekommen.
Der Anschluss für das Touchfeld hat erfreulicherweise eine 4-Pin Buchse, passend für eine normale Stiftleiste.

Allerdings komm ich nicht so ganz mit den Anschlüssen klar die da wären:

Pin - Beschreibung
1 - VSS (GND)
2 - VDD (+5V)
3 - VLCD (Poti 10k Mittelabgriff)
4 - VEE (ist doch -15V oder ? Muss ich das Signal verarbeiten ? )
5 - RS (cd ? )
6 - R/W (rd ? )
7 - E (enable ? )
8 - DB0 (Daten)
-
-
15 - DB7 (Daten)
16 - /CS1 (Ce)
17 - /CS2 (ce1)
18 - /CS3 (?)
19 - /RES (Reset)
20 - LED+(EL) (Backlight)
21 - LED-(EL) (Backlight)

So, mehr gibt das Datenblatt leider nicht her :(
Das in Klammern hab ich selber dazugeschrieben.
Aus anderen Bascom Listings hab ich gesehen das /CS1 und /CS2 scheinbar gängig sind, ich habe aber jetzt auch noch einen /CS3 ? Was mach ich damit ?

Ich habe folgendes gefunden:



$lib "glcdKS108.lbx"
Config Graphlcd = 192 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 1 , Ce2 = 0 , Cd = 4 , Rd = 2 , Reset = 6 , Enable = 3


Das Display ist dieses hier:

LCD von LEDSEE.COM (http://ledsee.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=143&category_id=23&manufacturer_id=0&option=com_virtuemart&Itemid=27)

Vielleicht kann mir ja jemand helfen.

Gruß
Jens

linux_80
25.10.2008, 22:00
Hi,

die Lib für KS0108 die bei Bascom dabei ist, ist nur für 128x64 ausgelegt, mehr als 2 Ce's sind nicht vorgesehen.
Hier ist also etwas Handarbeit angesagt. zB. Lib selber optimieren.

Blue72
25.10.2008, 22:02
Och nöööööööö, jetzt hab ich sooo lange auf das LCD gewartet :(
Ich hab mir grade mal die Lib angeschaut und ich denke, das kann ich mal vergessen da ich davon gar keine Ahnung habe :(

Ob´s schon jemanden gibt der die lib geändert hat ?

Guß
Jens

linux_80
25.10.2008, 23:11
Hi,

probier mal ob das geht:

Diesen Code zusätzlich ins Programm einbauen, am Anfang.

Const _glcd_ce3 = 1 ' PinNr (0-7) an dem CE3 liegt am Ctrl-Port

$lib "glcdks108_192.lbx"

Den Config-Befehl ganz normal lassen, wie für 2 Chips, der 3. Chip wird per Constante am Anfang festgelegt !

Die Lib (vom Anhang) ins Bascom-Lib-Verzeichnis.

€dit:
Wegen neuer Erkenntnisse: Die Const-Zeile wird nicht benötigt, einfach das Ce3 mit in die Config-Zeile, siehe weiter unten.

Blue72
26.10.2008, 07:32
Hi Linux,

erstmal vielen Dank für Deine Mühe, aber ich bekomme eine Fehlermeldung beim compilieren:

"ALIAS can not be CONST or DIMMED variable [_GLCD_CE3]

Gruß
Jens

Blue72
26.10.2008, 09:14
Hmm müsste sich denn nicht wenigstens IRGENDWAS auf dem LCD tun ?
Es passiert rein gar nix. Selbst die Contrastverstellung zeigt keinerlei Wirkung.
Angeschlossen ist es wohl richtig (hoff ich mal).

Gruß
Jens

linux_80
26.10.2008, 12:43
Moinmoin,
welche Bascom-Version hast Du, bei mir kommt beim compilieren kein Fehler, hast Du die eine Zeile oben eingefügt (mit der richtigen Pin-Nr), vor dem Config-Befehl ?
Ich hab nur ein 128x64, und da geht mit der umgebauten Lib zumindest der Teil den ich sehe.

Mit der orginal-Lib sollte wenigstens der Teil mit 128*64 zu aktivieren sein.

Wenn man am Kontrast dreht sollte sich immer was tun.
Bei meinem sieht man schon alle Pixel, wenn ich nur die Spannung anlege, also nicht initialisiert wurde.

Der Kontrast wird bei den Pins 3-4 verkabelt.

PS:
Ich hab jetzt versucht mit meinem 128er und den 2 Chips so zu verkabeln, dass ich die 3 Chips virtuell Anzeige, also immer ein Chip wird nicht angezeigt (tauschen der Ce's per Software-Config). Aber ich bekomm das nicht so hin, entweder sehe ich bei einer hälfte immer alles, aber nie ganz das richtige :-(
Mit den 1. zwei Chips geht die Lib aber, also bis 128.

Was mit noch aufällt, bei dem DB von Dir werden die CE's negiert angezeigt (Strich davor), deshalb kanns sein, das es deshalb nicht geht, denn bei meinem ist es genau andersrum, die Chips werden falsch aktiviert !

Blue72
26.10.2008, 13:01
Hi Linux_80,

so ich habe jetzt den Kontrast anders angeschlossen, VDD und VEE ans Poti, VLCD an den Schleifer, jetzt hab ich auch Kontrast ;)

Ich habe die aktuelle Vollversion von Bascom 1.11.9.2

Ich trottel ... ich hatte in der Config Zeile ce3=6 angefügt (vorher schon), damit kam der Fehler beim compilieren. Jetzt kommt kein Fehler mehr ..

Ich habe Deine lib eingebunden und auch die Const Zeile eingeben, allerdings habe ich jetzt nur noch eine Anzeigefläche von 128x64, der Rest wird gar nicht mehr angezeigt. Wenn ich die Const Zeile weg lasse und die Config Zeile so schreibe:

Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 4 , Ce2 = 5 , Ce3 = 6, Cd = 1 , Rd = 2 , Reset = 7 , Enable = 3

dann habe ich die vollen 192 x 64 wieder.

Ich kann z.b. ein quadrat über die ganze breite und höhe darstellen, aber ein bgf file 192x64 wird nicht richtig angezeigt sondern nur zerstückelt.

Also erstmal vielen Dank an Dich das Du Dir die Mühe gemacht hast, das mit dem bgf werd ich auch noch hin bekommen :)


Gruß
Jens

linux_80
26.10.2008, 13:06
Hmm,
aber Du verwendest meine Lib, wenn Du das Ce3 mit in der Config-Zeile hast ?
Denn dann passts ja, einfach die Const weglassen und so weitermachen :-)

Blue72
26.10.2008, 13:08
Ja genau, ich verwende Deine lib, wenn ich das ce3 rausnehme und nur die Const Zeile nutze, habe ich nur 128 pixel.

linux_80
26.10.2008, 13:11
Ja dann passts ja, bau das Ce3 rein und nimm meine Lib :-)

Ich dachte nur, das Bascom das nicht eingebaut hat mit dem 3. Ce, deshalb hab ich das selber angelegt. Aber wenn das eeh schon dabei ist, ists ja noch besser.

Nur in der orig. Lib für den KS0108 wurden nur 2 Ce's verwendet, also wars nicht ganz umsonst ;-)

Blue72
26.10.2008, 13:13
Mit der originalen geht´s auch nicht ;) Danke Dir :)

Blue72
26.10.2008, 16:02
Soo, jetzt kommt der Verzweiflungs-Punkt :(
Linien und Text kann ich positionieren wo ich möchte, nur bei bgf-files
wird wirres Zeug angezeigt, bzw. Teile vom dem Bild richtig, aber arg verstreut. Was kann das denn sein ?

Gruß
Jens

linux_80
26.10.2008, 16:37
Hm,
ist das überall so, also auf jeden Teil des LCDs, alle 3 Controller ?
Macht es einen Unterschied wenn die nur im Bereich bis 128 gehen ?

Wie hast Du die Grafiken umgewandelt, es gibt im Bascom Grafik Converter den Schalter "SED series" dieser muss für den KS0108 auch aktiviert werden, damit die Richtung stimmt, und Font 8*8.

Blue72
26.10.2008, 16:58
Also es ist scheinbar egal auf welchem Teil des LCDs der Kasten (zum Test, 24x24pixel) ausgegeben wird, er ist immer komplett zerstückelt.
Ich habe den Bascom Coverter so eingestellt wie von Dir beschrieben (auch vorher schon), aber das Ergebnis ist das gleiche. Kann es daran liegen das man nicht ein 192 x 64 LCD auswählen kann im Converter ?
Gibt es noch andere BGF Converter ?

Blue72
26.10.2008, 17:29
Hmm es geht jetzt, aber ich weiss nicht genau woran es gelegen hat.
Ich glaube es war ein "Reihenfolgen-Problem" der Initialisierung, aber ich kann es leider nicht reproduzieren :( Ich versuch es aber, damit ich weiss woran es wirklich gehapert hat.

Eins ist allerdings noch: Wenn ich den Kasten mit Showpic 0,0,Kasten oben links in die Ecke setze, rutscht er 6 Pixel hoch und die 6 Pixel kommen unten wieder raus ? hmm ... ich übe mal weiter ;)

Gruß
Jens

linux_80
26.10.2008, 17:58
Das mit dem verschieben hab ich auch manchmal, scheint ein Übertragungsfehler zu sein, denn meistens gehts so wie es soll.
Näher geforscht danach hab ich aber noch nicht.
Das passiert auch mit einer älteren Lib von einer alten Bascom-Version so, das muss deshalb einen anderen Grund haben.
Evtl. Kabel zu lang.

Blue72
26.10.2008, 18:04
Also wenn ich ein BGF file nehme mit 192 x 64 verschiebt sich nix ... komisch ... Kabel geht nicjt kürzer, ist nur 10cm lang ;) Ich habe aber fest gestellt, wenn ich die $include "font16x16.font" Anweisung an den Anfang des Programms setze, das Display nichts anzeigt. Setze ich das ans ende des Programmes funktioniert alles so wie es soll ....

linux_80
26.10.2008, 19:24
Hier hab ich fast 30cm Kabel und geht auch nicht anders ;-)
Ich hab auch schon am Timing rumprobiert, wird aber nicht anders.

Mit der Verschiebung, die kommt gleich beim Init mit, denn wenns mal verschoben ist, ist es gleich beim ersten Punkt der geschrieben wird schon veschoben. (Wait zwischen den Befehlen)

Ich hab das am RN-Control angeschlossen, und hab die Ports auch schon durchgetauscht, um zu verhindern, das es an anderer Verwendung einzelner Ports liegt, aber hilft nix. Wenn das Ding verschoben sein will ist es halt verschoben :-)

Wenn ich die Ce's tausche ist ein anderer Bereich veschoben ;-)
Naja wird sich schon noch was finden.

Blue72
26.10.2008, 19:35
Stimmt, da hast Du Recht. Ich benutze auch das RN-Control 1.4, musste auch grade erstmal den Port wechseln da mir der Buzzer auf die Nerven ging ;)
(DataPort auf Port.D ) ;)

linux_80
26.10.2008, 19:42
Der Buzzer ist das einzige was man nicht entfernen kann :-k
Motortreiber und MAX 232 hab ich schon raus, auch die Pullups vom I2C, aber der 1. Chip ist immer ein Pixel verschoben, und geht auch nimmer weg. deshalb mach ich erstmal woanders weiter :-)

Blue72
26.10.2008, 19:50
Das hatte ich auch, bis ich mal auf die gloreiche Idee kam beim LCDAT oder beim Showpic 0,0 statt 1,1 anzugeben :D
Glaub nicht das es am RN-Control liegt, obwohl mich das Ding schon einen langen Abend gekostet hat.

linux_80
26.10.2008, 20:01
Die Berechnung mit den X-Y-Werten ist sowieso etwas komsich.
sGibt Befehle da kommt erst Y, dann gehts mal Zeilenweise, dann Pixelweise ...

Bei meinem Problem heut ist ja nur eine Seite falsch, wenn Zeichen über die Kante auf den 2. Chip gehen, passt es nicht zusammen.

Da forsch ich aber ein ander mal weiter, vom Prinzip her ging heut ja alles, sind nur Peanuts gewesen. :-)

Blue72
26.10.2008, 20:14
Das finde ich auch ziemlich komisch bei der KS108 lib, die Höhe kann man nur in 8er Schritten machen, seitlich pixelweise ... Macht ja bei einem 8er Font Sinn, nur bei dem 32er nicht ;)

MelMan
30.10.2008, 19:22
Nabend zusammen.

@Blue_72
Arbeiten wir an was gleichem xD? Ist jetzt schon der zweite Thread mit Gemeinsamkeiten innerhalb von 2 Tagen=)

So meine eigentliche Frage: Habe genau das gleiche Display auch von LEDSEE hier rumfliegen und wollte auch mal Bilder von 192x64 anzeigen lassen aber hab nix hingekommen. Kann ich die denn jetzt mit der hier vorhandenen Lib anzeigen lassen? Bzw. kann ich so ein Bild überhaupt mit dem Bascom- Compiler komprimieren?

Blue72
31.10.2008, 05:57
Moin,

hehe ich hoffe nicht ;) Die lib von Linux80 arbeitet einwandfrei, die kannst Du benutzen. Mit Bascom komprimierst Du nix, Du musst das .bmp file mit Bascom in BGF wandeln (Tools oder Werkzeug -> Grafik Converter).

Dann einfach nur mit:



Showpic 1 , 1, Bild

:Bild
$bgf "testbild.bgf"



Gruß
Jens