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.