Display 128x64 Pixel mit Kontroller KS0108



Code:
char GLCD_DataPORT at PORTD;

sbit GLCD_CS1 at LATB0_bit;
sbit GLCD_CS2 at LATB1_bit;
sbit GLCD_RS  at LATB2_bit;
sbit GLCD_RW  at LATB3_bit;
sbit GLCD_EN  at LATB4_bit;
sbit GLCD_RST at LATB5_bit;

sbit GLCD_CS1_direction at TRISB0_bit;
sbit GLCD_CS2_direction at TRISB1_bit;
sbit GLCD_RS_direction  at TRISB2_bit;
sbit GLCD_RW_direction  at TRISB3_bit;
sbit GLCD_EN_direction  at TRISB4_bit;
sbit GLCD_RST_direction at TRISB5_bit;

void Delay2s(){
 Delay_ms(2000);
}

void main() {
 char *Text;
 
 ANSELB=0;
 ANSELD=0;

Glcd_Init();           //LCD initialisieren
Glcd_Fill(0x00);       //Display leeren
Delay2s();             //2 Sekunden warten

/* 
     H*-----------*G
     /|          /|
    / |         / |
  D*--+--------*C |
   |  |        |  |
   | E*--------+--*F
   | /         | /
   |/          |/
  A*-----------*B

*/

//Text
Glcd_Write_Text("       3D-Cube       ", 0, 1, 1);

//Punkt A nach Punkt B
Glcd_Line(40, 50, 70, 50, 1);

//Punkt B nach Punkt C
Glcd_Line(70, 50, 70, 30, 1);

//Punkt C nach Punkt D
Glcd_Line(70, 30, 40, 30, 1);

//Punkt D nach Punkt A
Glcd_Line(40, 50, 40, 30, 1);

//Punkt E nach Punkt F
Glcd_Line(50, 40, 80, 40, 1);

//Punkt F nach Punkt G
Glcd_Line(80, 40, 80, 20, 1);

//Punkt G nach Punkt H
Glcd_Line(80, 20, 50, 20, 1);

//Punkt H nach Punkt E
Glcd_Line(50, 20, 50, 40, 1);

//Punkt A nach Punkt E
Glcd_Line(40, 50, 50, 40, 1);

//Punkt B nach Punkt F
Glcd_Line(70, 50, 80, 40, 1);

//Punkt C nach Punkt G
Glcd_Line(70, 30, 80, 20, 1);

//Punkt D nach Punkt H
Glcd_Line(40, 30, 50, 20, 1);

Glcd_Set_Font(System3x5, 3, 5, 32);
Text="WWW.ROBOTERNETZ.DE @ DEAF BOY";
Glcd_Write_Text(Text, 7, 7, 2);

 }