//*************************************************************** // //***** Focus LCDs ***** //***** LCDs Made Simple ***** //***** www.FocusLCDs.com ***** // //*************************************************************** //VCI=3.3V //***************************************************** void write_command (unsigned char y) // (uchar y,uchar x) { unsigned char i; cs=0; rs=0; for(i=0;i<8;i++) { scl=0; if (y&0x80) { sdi=1; } else { sdi=0; } scl=1; y=y<<1; } cs=1; } //*************************************************************** void write_data(unsigned char w) // (uchar w, uchar v) { unsigned char i; cs=0; rs=1; for(i=0;i<8;i++) { scl=0; if (w&0x80) { sdi=1; } else { sdi=0; } scl=1; w=w<<1; } cs=1; } //********************************* void write_data1(unsigned char data3,data4) { unsigned char a,i,b; cs=0; rs=1; a=data3; for(i=0;i<8;i++) { scl=0; if (a&0x80) { sdi=1; } else { sdi=0; } scl=1; a=a<<1; } cs=1; cs=0; b=data4; for(i=0;i<8;i++) { scl=0; if (b&0x80) { sdi=1; } else { sdi=0; } scl=1; b=b<<1; } cs=1; } /*************************************************/ void initi(void) { res=1; delay(1); res=0; delay(10); res=1; delay(120); //************************************************ write_command(0x11); delay(120); //Delay 120ms write_command(0x36); write_data(0x00); write_command(0x3A); write_data(0x05);//65K write_command(0xB2); write_data(0x0C); write_data(0x0C); write_data(0x00); write_data(0x33); write_data(0x33); write_command(0xB7);//VGH VGL write_data(0x35); write_command(0xBB); write_data(0x32); //Vcom=1.35V write_command(0xC2); write_data(0x01); write_command(0xC3); write_data(0x19); //GVDD=4.8V write_command(0xC4); write_data(0x20); //VDV, 0x20:0v write_command(0xC6); write_data(0x0F); //0x0F:60Hz write_command(0xD0); write_data(0xA4); write_data(0xA1); write_command(0xE0); //GAMMA write_data(0xD0); write_data(0x08); write_data(0x0E); write_data(0x09); write_data(0x09); write_data(0x05); write_data(0x31); write_data(0x33); write_data(0x48); write_data(0x17); write_data(0x14); write_data(0x15); write_data(0x31); write_data(0x34); write_command(0xE1); //GAMMA write_data(0xD0); write_data(0x08); write_data(0x0E); write_data(0x09); write_data(0x09); write_data(0x15); write_data(0x31); write_data(0x33); write_data(0x48); write_data(0x17); write_data(0x14); write_data(0x15); write_data(0x31); write_data(0x34); write_command(0x21); write_command(0x2A); //Column Address Set write_data(0x00); write_data(0x00); //0 write_data(0x00); write_data(0xEF); //239 write_command(0x2B); //Row Address Set write_data(0x00); write_data(0x00); //0 write_data(0x00); write_data(0xEF); //239 write_command(0x29); //display on delay(50); write_command(0x2c); } //********************************************************************************************* void EnterSleep (void) { write_command(0x28); delay(20); write_command(0x10); } //********************************************************* void ExitSleep (void) { write_command(0x11); delay(120); write_command(0x29); }