//设置绘点窗口,x=0~239,y=0~319 void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2) { LCD_WRITE_CMD(0x2a); //x轴 LCD_WRITE_DATA(x1); LCD_WRITE_DATA(x2); LCD_WRITE_CMD(0x2b); //y轴 LCD_WRITE_DATA(y1); LCD_WRITE_DATA(y2); LCD_WRITE_CMD(0x2c); }
void lcd_clear_screen(unsigned int color_background) { unsigned int i,j; LCD_WRITE_COMMAND(0x210,0x00); LCD_WRITE_COMMAND(0x212,0x0000); LCD_WRITE_COMMAND(0x211,0xEF); LCD_WRITE_COMMAND(0x213,0x013F); LCD_WRITE_COMMAND(0x200,0x0000); LCD_WRITE_COMMAND(0x201,0x0000); LCD_RS_L(); LCD_WRITE_REG(0x202); //RAM Write index LCD_CS_L(); for(i=0;i<320;i++) { for(j=0;j<240;j++) { LCD_WRITE_DATA( color_background ); } } LCD_RS_L(); LCD_CS_H(); }
//在指定位置显示一个字符 //num:要显示的字符:" "--->"~" //mode:叠加方式(1)还是非叠加方式(0) //在指定位置显示一个字符 //num:要显示的字符:" "--->"~" //mode:叠加方式(1)还是非叠加方式(0) void LCD_ShowChar(unsigned int x,unsigned int y,unsigned char num,unsigned char mode) { unsigned char temp; unsigned char pos,t; unsigned int x0=x; unsigned int colortemp=POINT_COLOR; if(x>LCD_W-16||y>LCD_H-16)return; //设置窗口 num=num-' ';//得到偏移后的值 Address_set(x,y,x+8-1,y+16-1); //设置光标位置 if(!mode) //非叠加方式 { for(pos=0;pos<16;pos++) { temp=asc2_1608[(unsigned int )num*16+pos]; //调用1608字体 for(t=0;t<8;t++) { if(temp&0x01)POINT_COLOR=colortemp; else POINT_COLOR=BACK_COLOR; LCD_WRITE_DATA(POINT_COLOR); temp>>=1; x++; } x=x0; y++; } }else//叠加方式 { for(pos=0;pos<16;pos++)
//在指定区域内填充指定颜色 //区域大小: // (xend-xsta)*(yend-ysta) void LCD_Fill(unsigned int xsta,unsigned int ysta,unsigned int xend,unsigned int yend,unsigned int color) { unsigned int i,j; Address_set(xsta,ysta,xend,yend); //设置光标位置 for(i=ysta;i<=yend;i++) { for(j=xsta;j<=xend;j++) LCD_WRITE_DATA(color);//设置光标位置 } }
//清屏函数 //Color:要清屏的填充色 void LCD_Clear(unsigned int Color) { unsigned int i,j; Address_set(0,0,LCD_W-1,LCD_H-1); for(i=0;i<LCD_W;i++) { for (j=0;j<LCD_H;j++) { LCD_WRITE_DATA(Color); } } }
static void LCD_WriteDataAuto(unsigned char nData) { CheckBusy(0x08); GPIO_RESET(CD); LCD_WRITE_DATA(nData); //向MCU写入数据,准备向LCD输出数据 GPIO_RESET(WR); LCD_SET_DATA_OUT(); LCD_Delay(NS100_DLY(2)); //延时 GPIO_SET(WR); LCD_Delay(NS100_DLY(4)); LCD_SET_DATA_IN(); }
/**************************************************************************** * 名 称: void LCD_WriteCommand(uint8 nCmd) * 功 能: 写LCD命令 * 入口参数:u8 命令 * 出口参数:无 * 说 明: 无 ****************************************************************************/ void LCD_WriteCommand(unsigned char nCmd) { CheckBusy(0x03); GPIO_SET(CD); LCD_WRITE_DATA(nCmd); //向MCU写入数据,准备向LCD输出数据 GPIO_RESET(WR); LCD_SET_DATA_OUT(); LCD_Delay(NS100_DLY(2)); //延时 GPIO_SET(WR); LCD_Delay(NS100_DLY(4)); LCD_SET_DATA_IN(); }
//画点 //POINT_COLOR:此点的颜色 void LCD_DrawPoint(unsigned int x,unsigned int y) { Address_set(x,y,x,y);//设置光标位置 LCD_WRITE_DATA(POINT_COLOR); }
static void init_lcm_registers(void) { int i; #if defined(BUILD_LK) printf("mycat LCD otm8009a_aizhuoertai_a4019n50q0_mcu_wvga \n"); #endif LCD_WRITE_COMMAND(0xff00); LCD_WRITE_DATA(0x80); LCD_WRITE_COMMAND(0xff01); LCD_WRITE_DATA(0x09); //enable EXTC LCD_WRITE_COMMAND(0xff02); LCD_WRITE_DATA(0x01); LCD_WRITE_COMMAND(0xff80); LCD_WRITE_DATA(0x80); //enable Orise mode LCD_WRITE_COMMAND(0xff81); LCD_WRITE_DATA(0x09); LCD_WRITE_COMMAND(0xff03); LCD_WRITE_DATA(0x01); //enable SPI+I2C cmd2 read LCD_WRITE_COMMAND(0xf580); LCD_WRITE_DATA(0x01); LCD_WRITE_COMMAND(0xf581); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf582); LCD_WRITE_DATA(0x02); LCD_WRITE_COMMAND(0xf583); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf584); LCD_WRITE_DATA(0x10); LCD_WRITE_COMMAND(0xf585); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf586); LCD_WRITE_DATA(0x02); LCD_WRITE_COMMAND(0xf587); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf588); LCD_WRITE_DATA(0x0e); LCD_WRITE_COMMAND(0xf589); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf58A); LCD_WRITE_DATA(0x0f); LCD_WRITE_COMMAND(0xf58B); LCD_WRITE_DATA(0x20); LCD_WRITE_COMMAND(0xf590); LCD_WRITE_DATA(0x02); LCD_WRITE_COMMAND(0xf591); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf592); LCD_WRITE_DATA(0x08); LCD_WRITE_COMMAND(0xf593); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf594); LCD_WRITE_DATA(0x06); LCD_WRITE_COMMAND(0xf595); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf596); LCD_WRITE_DATA(0x0d); LCD_WRITE_COMMAND(0xf597); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf598); LCD_WRITE_DATA(0x0b); LCD_WRITE_COMMAND(0xf599); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5a0); LCD_WRITE_DATA(0x10); LCD_WRITE_COMMAND(0xf5a1); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5a2); LCD_WRITE_DATA(0x01); LCD_WRITE_COMMAND(0xf5a3); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5a4); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5a5); LCD_WRITE_DATA(0x14); LCD_WRITE_COMMAND(0xf5a6); LCD_WRITE_DATA(0x14); LCD_WRITE_COMMAND(0xf5a7); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5b0); LCD_WRITE_DATA(0x14); LCD_WRITE_COMMAND(0xf5b1); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5b2); LCD_WRITE_DATA(0x12); LCD_WRITE_COMMAND(0xf5b3); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5b4); LCD_WRITE_DATA(0x13); LCD_WRITE_COMMAND(0xf5b5); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5b6); LCD_WRITE_DATA(0x11); LCD_WRITE_COMMAND(0xf5b7); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5b8); LCD_WRITE_DATA(0x13); LCD_WRITE_COMMAND(0xf5b9); LCD_WRITE_DATA(0x18); LCD_WRITE_COMMAND(0xf5bA); LCD_WRITE_DATA(0x00); LCD_WRITE_COMMAND(0xf5bB); LCD_WRITE_DATA(0x00); //gamma DC LCD_WRITE_COMMAND(0xc0b4); LCD_WRITE_DATA(0x00); //column inversion 0x50 0x00 0x01 LCD_WRITE_COMMAND(0xC0a3); LCD_WRITE_DATA(0x1b); //pre-charge //V02 LCD_WRITE_COMMAND(0xC582); LCD_WRITE_DATA(0xA3); //REG-pump23 LCD_WRITE_COMMAND(0xC590); LCD_WRITE_DATA(0xd6); //Pump setting (3x=D6)-->(2x=96)//v02 01/11 LCD_WRITE_COMMAND(0xC591); LCD_WRITE_DATA(0x76); //Pump setting(VGH/VGL) LCD_WRITE_COMMAND(0xD800); LCD_WRITE_DATA(0x95); //GVDD=5V LCD_WRITE_COMMAND(0xD801); LCD_WRITE_DATA(0x95); //NGVDD=5V //VCOMDC LCD_WRITE_COMMAND(0xD900); LCD_WRITE_DATA(0x6c); // VCOMDC= Delayms(20); LCD_WRITE_COMMAND(0xC181); LCD_WRITE_DATA(0x66); //Frame rate 65Hz//V02 // RGB I/F setting VSYNC for OTM8018 0x0e LCD_WRITE_COMMAND(0xC1a1); LCD_WRITE_DATA(0x08); //external Vsync,Hsync,DE LCD_WRITE_COMMAND(0xC0a3); LCD_WRITE_DATA(0x1b); //pre-charge //V02 LCD_WRITE_COMMAND(0xC481); LCD_WRITE_DATA(0x83); //source bias //V02 LCD_WRITE_COMMAND(0xC592); LCD_WRITE_DATA(0x01); //Pump45 LCD_WRITE_COMMAND(0xC5B1); LCD_WRITE_DATA(0xA9); //DC voltage setting ;[0]GVDD output, default: 0xa8 // Positive LCD_WRITE_COMMAND(0xE100); LCD_WRITE_DATA(0x00); LCD_WRITE_COMMAND(0xE101); LCD_WRITE_DATA(0x0b); LCD_WRITE_COMMAND(0xE102); LCD_WRITE_DATA(0x0f); LCD_WRITE_COMMAND(0xE103); LCD_WRITE_DATA(0x10); LCD_WRITE_COMMAND(0xE104); LCD_WRITE_DATA(0x09); LCD_WRITE_COMMAND(0xE105); LCD_WRITE_DATA(0x12); LCD_WRITE_COMMAND(0xE106); LCD_WRITE_DATA(0x0a); LCD_WRITE_COMMAND(0xE107); LCD_WRITE_DATA(0x06); LCD_WRITE_COMMAND(0xE108); LCD_WRITE_DATA(0x07); LCD_WRITE_COMMAND(0xE109); LCD_WRITE_DATA(0x07); LCD_WRITE_COMMAND(0xE10A); LCD_WRITE_DATA(0x0a); LCD_WRITE_COMMAND(0xE10B); LCD_WRITE_DATA(0x05); LCD_WRITE_COMMAND(0xE10C); LCD_WRITE_DATA(0x1d); LCD_WRITE_COMMAND(0xE10D); LCD_WRITE_DATA(0x17); LCD_WRITE_COMMAND(0xE10E); LCD_WRITE_DATA(0x0d); LCD_WRITE_COMMAND(0xE10F); LCD_WRITE_DATA(0x06); // Negative LCD_WRITE_COMMAND(0xE200); LCD_WRITE_DATA(0x00); LCD_WRITE_COMMAND(0xE201); LCD_WRITE_DATA(0x0b); LCD_WRITE_COMMAND(0xE202); LCD_WRITE_DATA(0x0f); LCD_WRITE_COMMAND(0xE203); LCD_WRITE_DATA(0x10); LCD_WRITE_COMMAND(0xE204); LCD_WRITE_DATA(0x0a); LCD_WRITE_COMMAND(0xE205); LCD_WRITE_DATA(0x11); LCD_WRITE_COMMAND(0xE206); LCD_WRITE_DATA(0x0e); LCD_WRITE_COMMAND(0xE207); LCD_WRITE_DATA(0x0e); LCD_WRITE_COMMAND(0xE208); LCD_WRITE_DATA(0x01); LCD_WRITE_COMMAND(0xE209); LCD_WRITE_DATA(0x05); LCD_WRITE_COMMAND(0xE20A); LCD_WRITE_DATA(0x0c); LCD_WRITE_COMMAND(0xE20B); LCD_WRITE_DATA(0x0a); LCD_WRITE_COMMAND(0xE20C); LCD_WRITE_DATA(0x13); LCD_WRITE_COMMAND(0xE20D); LCD_WRITE_DATA(0x0d); LCD_WRITE_COMMAND(0xE20E); LCD_WRITE_DATA(0x09); LCD_WRITE_COMMAND(0xE20F); LCD_WRITE_DATA(0x01); // CE8x : vst1, vst2, vst3, vst4 LCD_WRITE_COMMAND(0xCE80); LCD_WRITE_DATA(0x84); // ce81[7:0] : vst1_shift[7:0] LCD_WRITE_COMMAND(0xCE81); LCD_WRITE_DATA(0x03); // ce82[7:0] : 0000, vst1_width[3:0] LCD_WRITE_COMMAND(0xCE82); LCD_WRITE_DATA(0x00); // ce83[7:0] : vst1_tchop[7:0] LCD_WRITE_COMMAND(0xCE83); LCD_WRITE_DATA(0x83); // ce84[7:0] : vst2_shift[7:0] LCD_WRITE_COMMAND(0xCE84); LCD_WRITE_DATA(0x03); // ce85[7:0] : 0000, vst2_width[3:0] LCD_WRITE_COMMAND(0xCE85); LCD_WRITE_DATA(0x00); // ce86[7:0] : vst2_tchop[7:0] // CE8x : vst1, vst2, vst3, vst4 LCD_WRITE_COMMAND(0xCE90); LCD_WRITE_DATA(0x33); // ce81[7:0] : vst1_shift[7:0] LCD_WRITE_COMMAND(0xCE91); LCD_WRITE_DATA(0x27); // ce82[7:0] : 0000, vst1_width[3:0] LCD_WRITE_COMMAND(0xCE92); LCD_WRITE_DATA(0x00); // ce83[7:0] : vst1_tchop[7:0] LCD_WRITE_COMMAND(0xCE93); LCD_WRITE_DATA(0x33); // ce84[7:0] : vst2_shift[7:0] LCD_WRITE_COMMAND(0xCE94); LCD_WRITE_DATA(0x28); // ce85[7:0] : 0000, vst2_width[3:0] LCD_WRITE_COMMAND(0xCE95); LCD_WRITE_DATA(0x00); // ce86[7:0] : vst2_tchop[7:0] //CEAx : clka1, clka2 LCD_WRITE_COMMAND(0xCEa0); LCD_WRITE_DATA(0x38); // cea1[7:0] : clka1_width[3:0], clka1_shift[11:8] LCD_WRITE_COMMAND(0xCEa1); LCD_WRITE_DATA(0x02); // cea2[7:0] : clka1_shift[7:0] LCD_WRITE_COMMAND(0xCEa2); LCD_WRITE_DATA(0x03); // cea3[7:0] : clka1_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEa3); LCD_WRITE_DATA(0x21); // cea4[7:0] : clka1_switch[7:0] LCD_WRITE_COMMAND(0xCEa4); LCD_WRITE_DATA(0x00); // cea5[7:0] : clka1_extend[7:0] LCD_WRITE_COMMAND(0xCEa5); LCD_WRITE_DATA(0x00); // cea6[7:0] : clka1_tchop[7:0] LCD_WRITE_COMMAND(0xCEa6); LCD_WRITE_DATA(0x00); // cea7[7:0] : clka1_tglue[7:0] LCD_WRITE_COMMAND(0xCEa7); LCD_WRITE_DATA(0x38); // cea8[7:0] : clka2_width[3:0], clka2_shift[11:8] LCD_WRITE_COMMAND(0xCEa8); LCD_WRITE_DATA(0x01); // cea9[7:0] : clka2_shift[7:0] LCD_WRITE_COMMAND(0xCEa9); LCD_WRITE_DATA(0x03); // ceaa[7:0] : clka2_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEaa); LCD_WRITE_DATA(0x22); // ceab[7:0] : clka2_switch[7:0] LCD_WRITE_COMMAND(0xCEab); LCD_WRITE_DATA(0x00); // ceac[7:0] : clka2_extend LCD_WRITE_COMMAND(0xCEac); LCD_WRITE_DATA(0x00); // cead[7:0] : clka2_tchop LCD_WRITE_COMMAND(0xCEad); LCD_WRITE_DATA(0x00); // ceae[7:0] : clka2_tglue //CEBx : clka3, clka4 LCD_WRITE_COMMAND(0xCEb0); LCD_WRITE_DATA(0x38); // ceb1[7:0] : clka3_width[3:0], clka3_shift[11:8] LCD_WRITE_COMMAND(0xCEb1); LCD_WRITE_DATA(0x00); // ceb2[7:0] : clka3_shift[7:0] LCD_WRITE_COMMAND(0xCEb2); LCD_WRITE_DATA(0x03); // ceb3[7:0] : clka3_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEb3); LCD_WRITE_DATA(0x23); // ceb4[7:0] : clka3_switch[7:0] LCD_WRITE_COMMAND(0xCEb4); LCD_WRITE_DATA(0x00); // ceb5[7:0] : clka3_extend[7:0] LCD_WRITE_COMMAND(0xCEb5); LCD_WRITE_DATA(0x00); // ceb6[7:0] : clka3_tchop[7:0] LCD_WRITE_COMMAND(0xCEb6); LCD_WRITE_DATA(0x00); // ceb7[7:0] : clka3_tglue[7:0] LCD_WRITE_COMMAND(0xCEb7); LCD_WRITE_DATA(0x30); // ceb8[7:0] : clka4_width[3:0], clka2_shift[11:8] LCD_WRITE_COMMAND(0xCEb8); LCD_WRITE_DATA(0x00); // ceb9[7:0] : clka4_shift[7:0] LCD_WRITE_COMMAND(0xCEb9); LCD_WRITE_DATA(0x03); // ceba[7:0] : clka4_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEba); LCD_WRITE_DATA(0x24); // cebb[7:0] : clka4_switch[7:0] LCD_WRITE_COMMAND(0xCEbb); LCD_WRITE_DATA(0x00); // cebc[7:0] : clka4_extend LCD_WRITE_COMMAND(0xCEbc); LCD_WRITE_DATA(0x00); // cebd[7:0] : clka4_tchop LCD_WRITE_COMMAND(0xCEbd); LCD_WRITE_DATA(0x00); // cebe[7:0] : clka4_tglue //CECx : clkb1, clkb2 LCD_WRITE_COMMAND(0xCEc0); LCD_WRITE_DATA(0x30); // cec1[7:0] : clkb1_width[3:0], clkb1_shift[11:8] LCD_WRITE_COMMAND(0xCEc1); LCD_WRITE_DATA(0x01); // cec2[7:0] : clkb1_shift[7:0] LCD_WRITE_COMMAND(0xCEc2); LCD_WRITE_DATA(0x03); // cec3[7:0] : clkb1_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEc3); LCD_WRITE_DATA(0x25); // cec4[7:0] : clkb1_switch[7:0] LCD_WRITE_COMMAND(0xCEc4); LCD_WRITE_DATA(0x00); // cec5[7:0] : clkb1_extend[7:0] LCD_WRITE_COMMAND(0xCEc5); LCD_WRITE_DATA(0x00); // cec6[7:0] : clkb1_tchop[7:0] LCD_WRITE_COMMAND(0xCEc6); LCD_WRITE_DATA(0x00); // cec7[7:0] : clkb1_tglue[7:0] LCD_WRITE_COMMAND(0xCEc7); LCD_WRITE_DATA(0x30); // cec8[7:0] : clkb2_width[3:0], clkb2_shift[11:8] LCD_WRITE_COMMAND(0xCEc8); LCD_WRITE_DATA(0x02); // cec9[7:0] : clkb2_shift[7:0] LCD_WRITE_COMMAND(0xCEc9); LCD_WRITE_DATA(0x03); // ceca[7:0] : clkb2_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEca); LCD_WRITE_DATA(0x26); // cecb[7:0] : clkb2_switch[7:0] LCD_WRITE_COMMAND(0xCEcb); LCD_WRITE_DATA(0x00); // cecc[7:0] : clkb2_extend LCD_WRITE_COMMAND(0xCEcc); LCD_WRITE_DATA(0x00); // cecd[7:0] : clkb2_tchop LCD_WRITE_COMMAND(0xCEcd); LCD_WRITE_DATA(0x00); // cece[7:0] : clkb2_tglue //CEDx : clkb3, clkb4 LCD_WRITE_COMMAND(0xCEd0); LCD_WRITE_DATA(0x30); // ced1[7:0] : clkb3_width[3:0], clkb3_shift[11:8] LCD_WRITE_COMMAND(0xCEd1); LCD_WRITE_DATA(0x03); // ced2[7:0] : clkb3_shift[7:0] LCD_WRITE_COMMAND(0xCEd2); LCD_WRITE_DATA(0x03); // ced3[7:0] : clkb3_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEd3); LCD_WRITE_DATA(0x27); // ced4[7:0] : clkb3_switch[7:0] LCD_WRITE_COMMAND(0xCEd4); LCD_WRITE_DATA(0x00); // ced5[7:0] : clkb3_extend[7:0] LCD_WRITE_COMMAND(0xCEd5); LCD_WRITE_DATA(0x00); // ced6[7:0] : clkb3_tchop[7:0] LCD_WRITE_COMMAND(0xCEd6); LCD_WRITE_DATA(0x00); // ced7[7:0] : clkb3_tglue[7:0] LCD_WRITE_COMMAND(0xCEd7); LCD_WRITE_DATA(0x30); // ced8[7:0] : clkb4_width[3:0], clkb4_shift[11:8] LCD_WRITE_COMMAND(0xCEd8); LCD_WRITE_DATA(0x04); // ced9[7:0] : clkb4_shift[7:0] LCD_WRITE_COMMAND(0xCEd9); LCD_WRITE_DATA(0x03); // ceda[7:0] : clkb4_sw_tg, odd_high, flat_head, flat_tail, switch[11:8] LCD_WRITE_COMMAND(0xCEda); LCD_WRITE_DATA(0x28); // cedb[7:0] : clkb4_switch[7:0] LCD_WRITE_COMMAND(0xCEdb); LCD_WRITE_DATA(0x00); // cedc[7:0] : clkb4_extend LCD_WRITE_COMMAND(0xCEdc); LCD_WRITE_DATA(0x00); // cedd[7:0] : clkb4_tchop LCD_WRITE_COMMAND(0xCEdd); LCD_WRITE_DATA(0x00); // cede[7:0] : clkb4_tglue //CFCx : LCD_WRITE_COMMAND(0xCFc7); LCD_WRITE_DATA(0x00); // cfc8[7:0] : reg_goa_gnd_opt, reg_goa_dpgm_tail_set, reg_goa_f_gating_en, reg_goa_f_odd_gating, toggle_mod1, 2, 3, 4 //-------------------------------------------------------------------------------- // initial setting 3 < Panel setting > //-------------------------------------------------------------------------------- // cbcx LCD_WRITE_COMMAND(0xCBc0); LCD_WRITE_DATA(0x00); //cbc1[7:0] : enmode H-byte of sig1 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc1); LCD_WRITE_DATA(0x00); //cbc2[7:0] : enmode H-byte of sig2 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc2); LCD_WRITE_DATA(0x00); //cbc3[7:0] : enmode H-byte of sig3 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc3); LCD_WRITE_DATA(0x00); //cbc4[7:0] : enmode H-byte of sig4 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc4); LCD_WRITE_DATA(0x54); //cbc5[7:0] : enmode H-byte of sig5 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc5); LCD_WRITE_DATA(0x54); //cbc6[7:0] : enmode H-byte of sig6 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc6); LCD_WRITE_DATA(0x54); //cbc7[7:0] : enmode H-byte of sig7 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc7); LCD_WRITE_DATA(0x54); //cbc8[7:0] : enmode H-byte of sig8 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc8); LCD_WRITE_DATA(0x00); //cbc9[7:0] : enmode H-byte of sig9 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBc9); LCD_WRITE_DATA(0x54); //cbca[7:0] : enmode H-byte of sig10 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBca); LCD_WRITE_DATA(0x00); //cbcb[7:0] : enmode H-byte of sig11 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBcb); LCD_WRITE_DATA(0x54); //cbcc[7:0] : enmode H-byte of sig12 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBcc); LCD_WRITE_DATA(0x00); //cbcd[7:0] : enmode H-byte of sig13 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBcd); LCD_WRITE_DATA(0x00); //cbce[7:0] : enmode H-byte of sig14 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBce); LCD_WRITE_DATA(0x00); //cbcf[7:0] : enmode H-byte of sig15 (pwrof_0, pwrof_1, norm, pwron_4 ) // cbdx LCD_WRITE_COMMAND(0xCBd0); LCD_WRITE_DATA(0x00); //cbd1[7:0] : enmode H-byte of sig16 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd1); LCD_WRITE_DATA(0x00); //cbd2[7:0] : enmode H-byte of sig17 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd2); LCD_WRITE_DATA(0x00); //cbd3[7:0] : enmode H-byte of sig18 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd3); LCD_WRITE_DATA(0x00); //cbd4[7:0] : enmode H-byte of sig19 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd4); LCD_WRITE_DATA(0x00); //cbd5[7:0] : enmode H-byte of sig20 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd5); LCD_WRITE_DATA(0x00); //cbd6[7:0] : enmode H-byte of sig21 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd6); LCD_WRITE_DATA(0x00); //cbd7[7:0] : enmode H-byte of sig22 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd7); LCD_WRITE_DATA(0x00); //cbd8[7:0] : enmode H-byte of sig23 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd8); LCD_WRITE_DATA(0x00); //cbd9[7:0] : enmode H-byte of sig24 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBd9); LCD_WRITE_DATA(0x54); //cbda[7:0] : enmode H-byte of sig25 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBda); LCD_WRITE_DATA(0x54); //cbdb[7:0] : enmode H-byte of sig26 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBdb); LCD_WRITE_DATA(0x54); //cbdc[7:0] : enmode H-byte of sig27 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBdc); LCD_WRITE_DATA(0x54); //cbdd[7:0] : enmode H-byte of sig28 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBdd); LCD_WRITE_DATA(0x00); //cbde[7:0] : enmode H-byte of sig29 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBde); LCD_WRITE_DATA(0x54); //cbdf[7:0] : enmode H-byte of sig30 (pwrof_0, pwrof_1, norm, pwron_4 ) // cbex LCD_WRITE_COMMAND(0xCBe0); LCD_WRITE_DATA(0x00); //cbe1[7:0] : enmode H-byte of sig31 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe1); LCD_WRITE_DATA(0x54); //cbe2[7:0] : enmode H-byte of sig32 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe2); LCD_WRITE_DATA(0x00); //cbe3[7:0] : enmode H-byte of sig33 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe3); LCD_WRITE_DATA(0x00); //cbe4[7:0] : enmode H-byte of sig34 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe4); LCD_WRITE_DATA(0x00); //cbe5[7:0] : enmode H-byte of sig35 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe5); LCD_WRITE_DATA(0x00); //cbe6[7:0] : enmode H-byte of sig36 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe6); LCD_WRITE_DATA(0x00); //cbe7[7:0] : enmode H-byte of sig37 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe7); LCD_WRITE_DATA(0x00); //cbe8[7:0] : enmode H-byte of sig38 (pwrof_0, pwrof_1, norm, pwron_4 ) LCD_WRITE_COMMAND(0xCBe8); LCD_WRITE_DATA(0x00); //cbe9[7:0] : enmode H-byte of sig39 (pwrof_0, pwrof_1, norm, pwron_4 ) // cc8x LCD_WRITE_COMMAND(0xCC80); LCD_WRITE_DATA(0x00); //cc81[7:0] : reg setting for signal01 selection with u2d mode LCD_WRITE_COMMAND(0xCC81); LCD_WRITE_DATA(0x00); //cc82[7:0] : reg setting for signal02 selection with u2d mode LCD_WRITE_COMMAND(0xCC82); LCD_WRITE_DATA(0x00); //cc83[7:0] : reg setting for signal03 selection with u2d mode LCD_WRITE_COMMAND(0xCC83); LCD_WRITE_DATA(0x00); //cc84[7:0] : reg setting for signal04 selection with u2d mode LCD_WRITE_COMMAND(0xCC84); LCD_WRITE_DATA(0x0C); //cc85[7:0] : reg setting for signal05 selection with u2d mode LCD_WRITE_COMMAND(0xCC85); LCD_WRITE_DATA(0x0A); //cc86[7:0] : reg setting for signal06 selection with u2d mode LCD_WRITE_COMMAND(0xCC86); LCD_WRITE_DATA(0x10); //cc87[7:0] : reg setting for signal07 selection with u2d mode LCD_WRITE_COMMAND(0xCC87); LCD_WRITE_DATA(0x0E); //cc88[7:0] : reg setting for signal08 selection with u2d mode LCD_WRITE_COMMAND(0xCC88); LCD_WRITE_DATA(0x00); //cc89[7:0] : reg setting for signal09 selection with u2d mode LCD_WRITE_COMMAND(0xCC89); LCD_WRITE_DATA(0x02); //cc8a[7:0] : reg setting for signal10 selection with u2d mode // cc9x LCD_WRITE_COMMAND(0xCC90); LCD_WRITE_DATA(0x00); //cc91[7:0] : reg setting for signal11 selection with u2d mode LCD_WRITE_COMMAND(0xCC91); LCD_WRITE_DATA(0x06); //cc92[7:0] : reg setting for signal12 selection with u2d mode LCD_WRITE_COMMAND(0xCC92); LCD_WRITE_DATA(0x00); //cc93[7:0] : reg setting for signal13 selection with u2d mode LCD_WRITE_COMMAND(0xCC93); LCD_WRITE_DATA(0x00); //cc94[7:0] : reg setting for signal14 selection with u2d mode LCD_WRITE_COMMAND(0xCC94); LCD_WRITE_DATA(0x00); //cc95[7:0] : reg setting for signal15 selection with u2d mode LCD_WRITE_COMMAND(0xCC95); LCD_WRITE_DATA(0x00); //cc96[7:0] : reg setting for signal16 selection with u2d mode LCD_WRITE_COMMAND(0xCC96); LCD_WRITE_DATA(0x00); //cc97[7:0] : reg setting for signal17 selection with u2d mode LCD_WRITE_COMMAND(0xCC97); LCD_WRITE_DATA(0x00); //cc98[7:0] : reg setting for signal18 selection with u2d mode LCD_WRITE_COMMAND(0xCC98); LCD_WRITE_DATA(0x00); //cc99[7:0] : reg setting for signal19 selection with u2d mode LCD_WRITE_COMMAND(0xCC99); LCD_WRITE_DATA(0x00); //cc9a[7:0] : reg setting for signal20 selection with u2d mode LCD_WRITE_COMMAND(0xCC9a); LCD_WRITE_DATA(0x00); //cc9b[7:0] : reg setting for signal21 selection with u2d mode LCD_WRITE_COMMAND(0xCC9b); LCD_WRITE_DATA(0x00); //cc9c[7:0] : reg setting for signal22 selection with u2d mode LCD_WRITE_COMMAND(0xCC9c); LCD_WRITE_DATA(0x00); //cc9d[7:0] : reg setting for signal23 selection with u2d mode LCD_WRITE_COMMAND(0xCC9d); LCD_WRITE_DATA(0x00); //cc9e[7:0] : reg setting for signal24 selection with u2d mode LCD_WRITE_COMMAND(0xCC9e); LCD_WRITE_DATA(0x0B); //cc9f[7:0] : reg setting for signal25 selection with u2d mode // ccax LCD_WRITE_COMMAND(0xCCa0); LCD_WRITE_DATA(0x09); //cca1[7:0] : reg setting for signal26 selection with u2d mode LCD_WRITE_COMMAND(0xCCa1); LCD_WRITE_DATA(0x0F); //cca2[7:0] : reg setting for signal27 selection with u2d mode LCD_WRITE_COMMAND(0xCCa2); LCD_WRITE_DATA(0x0D); //cca3[7:0] : reg setting for signal28 selection with u2d mode LCD_WRITE_COMMAND(0xCCa3); LCD_WRITE_DATA(0x00); //cca4[7:0] : reg setting for signal29 selection with u2d mode LCD_WRITE_COMMAND(0xCCa4); LCD_WRITE_DATA(0x01); //cca5[7:0] : reg setting for signal20 selection with u2d mode LCD_WRITE_COMMAND(0xCCa5); LCD_WRITE_DATA(0x00); //cca6[7:0] : reg setting for signal31 selection with u2d mode LCD_WRITE_COMMAND(0xCCa6); LCD_WRITE_DATA(0x05); //cca7[7:0] : reg setting for signal32 selection with u2d mode LCD_WRITE_COMMAND(0xCCa7); LCD_WRITE_DATA(0x00); //cca8[7:0] : reg setting for signal33 selection with u2d mode LCD_WRITE_COMMAND(0xCCa8); LCD_WRITE_DATA(0x00); //cca9[7:0] : reg setting for signal34 selection with u2d mode LCD_WRITE_COMMAND(0xCCa9); LCD_WRITE_DATA(0x00); //ccaa[7:0] : reg setting for signal35 selection with u2d mode LCD_WRITE_COMMAND(0xCCaa); LCD_WRITE_DATA(0x00); //ccab[7:0] : reg setting for signal36 selection with u2d mode LCD_WRITE_COMMAND(0xCCab); LCD_WRITE_DATA(0x00); //ccac[7:0] : reg setting for signal37 selection with u2d mode LCD_WRITE_COMMAND(0xCCac); LCD_WRITE_DATA(0x00); //ccad[7:0] : reg setting for signal38 selection with u2d mode LCD_WRITE_COMMAND(0xCCad); LCD_WRITE_DATA(0x00); //ccae[7:0] : reg setting for signal39 selection with u2d mode LCD_WRITE_COMMAND(0xCCae); LCD_WRITE_DATA(0x00); //ccaf[7:0] : reg setting for signal40 selection with u2d mode // ccbx LCD_WRITE_COMMAND(0xCCb0); LCD_WRITE_DATA(0x00); //ccb1[7:0] : reg setting for signal01 selection with d2u mode LCD_WRITE_COMMAND(0xCCb1); LCD_WRITE_DATA(0x00); //ccb2[7:0] : reg setting for signal02 selection with d2u mode LCD_WRITE_COMMAND(0xCCb2); LCD_WRITE_DATA(0x00); //ccb3[7:0] : reg setting for signal03 selection with d2u mode LCD_WRITE_COMMAND(0xCCb3); LCD_WRITE_DATA(0x00); //ccb4[7:0] : reg setting for signal04 selection with d2u mode LCD_WRITE_COMMAND(0xCCb4); LCD_WRITE_DATA(0x0D); //ccb5[7:0] : reg setting for signal05 selection with d2u mode LCD_WRITE_COMMAND(0xCCb5); LCD_WRITE_DATA(0x0F); //ccb6[7:0] : reg setting for signal06 selection with d2u mode LCD_WRITE_COMMAND(0xCCb6); LCD_WRITE_DATA(0x09); //ccb7[7:0] : reg setting for signal07 selection with d2u mode LCD_WRITE_COMMAND(0xCCb7); LCD_WRITE_DATA(0x0B); //ccb8[7:0] : reg setting for signal08 selection with d2u mode LCD_WRITE_COMMAND(0xCCb8); LCD_WRITE_DATA(0x00); //ccb9[7:0] : reg setting for signal09 selection with d2u mode LCD_WRITE_COMMAND(0xCCb9); LCD_WRITE_DATA(0x05); //ccba[7:0] : reg setting for signal10 selection with d2u mode // cccx LCD_WRITE_COMMAND(0xCCc0); LCD_WRITE_DATA(0x00); //ccc1[7:0] : reg setting for signal11 selection with d2u mode LCD_WRITE_COMMAND(0xCCc1); LCD_WRITE_DATA(0x01); //ccc2[7:0] : reg setting for signal12 selection with d2u mode LCD_WRITE_COMMAND(0xCCc2); LCD_WRITE_DATA(0x00); //ccc3[7:0] : reg setting for signal13 selection with d2u mode LCD_WRITE_COMMAND(0xCCc3); LCD_WRITE_DATA(0x00); //ccc4[7:0] : reg setting for signal14 selection with d2u mode LCD_WRITE_COMMAND(0xCCc4); LCD_WRITE_DATA(0x00); //ccc5[7:0] : reg setting for signal15 selection with d2u mode LCD_WRITE_COMMAND(0xCCc5); LCD_WRITE_DATA(0x00); //ccc6[7:0] : reg setting for signal16 selection with d2u mode LCD_WRITE_COMMAND(0xCCc6); LCD_WRITE_DATA(0x00); //ccc7[7:0] : reg setting for signal17 selection with d2u mode LCD_WRITE_COMMAND(0xCCc7); LCD_WRITE_DATA(0x00); //ccc8[7:0] : reg setting for signal18 selection with d2u mode LCD_WRITE_COMMAND(0xCCc8); LCD_WRITE_DATA(0x00); //ccc9[7:0] : reg setting for signal19 selection with d2u mode LCD_WRITE_COMMAND(0xCCc9); LCD_WRITE_DATA(0x00); //ccca[7:0] : reg setting for signal20 selection with d2u mode LCD_WRITE_COMMAND(0xCCca); LCD_WRITE_DATA(0x00); //cccb[7:0] : reg setting for signal21 selection with d2u mode LCD_WRITE_COMMAND(0xCCcb); LCD_WRITE_DATA(0x00); //cccc[7:0] : reg setting for signal22 selection with d2u mode LCD_WRITE_COMMAND(0xCCcc); LCD_WRITE_DATA(0x00); //cccd[7:0] : reg setting for signal23 selection with d2u mode LCD_WRITE_COMMAND(0xCCcd); LCD_WRITE_DATA(0x00); //ccce[7:0] : reg setting for signal24 selection with d2u mode LCD_WRITE_COMMAND(0xCCce); LCD_WRITE_DATA(0x0E); //cccf[7:0] : reg setting for signal25 selection with d2u mode // ccdx LCD_WRITE_COMMAND(0xCCd0); LCD_WRITE_DATA(0x10); //ccd1[7:0] : reg setting for signal26 selection with d2u mode LCD_WRITE_COMMAND(0xCCd1); LCD_WRITE_DATA(0x0A); //ccd2[7:0] : reg setting for signal27 selection with d2u mode LCD_WRITE_COMMAND(0xCCd2); LCD_WRITE_DATA(0x0C); //ccd3[7:0] : reg setting for signal28 selection with d2u mode LCD_WRITE_COMMAND(0xCCd3); LCD_WRITE_DATA(0x00); //ccd4[7:0] : reg setting for signal29 selection with d2u mode LCD_WRITE_COMMAND(0xCCd4); LCD_WRITE_DATA(0x06); //ccd5[7:0] : reg setting for signal30 selection with d2u mode LCD_WRITE_COMMAND(0xCCd5); LCD_WRITE_DATA(0x00); //ccd6[7:0] : reg setting for signal31 selection with d2u mode LCD_WRITE_COMMAND(0xCCd6); LCD_WRITE_DATA(0x02); //ccd7[7:0] : reg setting for signal32 selection with d2u mode LCD_WRITE_COMMAND(0xCCd7); LCD_WRITE_DATA(0x00); //ccd8[7:0] : reg setting for signal33 selection with d2u mode LCD_WRITE_COMMAND(0xCCd8); LCD_WRITE_DATA(0x00); //ccd9[7:0] : reg setting for signal34 selection with d2u mode LCD_WRITE_COMMAND(0xCCd9); LCD_WRITE_DATA(0x00); //ccda[7:0] : reg setting for signal35 selection with d2u mode LCD_WRITE_COMMAND(0xCCda); LCD_WRITE_DATA(0x00); //ccdb[7:0] : reg setting for signal36 selection with d2u mode LCD_WRITE_COMMAND(0xCCdb); LCD_WRITE_DATA(0x00); //ccdc[7:0] : reg setting for signal37 selection with d2u mode LCD_WRITE_COMMAND(0xCCdc); LCD_WRITE_DATA(0x00); //ccdd[7:0] : reg setting for signal38 selection with d2u mode LCD_WRITE_COMMAND(0xCCdd); LCD_WRITE_DATA(0x00); //ccde[7:0] : reg setting for signal39 selection with d2u mode LCD_WRITE_COMMAND(0xCCde); LCD_WRITE_DATA(0x00); //ccdf[7:0] : reg setting for signal40 selection with d2u mode LCD_WRITE_COMMAND(0x3A00); LCD_WRITE_DATA(0x55); //MCU 16bits D[17:0] LCD_WRITE_COMMAND(0x3500); LCD_WRITE_DATA(0x00); //TE ON LCD_WRITE_COMMAND(0x4400); LCD_WRITE_DATA(0x00); LCD_WRITE_COMMAND(0x4401); LCD_WRITE_DATA(0x64); LCD_WRITE_COMMAND(0x2000); LCD_WRITE_COMMAND(0x1100); Delayms(150); LCD_WRITE_COMMAND(0x2900); Delayms(200); LCD_WRITE_COMMAND(0x2C00); sw_clear_panel(0x00); MDELAY(10); }
static void InitLCD_ILI9481_HVGA_CPT32() { dbg_print("===> [ILI9481_DPI] <%s %s> %s:%d %s(): : \n", __DATE__, __TIME__, __FILE__, __LINE__, __func__); //************* Start Initial Sequence **********// MDELAY(100); // Delay 100 ms LCD_WRITE_CMD(0x11); //Exit Sleep MDELAY(20); LCD_WRITE_CMD(0xD0); //Power Setting LCD_WRITE_DATA(0x07); LCD_WRITE_DATA(0x42); LCD_WRITE_DATA(0x18); LCD_WRITE_CMD(0xD1); //Vcom control LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x16);//07 LCD_WRITE_DATA(0x0E); LCD_WRITE_CMD(0xD2); //Power setting for Normal mode LCD_WRITE_DATA(0x01); LCD_WRITE_DATA(0x02); LCD_WRITE_CMD(0xC0); //Panel Driver setting. LCD_WRITE_DATA(0x10); LCD_WRITE_DATA(0x3B); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x02); LCD_WRITE_DATA(0x11); LCD_WRITE_CMD(0xC5); //Frame rate and inversion control LCD_WRITE_DATA(0x03); LCD_WRITE_CMD(0xC8); //Gamma setting LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x32); LCD_WRITE_DATA(0x36); LCD_WRITE_DATA(0x45); LCD_WRITE_DATA(0x06); LCD_WRITE_DATA(0x16); LCD_WRITE_DATA(0x37); LCD_WRITE_DATA(0x75); LCD_WRITE_DATA(0x77); LCD_WRITE_DATA(0x54); LCD_WRITE_DATA(0x0C); LCD_WRITE_DATA(0x00); LCD_WRITE_CMD(0x36); //Set address mode //LCD_WRITE_DATA(0x0A); LCD_WRITE_DATA(0x09); //Flip Vertically and Horizontally LCD_WRITE_CMD(0x3A);// set pixel format LCD_WRITE_DATA(0x66); // LCD_WRITE_CMD(0x0C); //get pixel format // LCD_WRITE_DATA(0x66); LCD_WRITE_CMD(0x2A); //set colum address LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x01); LCD_WRITE_DATA(0x40); LCD_WRITE_CMD(0x2B);//set page address LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x01); LCD_WRITE_DATA(0xE0); MDELAY(120); LCD_WRITE_CMD(0xB4); //Display mode and Frame memory write mode setting. LCD_WRITE_DATA(0x10); LCD_WRITE_CMD(0x29);//set display on LCD_WRITE_CMD(0x2C);// write memory start }