Wenn da wirklich ein KS0108 drauf ist, sollte das eigentlich zusammenpassen.
Das DB gibt ja auch nur das allernötigste her, wie der Pinbelegung.
Wie lange sind die Leitungen vom AVR zum LCD ?
Habe es probiert.
Leider geht es immer noch nicht.
Das Display ist übrigens ein YM-12864C (yaoyu-lcm.com).
Kann es sein, dass es einfach mit diesen Routinen nicht kompatibel ist?
Wenn da wirklich ein KS0108 drauf ist, sollte das eigentlich zusammenpassen.
Das DB gibt ja auch nur das allernötigste her, wie der Pinbelegung.
Wie lange sind die Leitungen vom AVR zum LCD ?
Ich habe das ganze auf einem Steckbrett aufgebaut.
Die Leitungen sind ca. 10-12 cm lang.
Sehr viel kürzer kann ich aber auch nicht werden.
Momentan habe ich das ganze mit internem Takt (1Mhz) laufen. Sollte doch reichen, oder?
Von der Geschwindigkeit her sollte es reichen, die Wartezeiten in Bascom werden hier auch nur per warteschleife erzeugt, und anhand der Angabe bei $crystal berechnet.
Evtl. werden die Flanken nicht mehr steil genug, und die Zeit zu kurz in der das Signal dann aktiv am LCD anliegt
Du kannst ja nochmal nach den @genus() suchen, und den Werte um 1 oder 2 erhöhen (aber nicht zuviel, sonst wirds zu langsam) um herauszufinden ob sich was ändert !
Sonst weiss ich auch grad nix weiter![]()
Hallo nochmal!
Auch wenn ich gefahr laufe mich zu wiederholen; Ich habs noch nicht hinbekommen.
Folgende Einstellungen habe ich:
Ponyprog Fusebits:
JTAGEN
BOOTSZ1
BOOTSZ0
SUT0
CKSEL1-3
-> Häckchen gesetzt (müssten Werkseinstellungen des Mega32 sein)
Displayanschlüsse (YM12864C):
Kabellänge ca. 10cm
Kontakt geprüft
DB0 bis DB7 an PortA.0 bis PortA.7
CS1 an PortC.0
CS2 an PortC.1
RS an PortC.2
R/W an PortC.3
E an PortC.4
/RES an Reset des Mega32
Mein Testprogramm:
Folgender Fehler erscheint 2x:Code:$regfile = "m32def.dat" $crystal = 1000000 $lib "glcdKS108.lbx" Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Enable = 4 Cls Wait 1 Setfont Font8x8 Do Lcdat 1 , 1 , "123" Wait 1 Cls Loop End $include "font8x8.font"
Error:222 Line: 227 Illegal character [expected(,got"] ,inFile : E:\GLCD\TESTGLCD.BAS
Ich weiss einfach nicht was ich falsch mache oder woran es liegt.
Bin auch schon kurz vorm verzweifeln.
Marten83
Hallo,
der Reset gehört auch an einen Ausgang des AVR (nicht mit dem AVR-Reset verbinden !), damit man den Reset des LCDs steueren kann, diesen auch bei Config definieren, evtl. kommt deshalb der Fehler ?
Beispiel von mir:
Hast Du ein fertiges Board, oder ein selbstgebautes ?Code:Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 1 , Ce2 = 0 , Cd = 4 , Rd = 2 , Reset = 6 , Enable = 3
Fertiges: An PortC.1 und 2 ist der I2C-Bus, und da werden gerne Pullups hingelegt, was evtl. die Signale beeinflusst.
Sebstgebaut: Beim PortA muss AVCC und AGND angeschlossen werden, damit der funktioniert, auch wenn man den ADC nicht verwendet.
Wusste ich gar nicht, danke!
Also das Problem mit dem Error in Bascom hat sich jetzt erledigt.
Habe den Reset wieder eingefügt.
Leider kommt auch nach der Versorgung von GND und AVCC nix aufs Display.
Habe die ganze Schaltung übrigens auf einem Steckbrett aufgebaut.
Marten83
Hast Du auch die Kontrastregelung dabei, so wie das auf dem DB zu sehen ist ?
Also Poti zwischen Vdd-V0-Vout ?
Na klar, ich bin schon immer wie ein wilder am rumdrehen ob nicht doch etwas erscheint.
Kann es sein, dass ich mit den Ports des AVR noch irgend etwas einstellen muss?
hab mal ne LED mit Vorwiederstand an die Pins gehängt und gesehen, dass zum Beispiel die Pins für Die Displayhälften beide High sind.
Sollte doch nicht sein, oder? Durch die Schleife müsste das doch hin und hergeschaltet werden.
Durch das rumdrehen müssten die Pixel aber auch erscheinen, alle, egal ob abgesteuert oder nicht ?
Mit den Ports muss man nix machen, das macht die Lib.
Die Leitungen für CS sind Low-Aktiv, und auch nur solange ein Byte übertragen wird, kann sein, das man das nicht sieht, weils zu schnell geht.
Du kannst aber mal probieren die LED nach Vcc zu hängen, dann dollte die LED nur aufblitzen wenn was übertragen wird.
Lesezeichen