//NOTE:3.3V, 4SPI-18BIT RGB //**************************************************************** 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 initi(void) { res=1; delay(1); res=0; delay(10); res=1; delay(120); /***************************************/ write_command(0xC0); write_data(0x08); write_data(0x06); write_command(0xC1); write_data(0x43); write_command(0XC5); write_data(0x00); write_data(0x40); write_command(0xC2); write_data(0x33); write_command(0xB1); write_data(0xB0); write_data(0x11); write_command(0xB4); write_data(0x02); write_command(0xB7); write_data(0x86); write_command(0xE0); write_data(0x0F); write_data(0x29); write_data(0x25); write_data(0x0B); write_data(0x0E); write_data(0x07); write_data(0x42); write_data(0x87); write_data(0x2C); write_data(0x06); write_data(0x0F); write_data(0x02); write_data(0x0B); write_data(0x07); write_data(0x00); write_command(0XE1); write_data(0x0F); write_data(0x38); write_data(0x34); write_data(0x0D); write_data(0x10); write_data(0x09); write_data(0x53); write_data(0x87); write_data(0x3D); write_data(0x08); write_data(0x11); write_data(0x04); write_data(0x1A); write_data(0x16); write_data(0x00); write_command(0XF2); write_data(0x1E); write_data(0xA3); write_data(0x32); write_data(0x02); write_data(0xB2); write_data(0x52); write_data(0xFF); write_data(0x10); write_data(0x00); write_command(0XF8); write_data(0x21); write_data(0x04); write_command(0x36); write_data(0x08);//48 write_command(0x3A); write_data(0x66);55-16BIT write_command(0xF9); write_data(0x00); write_data(0x08); write_command(0XF1); write_data(0x36); write_data(0x04); write_data(0x00); write_data(0x3C); write_data(0X0F); write_data(0x8F); /**********set rgb interface mode******************/ write_command(0xB6); write_data(0x30); //30 set rgb write_data(0x22); //GS,SS 02,42,62 write_data(0x3B); //write_command(0xB0); //write_data(0x02); //01此代码根据主控实际调整.,重点设置DEN,DOCLK,HSYNC,VSYNC的极性,与客人的主控有很大的联系,客人请自己行根据IC规格书和主控进行调整.默认是不用打开. /**************************************************/ write_command(0x2A); //Frame rate control write_data(0x00); write_data(0x00); write_data(0x01); write_data(0x3F); write_command(0x2B); //Display function control write_data(0x00); write_data(0x00); write_data(0x01); write_data(0xDF); write_command(0x21); write_command(0x11); delay(120); write_command(0x29); //display on write_command(0x2c); } //****************************************** void LCD_Enter_Standby(void) { write_command(0x28);//display off delay(10); write_command(0x10); delay(120); RGB_OFF(); } void LCD_Exit_Standby (void) { RGB_ON(); delay(10); write_command(0x11);// Exit Sleep/ Standby mode delay(120); write_command(0x29); }