⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.c

📁 MTK常用LCD驱动,[HX8312 SSD1289 TL1763 ILI9320 HX8346 S6D01390] LGDP4531
💻 C
📖 第 1 页 / 共 5 页
字号:
}

//#if 0
if(lcd_id==_SSD1289_240X320)
{

    Init_data(0x0007,0x0000);
    Init_data(0x0010,0x0001);   
//#endif
return;
}
//#endif

if(lcd_id==_S6D0139_240x320)
{
       Init_data(0x0007,0x0016);
	DelayX1mS(40);
	Init_data(0x0007,0x0000);
	DelayX1mS(1);
	Init_data(0x0010,0x0000);
	Init_data(0x0013,0x0060);
	DelayX1mS(50);
	Init_data(0x0013,0x0040);
	DelayX1mS(50);
	Init_data(0x0013,0x0000);
	DelayX1mS(1);
return;
}

#ifdef _HX8312_240x320_
//############# void Display_Off_Set(void) ################//
LCD_CtrlWrite_HX8306A(0x00A0);
DelayX1mS(40);
LCD_CtrlWrite_HX8306A(0x3B00);
//############# void Power_Off_Set(void) ################//
LCD_CtrlWrite_HX8306A(0x1E01); // VCOM off
LCD_CtrlWrite_HX8306A(0x1B09); // VS / VDH Power off  0d
LCD_CtrlWrite_HX8306A(0x1C00); // Step up circuit operating current off
LCD_CtrlWrite_HX8306A(0x24000); // V18 and VCOM regulator current off
LCD_CtrlWrite_HX8306A(0x1800);
//############# Into OFF mode ################//
LCD_CtrlWrite_HX8306A(0x0111); // Internal oscillator stop
LCD_CtrlWrite_HX8306A(0xC080); // Into OFF mode
 
//Note:
//1. In OFF mode, only OFFMOD bit (D7 bit of R192) can be updated. Other register
//and the display RAM can not be updated. The display RAM data may not be
//retained in the off mode operation , and need to rewrite after off mode canceling.
 

#endif

}



