//*************************************************************** // //***** Focus LCDs ***** //***** LCDs Made Simple ***** //***** www.FocusLCDs.com ***** // //*************************************************************** NOTE:VCI=2.8-3.3V,IOVCC=1.8V, JDEVB_RSOX(800); JDEVB_RSOY(1280); JDEVB_VS(4); JDEVB_VBP(10); JDEVB_VFP(8); JDEVB_HS(4); JDEVB_HBP(38); JDEVB_HFP(16); JDEVB_DSILANE(4);//DSI Lane params->RGB_CLOCK=(67)M Frame Rate=60HZ /**********************LCD***************************/ void initi(void) { res=1; delay(1); res=0; delay(10); res=1; delay(120); //////////////////////////////////////////// LCD_ILI9881C_CMD(0xFF); //Page 3 LCD_ILI9881C_INDEX(0x98); LCD_ILI9881C_INDEX(0x81); LCD_ILI9881C_INDEX(0x03); //GIP_1 LCD_ILI9881C_CMD(0x01); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x02); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x03); LCD_ILI9881C_INDEX(0x57); //57 STV0 Width=8H //STVA=STV0 LCD_ILI9881C_CMD(0x04); LCD_ILI9881C_INDEX(0xD3); //D3 STV1_2 Width=CLK Width //STVB=STV1_2 LCD_ILI9881C_CMD(0x05); LCD_ILI9881C_INDEX(0x00); //STVC LCD_ILI9881C_CMD(0x06); LCD_ILI9881C_INDEX(0x11); //STVA_Rise LCD_ILI9881C_CMD(0x07); LCD_ILI9881C_INDEX(0x08); //STVB_Rise LCD_ILI9881C_CMD(0x08); LCD_ILI9881C_INDEX(0x00); //STVC_Rise LCD_ILI9881C_CMD(0x09); LCD_ILI9881C_INDEX(0x00); //FTI1R(A) LCD_ILI9881C_CMD(0x0a); LCD_ILI9881C_INDEX(0x3F); //STV宽度跟CLK调整一样宽 //FTI2R(B) LCD_ILI9881C_CMD(0x0b); LCD_ILI9881C_INDEX(0x00); //FTI3R(C) LCD_ILI9881C_CMD(0x0c); LCD_ILI9881C_INDEX(0x00); //FTI1F(A) LCD_ILI9881C_CMD(0x0d); LCD_ILI9881C_INDEX(0x00); //FTI2F(B) LCD_ILI9881C_CMD(0x0e); LCD_ILI9881C_INDEX(0x00); //FTI2F(C) LCD_ILI9881C_CMD(0x0f); LCD_ILI9881C_INDEX(0x3F); //00 //3F Duty=42% //CLW1(ALR) LCD_ILI9881C_CMD(0x10); LCD_ILI9881C_INDEX(0x3F); //00 //3F Duty=42% //CLW2(ARR) LCD_ILI9881C_CMD(0x11); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x12); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x13); LCD_ILI9881C_INDEX(0x00); //CLWX(ATF) LCD_ILI9881C_CMD(0x14); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x15); LCD_ILI9881C_INDEX(0x00); //GPMRi(ALR) LCD_ILI9881C_CMD(0x16); LCD_ILI9881C_INDEX(0x00); //GPMRii(ARR) LCD_ILI9881C_CMD(0x17); LCD_ILI9881C_INDEX(0x00); //GPMFi(ALF) LCD_ILI9881C_CMD(0x18); LCD_ILI9881C_INDEX(0x00); //GPMFii(AFF) LCD_ILI9881C_CMD(0x19); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x1a); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x1b); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x1c); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x1d); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x1e); LCD_ILI9881C_INDEX(0x40); //CLKA 40笆は C0も笆は(X8把σCLKB) LCD_ILI9881C_CMD(0x1f); LCD_ILI9881C_INDEX(0x80); //C0 LCD_ILI9881C_CMD(0x20); LCD_ILI9881C_INDEX(0x06); //CLKA_Rise LCD_ILI9881C_CMD(0x21); LCD_ILI9881C_INDEX(0x01); //CLKA_Fall LCD_ILI9881C_CMD(0x22); LCD_ILI9881C_INDEX(0x00); //CLKB_Rise(keep toggle惠砞CLK A) LCD_ILI9881C_CMD(0x23); LCD_ILI9881C_INDEX(0x00); //CLKB_Fall LCD_ILI9881C_CMD(0x24); LCD_ILI9881C_INDEX(0x00); //CLK keep toggle(AL) 8X┕オ  LCD_ILI9881C_CMD(0x25); LCD_ILI9881C_INDEX(0x00); //CLK keep toggle(AR) 8X┕オ LCD_ILI9881C_CMD(0x26); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x27); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x28); LCD_ILI9881C_INDEX(0x33); //CLK Phase LCD_ILI9881C_CMD(0x29); LCD_ILI9881C_INDEX(0x33); //CLK overlap LCD_ILI9881C_CMD(0x2a); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x2b); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x2c); LCD_ILI9881C_INDEX(0x00); //GCH R LCD_ILI9881C_CMD(0x2d); LCD_ILI9881C_INDEX(0x00); //GCL R LCD_ILI9881C_CMD(0x2e); LCD_ILI9881C_INDEX(0x00); //GCH F LCD_ILI9881C_CMD(0x2f); LCD_ILI9881C_INDEX(0x00); //GCL F LCD_ILI9881C_CMD(0x30); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x31); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x32); LCD_ILI9881C_INDEX(0x00); //GCH/L ext2/1︽ 5E 01:31 5E 00:42 LCD_ILI9881C_CMD(0x33); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x34); LCD_ILI9881C_INDEX(0x00); //VDD1&2 non-overlap 04:2.62us LCD_ILI9881C_CMD(0x35); LCD_ILI9881C_INDEX(0x00); //GCH/L 跋丁 00:VS玡 01:VS 10:阁VS 11:frameい LCD_ILI9881C_CMD(0x36); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x37); LCD_ILI9881C_INDEX(0x00); //GCH/L LCD_ILI9881C_CMD(0x38); LCD_ILI9881C_INDEX(0x78); //VDD1&2 toggle 2sec LCD_ILI9881C_CMD(0x39); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x3a); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x3b); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x3c); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x3d); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x3e); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x3f); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x40); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x41); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x42); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x43); LCD_ILI9881C_INDEX(0x00); //GCH/L LCD_ILI9881C_CMD(0x44); LCD_ILI9881C_INDEX(0x00); //GIP_2 LCD_ILI9881C_CMD(0x50); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x51); LCD_ILI9881C_INDEX(0x23); LCD_ILI9881C_CMD(0x52); LCD_ILI9881C_INDEX(0x45); LCD_ILI9881C_CMD(0x53); LCD_ILI9881C_INDEX(0x67); LCD_ILI9881C_CMD(0x54); LCD_ILI9881C_INDEX(0x89); LCD_ILI9881C_CMD(0x55); LCD_ILI9881C_INDEX(0xab); LCD_ILI9881C_CMD(0x56); LCD_ILI9881C_INDEX(0x01); LCD_ILI9881C_CMD(0x57); LCD_ILI9881C_INDEX(0x23); LCD_ILI9881C_CMD(0x58); LCD_ILI9881C_INDEX(0x45); LCD_ILI9881C_CMD(0x59); LCD_ILI9881C_INDEX(0x67); LCD_ILI9881C_CMD(0x5a); LCD_ILI9881C_INDEX(0x89); LCD_ILI9881C_CMD(0x5b); LCD_ILI9881C_INDEX(0xab); LCD_ILI9881C_CMD(0x5c); LCD_ILI9881C_INDEX(0xcd); LCD_ILI9881C_CMD(0x5d); LCD_ILI9881C_INDEX(0xef); //GIP_3 LCD_ILI9881C_CMD(0x5e); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x5f); LCD_ILI9881C_INDEX(0x0D); //FW_CGOUT_L[1] CLK8 LCD_ILI9881C_CMD(0x60); LCD_ILI9881C_INDEX(0x0D); //FW_CGOUT_L[2] CLK8 LCD_ILI9881C_CMD(0x61); LCD_ILI9881C_INDEX(0x0C); //FW_CGOUT_L[3] CLK6 LCD_ILI9881C_CMD(0x62); LCD_ILI9881C_INDEX(0x0C); //FW_CGOUT_L[4] CLK6 LCD_ILI9881C_CMD(0x63); LCD_ILI9881C_INDEX(0x0F); //FW_CGOUT_L[5] CLK4 LCD_ILI9881C_CMD(0x64); LCD_ILI9881C_INDEX(0x0F); //FW_CGOUT_L[6] CLK4 LCD_ILI9881C_CMD(0x65); LCD_ILI9881C_INDEX(0x0E); //FW_CGOUT_L[7] CLK2 LCD_ILI9881C_CMD(0x66); LCD_ILI9881C_INDEX(0x0E); //FW_CGOUT_L[8] CLK2 LCD_ILI9881C_CMD(0x67); LCD_ILI9881C_INDEX(0x08); //FW_CGOUT_L[9] STV2 LCD_ILI9881C_CMD(0x68); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[10] LCD_ILI9881C_CMD(0x69); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[11] LCD_ILI9881C_CMD(0x6a); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[12] LCD_ILI9881C_CMD(0x6b); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[13] LCD_ILI9881C_CMD(0x6c); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[14] LCD_ILI9881C_CMD(0x6d); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[15] LCD_ILI9881C_CMD(0x6e); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[16] VGL LCD_ILI9881C_CMD(0x6f); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[17] VGL LCD_ILI9881C_CMD(0x70); LCD_ILI9881C_INDEX(0x14); //FW_CGOUT_L[18] VDDO LCD_ILI9881C_CMD(0x71); LCD_ILI9881C_INDEX(0x15); //FW_CGOUT_L[19] VDDE LCD_ILI9881C_CMD(0x72); LCD_ILI9881C_INDEX(0x06); //FW_CGOUT_L[20] STV0 LCD_ILI9881C_CMD(0x73); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[21] LCD_ILI9881C_CMD(0x74); LCD_ILI9881C_INDEX(0x02); //FW_CGOUT_L[22] LCD_ILI9881C_CMD(0x75); LCD_ILI9881C_INDEX(0x0D); //BW_CGOUT_L[1] LCD_ILI9881C_CMD(0x76); LCD_ILI9881C_INDEX(0x0D); //BW_CGOUT_L[2] LCD_ILI9881C_CMD(0x77); LCD_ILI9881C_INDEX(0x0C); //BW_CGOUT_L[3] LCD_ILI9881C_CMD(0x78); LCD_ILI9881C_INDEX(0x0C); //BW_CGOUT_L[4] LCD_ILI9881C_CMD(0x79); LCD_ILI9881C_INDEX(0x0F); //BW_CGOUT_L[5] LCD_ILI9881C_CMD(0x7a); LCD_ILI9881C_INDEX(0x0F); //BW_CGOUT_L[6] LCD_ILI9881C_CMD(0x7b); LCD_ILI9881C_INDEX(0x0E); //BW_CGOUT_L[7] LCD_ILI9881C_CMD(0x7c); LCD_ILI9881C_INDEX(0x0E); //BW_CGOUT_L[8] LCD_ILI9881C_CMD(0x7d); LCD_ILI9881C_INDEX(0x08); //BW_CGOUT_L[9] LCD_ILI9881C_CMD(0x7e); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[10] LCD_ILI9881C_CMD(0x7f); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[11] LCD_ILI9881C_CMD(0x80); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[12] LCD_ILI9881C_CMD(0x81); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[13] LCD_ILI9881C_CMD(0x82); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[14] LCD_ILI9881C_CMD(0x83); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[15] LCD_ILI9881C_CMD(0x84); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[16] LCD_ILI9881C_CMD(0x85); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[17] LCD_ILI9881C_CMD(0x86); LCD_ILI9881C_INDEX(0x14); //BW_CGOUT_L[18] LCD_ILI9881C_CMD(0x87); LCD_ILI9881C_INDEX(0x15); //BW_CGOUT_L[19] LCD_ILI9881C_CMD(0x88); LCD_ILI9881C_INDEX(0x06); //BW_CGOUT_L[20] LCD_ILI9881C_CMD(0x89); LCD_ILI9881C_INDEX(0x02 //BW_CGOUT_L[21] LCD_ILI9881C_CMD(0x8A); LCD_ILI9881C_INDEX(0x02); //BW_CGOUT_L[22] //CMD_Page 4 LCD_ILI9881C_CMD(0xFF); LCD_ILI9881C_INDEX(0x98); LCD_ILI9881C_INDEX(0x81); LCD_ILI9881C_INDEX(0x04); LCD_ILI9881C_CMD(0x00); LCD_ILI9881C_INDEX(0x00); //0X00 -3LANE ,0X80-4LANE LCD_ILI9881C_CMD(0x6E); LCD_ILI9881C_INDEX(0x3B); //VGH 18V LCD_ILI9881C_CMD(0x6F); LCD_ILI9881C_INDEX(0x57); //reg vcl + pumping ratio VGH=4x VGL=-3x LCD_ILI9881C_CMD(0x3A); LCD_ILI9881C_INDEX(0x24); //POWER SAVING LCD_ILI9881C_CMD(0x8D); LCD_ILI9881C_INDEX(0x1F); //VGL -12V 1F =-12V LCD_ILI9881C_CMD(0x87); LCD_ILI9881C_INDEX(0xBA); //ESD 由BA改成0A LCD_ILI9881C_CMD(0xB2); LCD_ILI9881C_INDEX(0xD1); LCD_ILI9881C_CMD(0x88); LCD_ILI9881C_INDEX(0x0B); LCD_ILI9881C_CMD(0x38); LCD_ILI9881C_INDEX(0x01); LCD_ILI9881C_CMD(0x39); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0xB5); LCD_ILI9881C_INDEX(0x07); //gamma bias LCD_ILI9881C_CMD(0x31); LCD_ILI9881C_INDEX(0x75); LCD_ILI9881C_CMD(0x3B); LCD_ILI9881C_INDEX(0x98); //CMD_Page 1 LCD_ILI9881C_CMD(0xFF); LCD_ILI9881C_INDEX(0x98); LCD_ILI9881C_INDEX(0x81); LCD_ILI9881C_INDEX(0x01); LCD_ILI9881C_CMD(0x22); LCD_ILI9881C_INDEX(0x0A //BGR, SS LCD_ILI9881C_CMD(0x31); LCD_ILI9881C_INDEX(0x09); ///Column inversion LCD_ILI9881C_CMD(0x35); LCD_ILI9881C_INDEX(0x07); // LCD_ILI9881C_CMD(0x53); LCD_ILI9881C_INDEX(0x69); //VCOM1 LCD_ILI9881C_CMD(0x55); LCD_ILI9881C_INDEX(0x89); //VCOM2 LCD_ILI9881C_CMD(0x50); LCD_ILI9881C_INDEX(0x86); // 4.3V //95-> 4.5V //VREG1OUT LCD_ILI9881C_CMD(0x51); LCD_ILI9881C_INDEX(0x82); //-4.3V //90->-4.5V //VREG2OUT LCD_ILI9881C_CMD(0x60); LCD_ILI9881C_INDEX(0x10); //SDT=2.8 由27,改为10 LCD_ILI9881C_CMD(0x62); LCD_ILI9881C_INDEX(0x00); //由20,改为00 //============Gamma START============= LCD_ILI9881C_CMD(0xA0); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0xA1); LCD_ILI9881C_INDEX(0x12); LCD_ILI9881C_CMD(0xA2); LCD_ILI9881C_INDEX(0x1F); LCD_ILI9881C_CMD(0xA3); LCD_ILI9881C_INDEX(0x12); LCD_ILI9881C_CMD(0xA4); LCD_ILI9881C_INDEX(0x16); LCD_ILI9881C_CMD(0xA5); LCD_ILI9881C_INDEX(0x29); LCD_ILI9881C_CMD(0xA6); LCD_ILI9881C_INDEX(0x1E); LCD_ILI9881C_CMD(0xA7); LCD_ILI9881C_INDEX(0x1F); LCD_ILI9881C_CMD(0xA8); LCD_ILI9881C_INDEX(0x7E); LCD_ILI9881C_CMD(0xA9); LCD_ILI9881C_INDEX(0x1B); LCD_ILI9881C_CMD(0xAA); LCD_ILI9881C_INDEX(0x28); LCD_ILI9881C_CMD(0xAB); LCD_ILI9881C_INDEX(0x6D); LCD_ILI9881C_CMD(0xAC); LCD_ILI9881C_INDEX(0x19); LCD_ILI9881C_CMD(0xAD); LCD_ILI9881C_INDEX(0x18); LCD_ILI9881C_CMD(0xAE); LCD_ILI9881C_INDEX(0x4C); LCD_ILI9881C_CMD(0xAF); LCD_ILI9881C_INDEX(0x1E); LCD_ILI9881C_CMD(0xB0); LCD_ILI9881C_INDEX(0x23); LCD_ILI9881C_CMD(0xB1); LCD_ILI9881C_INDEX(0x52); LCD_ILI9881C_CMD(0xB2); LCD_ILI9881C_INDEX(0x6D); LCD_ILI9881C_CMD(0xB3); LCD_ILI9881C_INDEX(0x3F); //Neg Register LCD_ILI9881C_CMD(0xC0); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0xC1); LCD_ILI9881C_INDEX(0x12); LCD_ILI9881C_CMD(0xC2); LCD_ILI9881C_INDEX(0x20); LCD_ILI9881C_CMD(0xC3); LCD_ILI9881C_INDEX(0x10); LCD_ILI9881C_CMD(0xC4); LCD_ILI9881C_INDEX(0x13); LCD_ILI9881C_CMD(0xC5); LCD_ILI9881C_INDEX(0x27); LCD_ILI9881C_CMD(0xC6); LCD_ILI9881C_INDEX(0x1B); LCD_ILI9881C_CMD(0xC7); LCD_ILI9881C_INDEX(0x1D); LCD_ILI9881C_CMD(0xC8); LCD_ILI9881C_INDEX(0x75); LCD_ILI9881C_CMD(0xC9); LCD_ILI9881C_INDEX(0x1F); LCD_ILI9881C_CMD(0xCA); LCD_ILI9881C_INDEX(0x28); LCD_ILI9881C_CMD(0xCB); LCD_ILI9881C_INDEX(0x68); LCD_ILI9881C_CMD(0xCC); LCD_ILI9881C_INDEX(0x1A); LCD_ILI9881C_CMD(0xCD); LCD_ILI9881C_INDEX(0x18); LCD_ILI9881C_CMD(0xCE); LCD_ILI9881C_INDEX(0x4D); LCD_ILI9881C_CMD(0xCF); LCD_ILI9881C_INDEX(0x25); LCD_ILI9881C_CMD(0xD0); LCD_ILI9881C_INDEX(0x2E); LCD_ILI9881C_CMD(0xD1); LCD_ILI9881C_INDEX(0x53); LCD_ILI9881C_CMD(0xD2); LCD_ILI9881C_INDEX(0x60 LCD_ILI9881C_CMD(0xD3); LCD_ILI9881C_INDEX(0x3F); //============ Gamma END=========== //CMD_Page 0 CD_ILI9881C_CMD(0xFF); LCD_ILI9881C_INDEX(0x98); LCD_ILI9881C_INDEX(0x81); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x35); LCD_ILI9881C_INDEX(0x00); LCD_ILI9881C_CMD(0x11); delay(120); LCD_ILI9881C_CMD(0x29); delay(20); } //******************************************* void EnterSleep (void) { LCD_ILI9881C_CMD(0x28); delay(10); LCD_ILI9881C_CMD(0x10); } //********************************************************* void ExitSleep (void) { LCD_ILI9881C_CMD(0x11); delay(120); LCD_ILI9881C_CMD(0x29); }