void init_lcd(void) { write_ctrl(0x01); delayms(50); write_ctrl(0x11); delayms(150); write_ctrl(0xc5); //VCOMH write_data(0xb0); //need to fine-tune write_ctrl(0xc6); //VCOMAC write_data(0x40); //need to fine-tune //--- Step2. Gamma initial setting ---- write_ctrl(0xE0); //VCOM=L write_data(0x04); //V0 write_data(0x0D); //V1 write_data(0x19); //V2 write_data(0x28); //V61 write_data(0x25); //V62 write_data(0x1C); //V63 write_data(0x2A); //V13 write_data(0x10); //V50 write_data(0x0B); //V4 write_data(0x09); //V8 write_data(0x08); //V23 write_data(0x04); //V40 write_data(0x04); //V55 write_data(0x06); //V59 write_ctrl(0xE1); // VCOM=H write_data(0x11); //V0 write_data(0x1F); //V1 write_data(0x22); //V2 write_data(0x17); //V61 write_data(0x0B); //V62 write_data(0x00); //V63 write_data(0x0F); //V13 write_data(0x29); //V50 write_data(0x06); //V4 write_data(0x04); //V8 write_data(0x04); //V23 write_data(0x07); //V40 write_data(0x08); //V55 write_data(0x0A); //V59 //--- Step3. Adjust 0xC5 flicker ------ write_ctrl(0x3a); write_data(0x05); // 设置数据格式:0x05:65K色; 0x06:26万色 write_ctrl(0x36); write_data(0x00); write_ctrl(0x29); delayms(150); write_ctrl(0x2A); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0xEF); write_ctrl(0x2B); write_data(0x00); write_data(0x00); write_data(0x01); write_data(0x3F); write_ctrl(0x2C); } void address(uint8 xs,uint8 xe,uint8 ys,uint8 ye) { write_ctrl(0x2a); write_data( (xs & 0xFF00) >> 8 ); write_data( xs & 0x00FF ); write_data( (xe & 0xFF00) >> 8 ); write_data( xe & 0x00FF ); write_ctrl(0x2b); write_data( (ys & 0xFF00) >> 8 ); write_data( ys & 0x00FF ); write_data( (ye & 0xFF00) >> 8 ); write_data( ye & 0x00FF ); write_ctrl(0x2c); }