Forum: Mikrocontroller und Digitale Elektronik Grafik LCD T6963 Hilfe!!!


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++;
  }
}

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.