void LCD_ExitSleep_HX8306A(void)
{ 

if(lcd_id==_LGDP4531_240x320)
{
	Init_data(0x0010,0x0000);
	DelayX1mS(50);
	Init_data(0x0011,0x0510);	//0x0510
	Init_data(0x0010,0x1628);
	Init_data(0x0012,0x000a); //0x0006
	DelayX1mS(50);
	Init_data(0x0012,0x001a); //0x0016
	DelayX1mS(50);
	Init_data(0x0010,0x2620); //0x2620
	Init_data(0x0013,0x2d4d);  //0x3162
	DelayX1mS(50);
	Init_data(0x0007,0x0001);
	DelayX1mS(20);
	Init_data(0x0007,0x0021);
	DelayX1mS(20);
	Init_data(0x0007,0x0023);
	DelayX1mS(20);
	Init_data(0x0007,0x0033);
	DelayX1mS(20);
	Init_data(0x0007,0x0133);
	DelayX1mS(20);
	return;
}
if(lcd_id==_ILI9320_240x320)
{
//#ifdef  _ILI9320_240x320

	Init_data(0x0010, 0x0000);		// SAP, BT[3:0], AP, DSTB, SLP, STB
	Init_data(0x0011, 0x0007);		// DC1[2:0], DC0[2:0], VC[2:0]
	Init_data(0x0012, 0x0000);		// VREG1OUT voltage
	Init_data(0x0013, 0x0000);		// VDV[4:0] for VCOM amplitude
	DelayX1mS(200);					// Dis-charge capacitor power voltage
	Init_data(0x0010, 0x17B0);		// SAP, BT[3:0], AP, DSTB, SLP, STB
	Init_data(0x0011, 0x0001);		// DC1[2:0], DC0[2:0], VC[2:0]        //0x0001
	DelayX1mS(50);					// Delay 50ms
	Init_data(0x0012, 0x011c);		// VREG1OUT voltage   //0x013C//0x013a
	DelayX1mS(50);					// Delay 50ms
	Init_data(0x0013, 0x1500);		// VDV[4:0] for VCOM amplitude   //0x1300  ////0x1a00
	Init_data(0x0029, 0x0016);		// VCM[4:0] for VCOMH   //0x0004
	DelayX1mS(50);	

	Init_data(0x0007, 0x0173);		// Display Control 1-----262K color and display ON
//#endif
return;

}

if(lcd_id==_TL1763_240x320)	
{
//#ifdef  _TL1763_240x320
Init_data(0x0010,0x0000);
DelayX1mS(10);

Init_data(0X0011 ,0X0001);                     
Init_data(0X0013 ,0X1333);                     
Init_data(0X0010 ,0X0530);                     
Init_data(0X0012 ,0X1019);                     
 DelayX1mS(40); //Wait 40ms    
 Init_data(0X0013 ,0X3333);//0X3334);
 Init_data(0X0011 ,0X0111);    
 Init_data(0X0010 ,0X1530);    

 Init_data(0x0007,0x0025);
  Init_data(0x007,0x0027);
  DelayX1mS(50);
   
  Init_data(0x0007,0x0037);
//#endif
return;
}


if(lcd_id==_HX8346_240x320_)
{
	#if 1  //kino for 8346   1  for test 8347
	CLEAR_LCD_CTRL_RESET_PIN; //ropin
	DelayX1mS(20);	
	SET_LCD_CTRL_RESET_PIN;
	DelayX1mS(10);

	Init_data(0x0019,0x0061);  //osc setting
	DelayX1mS(10);

	Init_data(0x001b,0x0018);  //exit sleep
	DelayX1mS(10);

	Init_data(0x001b,0x0012);  //exit sleep
	DelayX1mS(50);

	Init_data(0x0038,0x0000);  
	DelayX1mS(10);

	/***************display setting*******************/
	Init_data(0x0001,0x0006);  //display control 3 
	DelayX1mS(10);

	Init_data(0x0016,0x0088);  //memory access control   0x00c8  //mod
	DelayX1mS(10);
	Init_data(0x0018,0x0000);  //memory access control
	DelayX1mS(10);
	Init_data(0x0070,0x00a5);  //memory access control  //add
	DelayX1mS(10);

	Init_data(0x0023,0x0018);  //cycle control 
	DelayX1mS(10);
	Init_data(0x0024,0x0095);  //cycle control 
	DelayX1mS(10);
	Init_data(0x0025,0x00ff);  //cycle control 
	DelayX1mS(10);

	Init_data(0x0027,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x0028,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x0029,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x002a,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x002c,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x002d,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);

	Init_data(0x003a,0x0001);  //cycle control 1
	DelayX1mS(10);
	Init_data(0x003b,0x0001);  //cycle control 2
	DelayX1mS(10);
	Init_data(0x003c,0x00f0);  //cycle control 3 
	DelayX1mS(10);
	Init_data(0x003d,0x0000);  //cycle control 4 
	DelayX1mS(20);

	/**********power setting**********************/
	Init_data(0x0042,0x0008);  //BGP control
	DelayX1mS(50);

	Init_data(0x001c,0x0004);  // AP2-0 SETTING
	DelayX1mS(30);

	Init_data(0x0030,0x0008);  // SAP3-0 SETTING
	DelayX1mS(10);

	Init_data(0x001d,0x0041);  //VLCD SETTING
	DelayX1mS(30);

	Init_data(0x001e,0x0001);  //VREG3 SETTING  VREG3=2XVCI
	DelayX1mS(30);

	Init_data(0x001f,0x0008);  //power control 1  vreg1=4.64v
	DelayX1mS(30);

	Init_data(0x0020,0x0070); // VGL/VGH SETTING
	DelayX1mS(30);

	Init_data(0x0021,0x0000); // DC/DC SETTING
	DelayX1mS(30);

	Init_data(0x0043,0x0080);  //vomg control
	DelayX1mS(50);
	Init_data(0x0044,0x002f);  //vomg control  VCOMH=3.4V  0x0044 //mod
	DelayX1mS(10);
	Init_data(0x0045,0x000a);  //vomg control  VCOM=4.872V  0x0010  //mod
	DelayX1mS(20);

	/******************GAMMA SETTING***********************/
	Init_data(0x0046,0x0001);  //GAMMA control 1
	Init_data(0x0047,0x0021);  //GAMMA control 2
	Init_data(0x0048,0x0022);  //GAMMA control 3
	Init_data(0x0049,0x0033);  //GAMMA control 4
	Init_data(0x004a,0x0001);  //GAMMA control 5
	Init_data(0x004b,0x0001);  //GAMMA control 6
	Init_data(0x004c,0x0013);  //GAMMA control 7
	Init_data(0x004d,0x0022);  //GAMMA control 8
	Init_data(0x004e,0x0012);  //GAMMA control 9
	Init_data(0x004f,0x0021);  //GAMMA control 10
	Init_data(0x0050,0x0021);  //GAMMA control 11
	Init_data(0x0051,0x0000);  //GAMMA control 12
	DelayX1mS(100);

	/****************display on setting**************/
	Init_data(0x0026,0x0004);  
	DelayX1mS(20);
	Init_data(0x0026,0x0024);  
	DelayX1mS(20);
	Init_data(0x0026,0x002c);  
	DelayX1mS(20);
	Init_data(0x0026,0x003c);  
	DelayX1mS(20);
	   
	#else

	Init_data(0x0019,0x0061);  //osc setting
	DelayX1mS(10);

	Init_data(0x001b,0x0018);  //exit sleep
	DelayX1mS(10);

	Init_data(0x001b,0x0012);  //exit sleep
	DelayX1mS(50);

	Init_data(0x0038,0x0000);  
	DelayX1mS(10);

	/***************display setting*******************/
	Init_data(0x0001,0x0006);  //display control 3 
	DelayX1mS(10);

	Init_data(0x0016,0x0088);  //memory access control   0x00c8  //mod
	DelayX1mS(10);
	Init_data(0x0018,0x0000);  //memory access control
	DelayX1mS(10);
	Init_data(0x0070,0x00a5);  //memory access control  //add
	DelayX1mS(10);

	Init_data(0x0023,0x0018);  //cycle control 
	DelayX1mS(10);
	Init_data(0x0024,0x0095);  //cycle control 
	DelayX1mS(10);
	Init_data(0x0025,0x00ff);  //cycle control 
	DelayX1mS(10);

	Init_data(0x0027,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x0028,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x0029,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x002a,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x002c,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);
	Init_data(0x002d,0x0002);  // BP/FP SETTING 
	DelayX1mS(10);

	Init_data(0x003a,0x0001);  //cycle control 1
	DelayX1mS(10);
	Init_data(0x003b,0x0001);  //cycle control 2
	DelayX1mS(10);
	Init_data(0x003c,0x00f0);  //cycle control 3 
	DelayX1mS(10);
	Init_data(0x003d,0x0000);  //cycle control 4 
	DelayX1mS(20);

	/**********power setting**********************/
	Init_data(0x0042,0x0008);  //BGP control
	DelayX1mS(50);

	Init_data(0x001c,0x0004);  // AP2-0 SETTING
	DelayX1mS(30);

	Init_data(0x0030,0x0008);  // SAP3-0 SETTING
	DelayX1mS(10);

	Init_data(0x001d,0x0041);  //VLCD SETTING
	DelayX1mS(30);

	Init_data(0x001e,0x0001);  //VREG3 SETTING  VREG3=2XVCI
	DelayX1mS(30);

	Init_data(0x001f,0x0008);  //power control 1  vreg1=4.64v
	DelayX1mS(30);

	Init_data(0x0020,0x0070); // VGL/VGH SETTING
	DelayX1mS(30);

	Init_data(0x0021,0x0000); // DC/DC SETTING
	DelayX1mS(30);

	Init_data(0x0043,0x0080);  //vomg control
	DelayX1mS(50);
	Init_data(0x0044,0x0019);  //vomg control  VCOMH=3.4V  0x0044 //mod
	DelayX1mS(10);
	Init_data(0x0045,0x0007);  //vomg control  VCOM=4.872V  0x0010  //mod
	DelayX1mS(20);

	/******************GAMMA SETTING***********************/
	Init_data(0x0046,0x0001);  //GAMMA control 1
	Init_data(0x0047,0x0021);  //GAMMA control 2
	Init_data(0x0048,0x0022);  //GAMMA control 3
	Init_data(0x0049,0x0033);  //GAMMA control 4
	Init_data(0x004a,0x0001);  //GAMMA control 5
	Init_data(0x004b,0x0001);  //GAMMA control 6
	Init_data(0x004c,0x0013);  //GAMMA control 7
	Init_data(0x004d,0x0022);  //GAMMA control 8
	Init_data(0x004e,0x0012);  //GAMMA control 9
	Init_data(0x004f,0x0021);  //GAMMA control 10
	Init_data(0x0050,0x0021);  //GAMMA control 11
	Init_data(0x0051,0x0000);  //GAMMA control 12
	DelayX1mS(100);

	/****************display on setting**************/
	Init_data(0x0026,0x0004);  
	DelayX1mS(20);
	Init_data(0x0026,0x0024);  
	DelayX1mS(20);
	Init_data(0x0026,0x002c);  
	DelayX1mS(20);
	Init_data(0x0026,0x003c);  
	DelayX1mS(20);
#endif
         return;
	
}


if(lcd_id==_SSD1289_240X320)
{
//#ifdef _SSD1289_240X320
    Init_data(0x0007,0x0021);
    DelayX1mS(10);
    Init_data(0x0007,0x0023);
    DelayX1mS(10);

    Init_data(0x0010,0x0000);    //0xA2A0//0xeeee
    //Init_data(0x000c,0x0000);   //0x0002
    //Init_data(0x000d,0x000F);  
    //Init_data(0x000e,0x3200);  //0x3600
    DelayX1mS(30);
    Init_data(0x0007,0x0233);   //0x00A5

    Init_data(0x0011,0x6830);
    DelayX1mS(10);
    Init_data(0x0002,0x0600);
    //DelayX1mS(10);
//#endif
return;
}

if(lcd_id==_S6D0139_240x320)
{
       Init_data(0x0011, 0x3304);                // Power Control 2
	Init_data(0x0014, 0x1300);                // Power Control 4
	Init_data(0x0010, 0x1A20);                // Power Control 1
	Init_data(0x0013, 0x0040);                // Power Control 3
	DelayX1mS(10);
	Init_data(0x0013, 0x0060);                // Power Control 3
	DelayX1mS(10);
	Init_data(0x0013, 0x0070);                // Power Control 3
	DelayX1mS(40);

	Init_data(0x0007, 0x0015);       //0x0015         // Display Control
	DelayX1mS(40);
	Init_data(0x0007, 0x0017);       //0x0017         // Display Control
return;
}

#ifdef _HX8312_240x320_
//############# OFF mode cancel ################//
LCD_CtrlWrite_HX8306A(0xC000); // OFF mode cancel
LCD_CtrlWrite_HX8306A(0x0110); // Internal oscillator start
DelayX1mS(10);
//############# Power_on_Set ################//
LCD_CtrlWrite_HX8306A(0x1C73); // Step up circuit operating current setting
LCD_CtrlWrite_HX8306A(0x2474); // V18 and VCOM regulator current setting
LCD_CtrlWrite_HX8306A(0x18C1); // VR1 and VR2 regulator on
DelayX1mS(10);
LCD_CtrlWrite_HX8306A(0x18C5); // DDVDH turn on
LCD_CtrlWrite_HX8306A(0x18E5); // VCL turn on
DelayX1mS(60);
LCD_CtrlWrite_HX8306A(0x18F5); // VGH and VGL turn on
DelayX1mS(60);
LCD_CtrlWrite_HX8306A(0x1B09); // VS/VDH turn on and set 0d
DelayX1mS(10);
LCD_CtrlWrite_HX8306A(0x1E81); // VCOM operation start
DelayX1mS(10);
//############# void Display_On(void) ################//
LCD_CtrlWrite_HX8306A(0x3B01);
DelayX1mS(40);
LCD_CtrlWrite_HX8306A(0x0020);
 
#endif

 
}




void LCD_Partial_On_HX8306A(kal_uint16 start_page,kal_uint16 end_page) 
{ 
} 

void LCD_Partial_Off_HX8306A(void) 
{ 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -