Exemple #1
0
//设置绘点窗口,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);
}
Exemple #2
0
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();
}
Exemple #3
0
//在指定位置显示一个字符
//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++)
Exemple #4
0
//在指定区域内填充指定颜色
//区域大小:
//  (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);//设置光标位置 	    
	} 					  	    
}
Exemple #5
0
//清屏函数
//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);
	  }
	}
}
Exemple #6
0
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();
}
Exemple #7
0
/****************************************************************************
* 名	称:	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();
}
Exemple #8
0
//画点
//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);
}
Exemple #10
0
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
}