

main()
{
        RES=1;
        delayms(100);
	RES=0;
	delayms(100);
	RES=1;
	delayms(120);

WriteCOM(0x01);
delayms(50);

WriteCOM(0x11);//SLEEP OUT
delayms(200);

WriteCOM(0xFF);
WriteDAT(0x40);
WriteDAT(0x03);
WriteDAT(0x1A);

WriteCOM(0xd9);      
WriteDAT(0x60);
WriteCOM(0xc7);
WriteDAT(0x90);
delayms(200);

WriteCOM(0xB1);
WriteDAT(0x04);
WriteDAT(0x25);
WriteDAT(0x18);

WriteCOM(0xB2);
WriteDAT(0x04);
WriteDAT(0x25);
WriteDAT(0x18);

WriteCOM(0xB3);
WriteDAT(0x04);
WriteDAT(0x25);
WriteDAT(0x18);
WriteDAT(0x04);
WriteDAT(0x25);
WriteDAT(0x18);

WriteCOM(0xB4);
WriteDAT(0x03);

WriteCOM(0xB6);
WriteDAT(0x15);
WriteDAT(0x02);

WriteCOM(0xC0);// POWER CONTROL 1 GVDD&VCI1
WriteDAT(0x02);
WriteDAT(0x70);

WriteCOM(0xC1);// POWER CONTROL 2 GVDD&VCI1
WriteDAT(0x07);

WriteCOM(0xC2);// POWER CONTROL 3 GVDD&VCI1
WriteDAT(0x01);
WriteDAT(0x01);

WriteCOM(0xC3);// POWER CONTROL 4 GVDD&VCI1
WriteDAT(0x02);
WriteDAT(0x07);

WriteCOM(0xC4);// POWER CONTROL 5 GVDD&VCI1
WriteDAT(0x02);
WriteDAT(0x04);

WriteCOM(0xFC);// POWER CONTROL 6 GVDD&VCI1
WriteDAT(0x11);
WriteDAT(0x17);

WriteCOM(0xC5);//VCOMH&VCOML
WriteDAT(0x3c);
WriteDAT(0x4f);

WriteCOM(0x36);//MV,MX,MY,RGB
WriteDAT(0xC8); 


WriteCOM(0x3a);//GAMMA SET BY REGISTER
WriteDAT(0x05);

//***********************GAMMA*************************
WriteCOM(0xE0);
WriteDAT(0x06);
WriteDAT(0x0E);
WriteDAT(0x05);
WriteDAT(0x20);
WriteDAT(0x27);
WriteDAT(0x23);
WriteDAT(0x1C);
WriteDAT(0x21);
WriteDAT(0x20);
WriteDAT(0x1C);
WriteDAT(0x26);
WriteDAT(0x2F);
WriteDAT(0x00);
WriteDAT(0x03);
WriteDAT(0x00);
WriteDAT(0x24);

WriteCOM(0xE1);
WriteDAT(0x06);
WriteDAT(0x10);
WriteDAT(0x05);
WriteDAT(0x21);
WriteDAT(0x27);
WriteDAT(0x22);
WriteDAT(0x1C);
WriteDAT(0x21);
WriteDAT(0x1F);
WriteDAT(0x1D);
WriteDAT(0x27);
WriteDAT(0x2F);
WriteDAT(0x05);
WriteDAT(0x03);
WriteDAT(0x00);
WriteDAT(0x3F);

//***************************RAM ADDRESS*******************
WriteCOM(0x2A);
WriteDAT(0x00);
WriteDAT(0x02);
WriteDAT(0x00);
WriteDAT(0x81);

WriteCOM(0x2B);
WriteDAT(0x00);
WriteDAT(0x03);
WriteDAT(0x00);
WriteDAT(0x82);

WriteCOM(0x29);
delayms(100);

WriteCOM(0x2C);
                             //³õÊ¼»¯½áÊø

  for (i=0;i<128;i++)
    {
    for (j=0;j<128;j++)
       {
           WriteDAT(0xf8);
	   WriteDAT(0x00);  //display red
        }
     }

}

void WriteCOM(unsigned char a)
{
    CS=0;
    E=1;
    A0=0;
    P1=a;
    WRB=0;
    WRB=1;
    CS=1;
}

void WriteDAT(unsigned char b)
{
    CS=0;
    E=1;
    A0=1;
    P1=b;
    WRB=0;
    WRB=1;
    CS=1;
}




