Hallo, hat jemand eine deutschsprachige Anleitung zur Ansteuerung eines Displays mit T6963-Controller, bei Conrad habe ich eine gefunden für einen KS01018B, läuft auch gut, nur für T6963 habe ich nichts finden können. Gruss A. Arndt
Also in deutsch, chancenlos. Ich programmiere gerade für ein 240x128er Display mit T6963 ein graphisches OS für den Navigationsbereich. Ich könnte evt. hier einige Fragen beantworten, da ich schon ziemlich fertig bin. Umgebung ist bei mir 89C51, Keil, 60% in C, 40% in Assembler. Ciao, Philipp P.S.:In englisch Kannst du jede Menge bekommen
Hallo, mir würde Schemaplan reichen, ich möchte zunächst nur Text darstellen... Schemaplan z.B. : 1.) D/I auf High, 2.) Textbereich festlegen mit 11100111 auf Daten usw. Gruss A. Arndt
Also was meinst du mit Schemaplan ? Ich sende dir mal für den Anfang die Adressen, an denen der jeweilige Speicher liegt und meinen Init-String für´s erste. #define TXTADR 0000H #define GRADR 0500H #define CGADR 1800H #define DUMMY 00H #define CURSOR 21H #define OFFSET 22H #define ADPSET 24H #define TXTHOME 40H #define TXTAREA 41H #define GRHOME 42H #define GRAREA 43H #define ORMODE 80H #define XORMODE 81H #define ANDMODE 83H #define MODETXT 94H #define MODEGRAPH 98H #define MODEMIX 9CH #define SEQUENCE_END 0A1H ;define for Sequence-Routine coInitSequence: ; -------------+- LOW ------+- HIGH ------+- CMD ------------------ db low(TXTADR), high(TXTADR), TXTHOME ; set text home address db COLS, 00H, TXTAREA ; set text area (columns) db 00H, 00H, CURSOR db low(GRADR), high(GRADR), GRHOME ; set graphic home address db COLS, 00H, GRAREA ; set graphic area (columns) db DUMMY, DUMMY, ORMODE ; set XOR mode for text & graphic mix db low(GRADR), high(GRADR), ADPSET ; address pointer set db DUMMY, DUMMY, MODEMIX ; set text & graphic mode db SEQUENCE_END Das Ganze sende ich mit einer Routine als String zum Display. Die dazu passenden Routinen haben keinen Sinn, da ja jeder das Display anders ansteuert (bei mir über Port-Leitungen). Ein Teil meiner Init sieht z.B. so aus : vDisplayInit: ; set home address clr SIG_CE clr SIG_RES mov r0, #0FFH loop: nop nop djnz r0, loop ; Display startup setb SIG_RES mov r7, #low(coInitSequence) mov r6, #high(coInitSequence) call _vDisplaySendSequence In das Display schreiben ... _vDisplayWriteData: call vCheckBusyForData mov DATA_BUS, r7 clr SIG_WR setb SIG_WR ret vCheckBusyForData: mov DATA_BUS, #0FFh ; switch bus to read bit 0+1 setb SIG_CD ; switch to cmd-mode jBusyForDataLoop: clr SIG_RD mov a, DATA_BUS setb SIG_RD anl a, #03h ; take the status-byte xrl a, #03h jnz jBusyForDataLoop ; STA 0+1 is not zero clr SIG_CD ; switch to data-mode ret Na für den Anfang wirds ja mal reichen. Ciao, Philipp
Hallo, Danke für Deine Ausführung, nutze leider Basic, aber ich schau mir das o.g. mal genauer an, evtl. hilfs mir ja... Gruss 'A. Arndt
Hallo, ich möchte nur einmal 2-3 Buchstaben oder Zahlen darstellen und weiss jetzt nach der Ini nicht, welche Hex-Codes ich senden muss für nur Text-Darstellung... Gruss A. Arndt
hi mit basic sieht es schlecht aus aber vor kurzem hab ich mal meinen c-sourcecode zur ansteuerung des T6963 mit einem pic controller gepostet es ist recht einfach geschrieben und du solltest leicht sehen was in welcher reihenfolge geschieht mfg mike
Nach der Initialisierung mußt du den Cursor dort hin setzen, wo der Text beginnen soll und die Daten schreiben: GOTO XY(0,0) -> WriteCmd[0,0,0x24] WRITE "A" -> WriteCmd[65, 0xC0] WRITE "B" -> WriteCmd[66, 0xC0] . . . 0x24 ... Setze Adresse X, Y 0xC0 ... Kommando für "Schreibe Daten und erhöhe Adresszeiger" Wichtig !!! ============ Beitreibst du das Display im 30 oder 40 Zeichen Mode (6 oder 8Bit Graphikmode) ? Hier eine Routinen in C für die Datenübertragung : ================================================== void WriteData(unsigned char d) { unsigned char busy = 0; P1 = 0xFF; // LCD on Port 1 LCD_CD = 1; // Command-Mode while((busy & 0x03) != 0x03) // busy ? { LCD_CE = 0; LCD_RD = 0; busy = P1; LCD_RD = 1; LCD_CE = 1; } P1 = d; // Data on Port 1 LCD_WR = 0; LCD_CE = 0; LCD_WR = 1; LCD_CE = 1; // Data is written } Viel Glück ... Philipp
Hallo, vielen Dank für Eure Hilfe, ich habe mich schon mit den Datenblättern herumgeschlagen und habe gesehen, dass ich vorerst dem Display sagen muss Grafik oder/und Textmodus mit Befehlen um 80h und dann noch die Home-Adress festlegen usw. Mit dem Buchstaben schreiben und Intalilierung habe ich mich schon beschäftigt, aber der Befehlssatz dazwischen mit 40h und 41h usw. Gruss A. Arndt
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.