Hallo!

Ich kämpfe gerade mit einem TG12864B 128x64 Pixel Dotmatrix LCD (Controller KS0108, wie's sie u. a. bei Pollin gibt). Habe die Dinger schon vielfach verwendet, immer ohne Problme. Heute hakt es aber gewaltig und ich habe keinen blassen Schimmer wo das Problem ist Vielleicht seh ich den Wald vor Bäumen nicht ...

Hier zunächst ein runtergekochtes Stück Bascom Code, bei dem das Problem auftritt:

Code:
$regfile = "m8def.dat"
$crystal = 8000000
$framesize = 64
$swstack = 64
$hwstack = 64
$baud = 9600
$lib "glcdKS108.lib"

Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd , Ce = 1 , Ce2 = 0 , Cd = 7 , Rd = 6 , Reset = 4 , Enable = 5
Setfont Font8x8


Dim I As Byte

Cls
Showpic 0 , 0 , M22
Wait 3


Do
   Cls
   Lcd "i= " ; I
   Incr I
   Waitms 500
Loop

End


M22:
$bgf "pics\m22.bgf"

$include "font8x8.font"
Das Problem ist, dass die Darstellung auf dem LCD auf seltsame Wiese "corrupted" ist. Wenn ich den o.g. Code ausführe, bekomme ich folgendes zu sehen:




Oder nochmal in Beispielbildern:

Klicke auf die Grafik für eine größere Ansicht

Name:	bsp1.jpg
Hits:	12
Größe:	54,6 KB
ID:	25898 Klicke auf die Grafik für eine größere Ansicht

Name:	bsp1b.png
Hits:	8
Größe:	504 Bytes
ID:	25899Klicke auf die Grafik für eine größere Ansicht

Name:	bsp2.jpg
Hits:	10
Größe:	49,8 KB
ID:	25900 Klicke auf die Grafik für eine größere Ansicht

Name:	bsp3.jpg
Hits:	11
Größe:	43,8 KB
ID:	25901

Das erste Bild auf dem Display hat die daneben gezeigte Vorlage (als "m22.bgf" eingebunden). Irgendwie doppelt sich also die Darstellung der zweiten Displayhälfte. Text (mittels Befehl LCD(String)) wird nach dem ersten CLS in der untersten Zeile ausgegeben, danach wandert die Darstellung nach oben. Das LCD ist defintiv so angeschlossen, wie im Code behauptet, ich habe das mittlerweile fünf mal nachgemessen. Außerdem habe ich das ganze auf einem anderen LCD exakt so reproduzieren können, das LCD ist also in Ordnung. Auch den Controller habe ich gewechselt, probiert habe ich mit einem mega8 und zwei mega168, immer mit dem gleichen Resultat. Ich weiß dass es hin und wieder Timing Probleme mit diesem LCD Kontroller gibt, allerdings eigentlich erst >8MHz, außerdem sehen die anders aus. Trotzdem habe ich das ganze auch nochmal mit 1 MHz Prozessortakt probiert, ebenfalls mit dem gleichen Ergebnis. Also ich glaube ja fast dass ich etwas extrem dämliches übersehe, aber ich finde das Problem einfach nicht. Hat jemand einen Tipp für mich? Würde mich sehr freuen!

Danke!
Malte