Forum: Mikrocontroller und Digitale Elektronik GLCD T6963 Probleme mit Textdarstellung


von Frank (Gast)


Lesenswert?

Hallo!

Ich habe den AVR 90S8535 an ein Display Toshiba TLX-1391 128x128
angeschlossen. Ich kann jedes Pixel ansprechen. Leider kann ich keinen
Text auf das Display darstellen lassen.
Hat jemand einen Plan was ich das tun muss?

Speicheraufbau vom Display:

//  0000H  +---------------+
//        | Graphic Ram  |
//  0DFFH | 3584 Bytes |
//  0E00H  +---------------+
//        | Attribute Ram |
//  0FFFH |   |
//  1000H  +---------------+
//        | Text Ram  |
//  1BFFH | 3072 Bytes |
//  1C00H +---------------+
//        | CG  Ram  |
//        | 1024 Bytes |
//  1FFFH +---------------+

C-Routinen:

void out(char commando,char dataa, char datab)
{
lcd_status();
pause();
rd = 1;
pause();
cd = 0;
pause();
PORTC = dataa;
pause();
wr = 0;
pause();
wr = 1;
pause();
PORTC = datab;
pause();
wr = 0;
pause();
wr = 1;
pause();
cd = 1;
pause();
PORTC = commando;
pause();
wr = 0;
pause();
wr = 1;
pause();
cd = 1;
pause();
}

void t6963cinit(void)
{
out(0x42, 0, 0);
out(0x43, 22, 0);
out(0x40, 0, 0x10);
out(0x41, 30, 0);
out(0x21, 0, 0x10);
out(0x24, 0, 0x10);

out(0x80, 0, 0);
out(0xA7, 0, 0);
out(0x90, 0, 0);
cls();
LCD_Clear_Text();
out(0x98, 0, 0);
}

void lcd_gotoxy(unsigned int x, unsigned int y) // Set Adresspointer
{
   unsigned int address;
   address = ((unsigned int)y * 30) + x + 0x1000;
   out(0x24,address & 0xff,address >> 8);
}

void lcd_write_string_xy(unsigned int x, unsigned int y, char *ptr)
// write String an pos x, y
{
  lcd_gotoxy(x,y); // set Adresspointer
  while (*ptr)
  {
    out(0xC0,(*ptr)-0x20,0);
    ptr++;
  }
}

von Frank (Gast)


Lesenswert?

Bin für jede Hilfe dankbar!

von Jochen (Gast)


Lesenswert?

Huhu Frank,

>out(0x98, 0, 0);

lt. Datenblatt:

Display Mode 1 0 0 1 N3 N2 N1 N0

N3 Graphicmode
N2 Textmode
N1 + N0 Cursor gedönse

wenn Du Text sehen willst solltest du das dem Display auch mitteilen

also für nur Text:
out(0x94, 0, 0);

oder für Text und GFX
out(0x9C, 0, 0);


Grüßle Jochen

von Jochen (Gast)


Lesenswert?

Auch und btw. ein bisserl Zeit solltest Du den Leuten schon zum
Antworten lassen ;-)

Jochen

von Frank (Gast)


Lesenswert?

Hallo Jochen!

Danke für die Hilfe.

Hab das Programm abgeändert.
out(0x9C, 0, 0);
Leider sehe ich noch als kein Zeichen auf dem Display.

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
Noch kein Account? Hier anmelden.