Gast
#2202406
Tag allerseits, ich habe mir ein DOGXL (160x104 Pixel, UC1610 Controller) gekauft und an meinen AT89C51CC03 angeschlossen, es läuft einwandfrei, ich habe auch schon Bilder ausgegeben (durch Auto-Increment-Einstellungen vom RAM). Allerdings sind ein zwei Dinge sehr seltsam: Links oben sieht es aus als währe dort Page 0 in Column 0-3 nicht ansprechbar, wenn ich als Column 0 einstelle und als Page 0, dann legt er mir das Byte dass ich ihm schicke aber nicht genau links oben in die Ecke, sondern ca. 4 pixel weiter rechts, das wirkt wie ein kleiner Bereich der einfach nicht ansprechbar ist, wenn ich nun Page 1 einstelle, passt das mit den Columns, nur bei Page 0 ist alles verschoben, weiß vielleicht jemand warum? und das andere Problem ist beim setzen der Pages: wenn ich als Page 0 einstelle, ist es die oberste Reihe wie es sein soll, stelle ich als Page z.B. 2 ein, ist das ganze viel weiter unten als nur 8 Pixel evtl. hängen die zwei probleme ja zusammen, jedenfalls bin ich ratlos :/ Hier mal meine Initialisierungssequenz: call StartTWC call ConnectLCD mov VAL, #11110001b ; Com End Command call SendByte mov VAL, #01100111b ; Com End Value call SendByte mov VAL, #11000000b ; LCD Mapping call SendByte mov VAL, #01000000b ; Startline Value call SendByte mov VAL, #01010000b ; Startline Value call SendByte mov VAL, #00101011b ; Set Panelloading call SendByte mov VAL, #11101011b ; Set Bias call SendByte mov VAL, #10000001b ; Contrast Command call SendByte mov VAL, #01011111b ; Contrast Value call SendByte mov VAL, #10001001b ; Auto Increment Options call SendByte mov VAL, #10101111b ; Enable Display call SendByte call EndTWC StartTWC und EndTWC senden nur die Start und End-Bedingung, hier noch das ConnectLCD und das SendByte Unterprogramm: ConnectLCD: mov R0, #6 mov R1, #10000000b ConnectLoop: mov A, ADR anl A, R1 cjne A, #0, AdrHigh call SendLow jmp AdrLow AdrHigh: call SendHigh AdrLow: mov A, R1 rr A mov R1, A djnz R0, ConnectLoop call SendCDRW call Acknowledge ret SendByte: mov R0, #8 mov R1, #10000000b ByteLoop: mov A, VAL anl A, R1 cjne A, #0, ValHigh call SendLow jmp ValLow ValHigh: call SendHigh ValLow: mov A, R1 rr A mov R1, A djnz R0, ByteLoop call Acknowledge ret Ich bin mittlerweile echt ratlos :/ Hoffe ihr könnt mir weiter helfen >.< Mfg, Max