//VCI=3.3V //***********************寄存器指令***************************************** void write_command (unsigned char y) // (uchar y,uchar x) { unsigned char i; csb=0; sclb=0; sdi=0; sclb=1; for(i=0;i<8;i++) { sclb=0; if (y&0x80) { sdi=1; } else { sdi=0; } sclb=1; y=y<<1; } csb=1; } //**************************寄存器数据************************************* void write_data(unsigned char w) // (uchar w, uchar v) { unsigned char i; csb=0; sclb=0; sdi=1; sclb=1; for(i=0;i<8;i++) { sclb=0; if (w&0x80) { sdi=1; } else { sdi=0; } sclb=1; w=w<<1; } csb=1; } //********************送显示数据********************************* void write_data2(unsigned char data_l,data_h) { unsigned char a,i,b; csb=0; sclb=0; sdi=1; sclb=1; a=data_l; for(i=0;i<8;i++) { sclb=0; if (a&0x80) { sdi=1; } else { sdi=0; } sclb=1; a=a<<1; } csb=0; sclb=0; sdi=1; sclb=1; b=data_h; for(i=0;i<8;i++) { sclb=0; if (b&0x80) { sdi=1; } else { sdi=0; } sclb=1; b=b<<1; } csb=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); //Memory Data Access Control write_data(0x00); //MY:0x80 write_command(0x3A); //Interface Pixel Format write_data(0x05); //MCU-16bit write_command(0xB2); //Porch Setting write_data(0x0C); //Normal BP write_data(0x0C); //Normal FP write_data(0x00); //Enable Seperate write_data(0x33); //idle, BP[7:4], FP[3:0] write_data(0x33); //partial, BP[7:4], FP[3:0] write_command(0xB7); //Gate Control write_data(0x70); write_command(0xBB); //VCOMS Setting write_data(0x2B); //37 write_command(0xC0); write_data(0x2C); write_command(0xC2); write_data(0x01); write_command(0xC3); //VRH Set write_data(0x20); //21 write_command(0xC4); write_data(0x20); write_command(0xC6); //Frame Rate Control in Normal Mode write_data(0x0F); write_command(0xD0); //Power Control 1 write_data(0xA4); // write_data(0xA1); //AVDD=6.8V, AVCL=-4.8V, VDS=2.3V write_command(0xE0); write_data(0xD0); write_data(0xCA); write_data(0x0E); write_data(0x08); write_data(0x09); write_data(0x07); write_data(0x2D); write_data(0x3B); write_data(0x3D); write_data(0x34); write_data(0x0A); write_data(0x0A); write_data(0x1B); write_data(0x28); write_command(0xE1); write_data(0xD0); write_data(0xCA); write_data(0x0F); write_data(0x08); write_data(0x08); write_data(0x07); write_data(0x2E); write_data(0x5C); write_data(0x40); write_data(0x34); write_data(0x09); write_data(0x0B); write_data(0x1B); write_data(0x28); write_command(0x21); write_command(0x2A); //Frame rate control write_data(0x00); write_data(0x00); write_data(0x00); write_data(0xEF); write_command(0x2B); //Display function control write_data(0x00); write_data(0x00); write_data(0x01); write_data(0x3F); write_command(0x29); //display on 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); }