PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD mit KS108 Grafik/Text Problem



Snecx
17.10.2007, 22:19
Hallo

ich benutze das Beispielprogramm von Bascom mit dem KS108.
Ich bekomme eine Grafik auf das Display und kann Text schreiben.
Leider kann ich beides nicht kombinieren.
Ich möchte gerne eine Grafik einblenden also z.B. einen Frame mit Platzhaltern. In diese Platzhalter moechte ich dann Werte anzeigen lassen.
Sobald ich aber mit dem Befehl Lcdat 30 , 30 , A etwas auf das Display schreiben möchte verschiebt sich die Grafik nach unten. Das ist natürlich nicht brauchbar. Was mache ich falsch??? Oder geht das nicht mit der LIB
Ich bitte um Tips.
Ausschnitte aus meinem Programm:

Setfont Font8x8
Showpic 0 , 0 , Plaatje
Do
For A = 1 To 100
Lcdat 30 , 30 , A
Wait 1
Next A
Loop
$include "font8x8.font"
Plaatje:
'include the picture data
$bgf "my.bgf"

Zapo.
18.10.2007, 23:22
ist deine grafik vielleicht so groß das sie den text überschreibt?

positioniere mal den text woanders oder schreibe einen definierten Text nachdem die Grafik aufgerufen wird und füge in dein Programm einfach pausen ein um erst z.b. auf tastendruck oder ähnliches weiterzulaufen (oder gar ganz anzuhalten...do:loop oder do:loop until xxx)

mat-sche
19.10.2007, 15:30
Hallo Snecx,

also ich habe das gleiche Problem und probiere schon lange daran herum!
Ich bin daran schon verzweifelt und habe mir deswegen schon ein anderes display mit T6963 Controller zugelegt.

Wenn ich irgend wann Assembler kann, werde ich das Display zu Fuß ansteuern, ich glaube die LIB ist nicht optimal für den Controllertyp.

Aber solltest Du irgend wann eine Lösung vor mir gefunden haben, lass es mich wissen!

Gruß MAT

Snecx
19.10.2007, 20:33
Hallo

so etwas in der Art hatte ich mir gedacht. Ich habe auch noch rumprobiert aber konnte keider auch nichts erreichen.
Da ich mein Projekt auch vorantreiben moechte kaufe ich mir auch ein neues Display.
Danke trozdem fuer eure Muehen.

Zapo.
20.10.2007, 12:30
hi,

also, ich habe mein 128x64 Pixel Display mit KS108 Controller mal wieder angeschlossen,

funktioniert einwandfrei mit Grafik und Text getrennt!

siehe Bild

meistens habe sie ja alle die gleiche Pinanordnung und sind dann untereinander austauschbar...

irgendwie musst du da einen Fehler drin haben oder eine Font mit der du das nicht darstellen kannst verwenden! - ich würd mal eine andere probieren...

Displays mit dem T6963C Controller funktionieren übrigens ebenfalls sehr gut, vorteil ist das man sich nicht um die Schriftarten kümmern muss und Text und Grafik getrennt löschen kann! Nachteilig ist das man keine verschieden große Schriftarten gleichzeitig einblenden kann - man muß sich also für eine größe zu Anfang entscheiden...

ich verwende die T6963C Displays trotzdem sehr gerne!
(meist kleinste Schriftart und größere Sachen als Grafik eingeblendet!)

Zapo.

mat-sche
20.10.2007, 20:19
Hallo Zapo,

kannst Du mir mal verraten wie Du zu der Anzeige gekommen bist?
Ich habe 2 verschiedene Displays mit ks108 am Start, habe jedoch keine der beiden Grafik mit schrift mischen können. Und bei mir ist es auch so, dass wenn ich Grafik und Font mische auch die Schrift nicht an der richtigen Stelle ist und die Grafik verschoben wird.

Poste doch bitte mal Dein Prog, von welcher Firma nutzt Du Dein Display?

Gruß MAT

Zapo.
21.10.2007, 02:04
hi mat,

also ich verwende ein ganz normales Display vom Typ: MSG12864A - ein Display habe ich von Pollin.de und die anderen habe ich bei Ebay ersteigert. Funktionieren alle mit Text und Grafik gemischt. Wie man ja auf dem Bild sehen kann habe ich das alles etwas steckbar gemacht, somit sind die Displays auch mal schnell ausgetauscht...
von welcher Firma die sind habe ich keine Ahnung, die Anschlußbelegung ist aber bei dieser Art von Display "fast" immer die gleich - ist halt ja auch immer der KS108 Controller drauf!

der Programmcode ist ganz simple geschrieben:



$regfile = "m8def.dat"
$crystal = 8000000
$lib "glcdKS108.lbx"

Ddrb = &B11111111
Portb = &B11111111

Ddrd = &B11111111
Portd = &B11111111

Dim X As Byte , Y As Integer

Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 3 , Ce2 = 2 , Cd = 0 , Rd = 5 , Reset = 4 , Enable = 1

Setfont Font8x8

Cls
Waitms 600

Lcdat 1 , 1 , "Roboternetz" , 0

Showpic 1 , 10 , Smile

For Y = 0 To 20 Step 1
Circle(64 , 32) , Y , 1
Waitms 200
Next



End

$include "font8x8.font"
Smile:
$bgf "smile.bgf"


hoffe ich konnte dir damit etwas weiterhelfen.. im Anhang nochmal ein Datenblatt von einem meiner KS108 Displays welches von Pollin stammt.

Gruß
Zapo.

mat-sche
21.10.2007, 20:32
Hi Zapo & Snecx,

@zapo:

danke für deinen code, ich habe mir ihn angesehen und mir ist ein licht aufgegangen warum meiner nicht funsen wollt! Ich habe vergessen zu sagen ob jmein text in- oder nichtinvertiert sein sollte!
Jetzt geht alles, habe nur noch ein kleines prob mit der pixeladressierung, was ich aber auch noch herausfinden werde :D !

@snecx:

ich kann dir nur sagen, das es wichtig ist, vor dem text der angezeigt werden soll, den set font8x8 anzugeben. Sonst macht das lcd nur mist.

Bei mir hatte ich vorher ne grafik anzeigen lassen und dann text...

Wenns prob gibt, dann schreib einfach!

Gruß MAT

Snecx
23.10.2007, 16:48
Hallo

ok. ich werde das nochmal probieren. falls noch probleme sind poste ich mal ein screenshot von dem display.
Wenn das beim Zapo funktioniert sollte das ja auch bei mir gehen.
Ich melde mich nochma wenn ich das getestet habe.

Snecx
23.10.2007, 18:09
Danke an alle.
Arrrrggg. Es geht jetzt. Sogar mit unterschiedlichen Schriftgrößen.
Saudummer Fehler.
Wenn ich ne Font mit 8x8 nehme und nur 64 Pixel in der Höhe habe dann kann ich nicht den Befehl LCDAT 30,1,X,0 verwenden.
Ich würde die Schrift nicht um 30 Pixel nach unten verschieben sondern um 30x8 Pixel. Dann ist auch klar warum die Graphik verschoben wurde.
Ok. Danke nochmal.
Jetzt noch ne kurze Frage. Gibt es irgendwo schon fonts die man direkt nutzen kann? Vieleicht hat jemand mal nen par Fonts gemacht, die man direkt includen kann.
Irgendwie bin ich jetzt auf den Geschmack gekommen :-)