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

📄 panel.c

📁 中芯微VC0528测试程序
💻 C
📖 第 1 页 / 共 5 页
字号:
	{0x01,	0x0113,	0},//0x0313
	{0x02,	0x0700,	0},
	{0x05,	0x1210,	0},
	{0x08,	0x0202,	0},
	{0x0a,	0x0000,	0},
	{0x0b,	0x1800,	0},
	{0x0f,	0x0000,	0},
	{0x10,	0x0000,	0},
	{0x14,	0x9f00,	0},
	{0x15,	0x9f00,	0},
	{0x16,	0x7f00,	0},
	{0x17,	0x9f00,	0},
	{0x23,	0x0000,	0},
	{0x24,	0x0000,	0},
	{0x25,	0x0000,  0},
	{0x26,	0x0000,	0},
	{0x0d,	0x0000,	15},
	{0x0e,	0x0000,	15},
	{0x07,	0x0000,	15},
	{0x0c,	0x0000,	15},
// power setting flow
	{0x09,	0x0008,	15},
	{0x0d,	0x0002,	15},
	{0x0e,	0x141b,	50},
	{0x0d,	0x0012,	15},
	{0x03,	0x0010,	50},
	{0x09,	0x0000,	15},
	{0x03,	0x0310,	15},
	{0x0e,	0x341b,	150},
	{0x09,	0x0004,	15},
	{0x0d,	0x0012,	50},
//initial Function 2
	{0x21,	0x0000,	0},
	{0x30,	0x0001,	0},
	{0x31,	0x0505,	0},
	{0x32,	0x0305,	0},
	{0x33,	0x0100,	0},
	{0x34,	0x0303,	0},
	{0x35,	0x0403,	0},
	{0x36,	0x0507,	0},
	{0x37,	0x0000,	0},
	{0x3a,	0x0800,	0},
	{0x3b,	0x0007,	10},
//display on function
      {0x07,	0x0005,	40},
      {0x07,	0x0025,	0},
      {0x07,	0x0027,	40},
      {0x07,	0x0037,	10}
      
      
};
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif


#if QIDISAIFU_S1D19105D
/*******************************************************
			driver ic						bias				size 
mainpanel:    S1D19105D_16				(0x0,0x0)		         176*220
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		V5_BySetRSHigh((UINT16)val);
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow((UINT16)adr);
		return;
	}
	V5_BySetRSLow((UINT16)adr);
	V5_BySetRSHigh((UINT16)val);
}
const LCDReg gMPanel_powon[] =
{
	{0x9600,  0xffff,	10},//VOSC ON
		
	{0x9200,  0xffff,	0},//START OSCILLATION
	
      {0x3100,  0x1000,	0},//display interface set
      {0xffff,  0x0000,	0},
      
      {0x6f00,  0x0200,	0},//gate line scan
	{0xffff,  0x0000,	0},
	{0xffff,  0xdb00,	0},
	
 	{0xbc00,  0x0000,	0},//data set
 	
 	{0xca00,  0x0000,	0},//display set
	{0xffff,  0x3800,	0},	
    	{0xffff,  0xc000,	0},	
    	{0xffff,  0x4300,	0},	
    	{0xffff,  0xdb00,	0},	
    	{0xffff,  0x0000,	0},	
    	{0xffff,  0x0700,	0},	
    	{0xffff,  0x0700,	0},	
    	{0xffff,  0x0000,	0},	

	{0xa100,  0x0200,	0},	//display time set
	{0xffff,  0x3600,	0},	
	{0xffff,  0x0400,	0},	
	{0xffff,  0x3400,	0},	
	{0xffff,  0x0000,	0},	
	{0xffff,  0x0000,	0},	
	{0xffff,  0x0900,	0},	

	{0x2000,  0x1700,	0},	//electron volume set
	{0xffff,  0x1000,	0},	
	{0xffff,  0x1000,	0},	
	{0xffff,  0x1a00,	0},	
	{0xffff,  0x1e00,	0},	
	{0xffff,  0x1600,	0},	
	{0xffff,  0x0000,	0},	
	{0xffff,  0x0300,	0},	

	{0x2100,  0x3100,	0},	//power control set
	{0xffff,  0x3300,	0},	
	{0xffff,  0x0e00,	0},	
	{0xffff,  0x0f00,	0},	
	{0xffff,  0xad00,	0},	
	{0xffff,  0xa000,	0},	
	{0xffff,  0x7700,	0},	
	{0xffff,  0xa500,	0},	
	{0xffff,  0x0100,	0},	
	{0xffff,  0xa500,	0},	
	{0xffff,  0x0100,	0},	
	{0xffff,  0x4400,	0},	
    	{0xffff,  0x7700,	0},	

	{0x8c00,  0x0100,	0},	//ac operation drive line inversion
	{0xffff,  0x0000,	0},	
	
    	{0x8b00,  0x0000,	0},	//display mide set
	{0xffff,  0x0000,	0},
    	{0xffff,  0x7000,	0},
  	{0xffff,  0x6500,	0},

	{0x2200,  0x3200,	0},	//gamma correction set
	{0xffff,  0x0000,	0},
    	{0xffff,  0x4400,	0},
  	{0xffff,  0x4400,	0},
  	{0xffff,  0x4400,	0},
  	{0xffff,  0x4400,	0},
	
  	{0x2300,  0x0300,	0},	//partial power set
	{0xffff,  0x6500,	0},
    	{0xffff,  0x0f00,	0},
  	{0xffff,  0xad00,	0},
  	{0xffff,  0xa000,	0},
  	{0xffff,  0x4400,	0},
  	{0xffff,  0x7700,	0},
    
	{0x9400,  0xffff,	0},//sleep out

	

	{0x1500,  0x0000,	0},//start address set
    	{0xffff,  0x0000,	0},

	{0x7500,  0xaf00,	0},//end address set
    	{0xffff,  0xdb00,	0},
    	
    	{0xa900,  0xffff,	0},//partial display out
	{0xaf00,  0xffff,	0},//display on     
	
    	 //{0x5c00,  0x0000,	10},//end address set
};
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif
#if XiKe_LTS166QQF03
/*******************************************************
			driver ic			bias				size 
mainpanel:   uPD161963		   (0x0,0x0)		128*160
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		V5_BySetRSHigh((UINT16)val>>8);
		V5_BySetRSHigh((UINT8)val);
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow((UINT16)adr>>8);
		V5_BySetRSLow((UINT16)adr);
		return;
	}
	V5_BySetRSLow((UINT16)adr>>8);
	V5_BySetRSLow((UINT8)adr);
	V5_BySetRSHigh((UINT16)val>>8);
	V5_BySetRSHigh((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
	#if 1
//POWER setting sequence
	{0x11,	0x0210,	0},
	{0x12,	0x0001,	0},	
	{0x13,	0x0818,	0},
	{0x14,	0x0013,	0},	
	{0x10,	0x1910,	80},	
	{0x13,	0x081d,	400},

//initializing sequence 	
	{0x01,	0x090c,	0},
	{0x02,	0x0200,	0},	
	{0x03,	0x1030,	0},
	{0x07,	0x0005,	0},	
	{0x08,	0x0503,	0},
	{0x0b,	0x0003,	0},	
	{0x0c,	0x0000,	0},
	{0x30,	0x0403,	0},	
	{0x31,	0x0003,	0},	
	{0x32,	0x0000,	0},	
	{0x33,	0x0100,	0},	
	{0x34,	0x0706,	0},	
	{0x35,	0x0206,	0},	
	{0x36,	0x0507,	0},	
	{0x37,	0x0304,	0},	
	{0x38,	0x0600,	0},
	{0x40,	0x0000,	0},	
	{0x42,	0x9f00,	0},	
	{0x43,	0x0000,	0},	
	{0x44,	0x7f00,	0},	
	{0x45,	0x9f00,	0},	
	{0x6c,	0x0001,	0},	

// display off status
	//{0x07,	0x0032,	80},	
	//{0x07,	0x0022,	80},	
	//{0x07,	0x0000,	80},	
//display on sequence
     	{0x07,	0x0001,	80},	
	{0x07,	0x0021,	0},	
	{0x07,	0x0023,	80},	
	{0x07,	0x0037,	80},	

	{0x21,	0x0000,	0},	
	#else//lts182qq
	//POWER setting sequence
	{0x11,	0x1f1e,	0},
	{0x38,0x0f0f,0},
	{0x12,	0x0001,	0},	
	{0x13,	0x0808,	0},
	{0x14,	0x311a,	0},	
	{0x10,	0x1a10,	80},	
	{0x13,	0x081b,	400},
	//initializing sequence 	
	{0x01,	0x090c,	0},
	{0x02,	0x0200,	0},	
	{0x03,	0x1030,	0},
	{0x07,	0x0005,	0},	
	{0x08,	0x0202,	0},
	{0x0b,	0x0006,	0},	
	{0x0c,	0x0000,	0},
	{0x30,	0x0606,	0},	
	{0x31,	0x0606,	0},	
	{0x32,	0x0305,	0},	
	{0x33,	0x0002,	0},	
	{0x34,	0x0503,	0},	
	{0x35,	0x0606,	0},	
	{0x36,	0x0606,	0},	
	{0x37,	0x0200,	0},	
	{0x11,	0x1f1e,	0},	
	{0x38,	0x0f0f,	0},
	{0x40,	0x0000,	0},	
	{0x42,	0x9f00,	0},	
	{0x43,	0x0000,	0},	
	{0x44,	0x7f00,	0},	
	{0x45,	0x9f00,	0},	
	{0x6f,	0x1d00,	0},
	{0x70,	0x0003,	0},


// display off status
	//{0x07,	0x0032,	80},	
	//{0x07,	0x0022,	80},	
	//{0x07,	0x0000,	80},	
//display on sequence
     	{0x07,	0x0001,	80},	
	{0x07,	0x0021,	0},	
	{0x07,	0x0023,	80},	
	{0x07,	0x0037,	80},	

	{0x21,	0x0000,	0},	
	#endif
	
};
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif



#if XiKe_UPD161690
/*******************************************************
			driver ic			bias				size 
mainpanel:   UPD161690_8BIT		(0x0,0x0)		128*160
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		V5_BySetRSHigh((UINT8)val);
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow((UINT8)adr);
		return;
	}
	V5_BySetRSLow((UINT8)adr);
	V5_BySetRSHigh((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
	#if 0
	{0x20,	0x01,	50},
		
	{0x02,	0x01,	50},

	{0x20,	0x08,	20},
	
	{0x20,	0x0F,	20},//0x0f
	{0x00,    0x00,      20},
	{0x01,    0x20,      20},

	{0x06,	0x00,	20},
	{0x25,    0x02,      20},//0
	
	{0x00,	0x40,	20},
	{0x03,    0x00,      20},
	{0x05,	0x00,	20},
#else
	{0x21,	0x20,	2},	
	{0x02,	0x01,	2},
	{0x20,	0x01,	2},
	{0x20,	0x03,	2},	
	{0x20,	0x07,	2},	
	{0x20,	0x0f,	2},//0x0f

	{0x21,	0x21,	2},	
	{0x21,	0x23,	2},	
	{0x21,	0x27,	2},	
	
	{0x24,	0xf7,	2},	//c1
	{0x25,	0x50,	2},	//f3
	{0x26,	0x01,	2},	//
	{0x29,	0x30,	2},	//30

	
	{0x00,    0x00,      20},
	{0x01,    0x20,      2},

	{0x06,	0x00,	2},//
	//{0x25,    0x00,      2},//0
	
	{0x00,	0x40,	2},
	{0x03,    0x00,      2},
	{0x05,	0x00,	2},
      
	#endif
	
};
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif


#if Demo_Truly_GG3216UTSW
/*******************************************************
			driver ic			bias				size 
mainpanel:   S6D0110	   		(0x0,0x0)			128*160
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		V5_BySetRSHigh((UINT16)val);
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow((UINT16)adr);
		return;
	}
	V5_BySetRSLow((UINT16)adr);
	V5_BySetRSHigh((UINT16)val);
}
const LCDReg gMPanel_powon[] =
{

{0x0000,0x0001,20},
{0x0007,0x0104,20},
{0x000D,0x0206,20}, //0x0202
{0x000E,0x0A19,20},
    
{0x0001,0x0113,20},            
{0x0002,0x0700,20},
{0x0005,0x1230,20},
          
{0x000B,0x4000,20},
      
{0x000C,0x0000,20},
{0x0003,0x0008,20},
{0x0004,0x0000,20},
{0x000E,0x2c19,20}, //0x2c19
{0x000D,0x0212,20},//0x0212
       
    
{0x0030,0x0505,20},//
{0x0031,0x0505,20},
{0x0032,0x0505,20},
{0x0033,0x0205,20},
{0x0034,0x0202,20},
{0x0035,0x0202,20},
{0x0036,0x0202,20},
{0x0037,0x0502,20},
{0x003A,0x0005,20},
{0x003B,0x0000,20},

/* CUSTOME code ,also samsung recommend,have verticol lines in black pattern
{0x0030,0x0700,20},//
{0x0031,0x0007,20},
{0x0032,0x0000,20},
{0x0033,0x0100,20},
{0x0034,0x0707,20},
{0x0035,0x0007,20},
{0x0036,0x0700,20},
{0x0037,0x0001,20},
{0x003A,0x1800,20},
{0x003B,0x0007,20},
*/
{0x000F,0x0000,20},
{0x0011,0x0000,20},
{0x0014,0x5C00,20},
{0x0015,0x9F5D,20},
{0x0016,0x7F00,20},
{0x0017,0x9F00,20},
{0x0004,0x8000,20}, //0x8000 LG TFT MUST BE 0x8000
     
{0x0007,0x0105,20},

{0x0007,0x0125,20},
{0x0007,0x0127,20},
{0x0007,0x0137,20},
{0x0021,0x0000,20},

 };
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif

#if BIRDSM11_S1D19111
/*******************************************************
			driver ic						bias				size 
mainpanel:    S1D19111_8BIT				(0x0,0x0)		         176*220
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		V5_BySetRSHigh((UINT8)val);
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow((UINT8)adr);
		return;
	}
	V5_BySetRSLow((UINT8)adr);
	V5_BySetRSHigh((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
	{0x96,  0xffff,	10},//VOSC ON
	{0x99,  0xffff,	10},
	
      {0x31,  0x00,	0},//display interface set
      {0xffff,  0x00,	0},
      
      {0x6f,  0x00,	0},//gate line scan
	
	
 	{0xbc,  0x0000,	0},//data set
 	
 	{0xca,  0x4a,	0},//display set 0x42
	{0xffff,  0x00,	0},	
    	{0xffff,  0xdb,	0},	
    	{0xffff,  0x00,	0},	
    	{0xffff,  0x00,	0},	
    	{0xffff,  0x00,	0},	
    	

	{0xa1,  0x01,	0},	//display time set
	{0xffff,  0x41,	0},	
	{0xffff,  0x03,	0},	
	{0xffff,  0x3f,	0},	
	{0xffff,  0x20,	0},	
	{0xffff,  0x00,	0},	
	
	

	{0x21,  0x01,	0},	//power control set
	{0xffff,  0x24,	0},	
	{0xffff,  0x0f,	0},	
	{0xffff,  0x00,	0},	
	{0xffff,  0x33,	0},	
	{0xffff,  0x11,	0},	
	{0xffff,  0xfb,	0},	
	{0xffff,  0x00,	0},	
	{0xffff,  0x00,	0},	
	{0xffff,  0x22,	0},	
	{0xffff,  0x33,	0},	
	{0xffff,  0x11,	0},	
    	{0xffff,  0x44,	0},	

	{0x23,  0x33,	0},	//partial power set
	{0xffff,  0xfb,	0},
    	{0xffff,  0x00,	0},
  	{0xffff,  0x00,	0},
  	{0xffff,  0x44,	0},

	{0x24,  0x33,	0},	//partial power set
	{0xffff,  0x00,	0},
    	{0xffff,  0x00,	0},
  	{0xffff,  0x11,	0},
  	{0xffff,  0x44,	0},
  	
	{0x8c,  0x00,	0},	//ac operation drive line inversion
		
    	{0x8b,  0x00,	0},	//display mide set
    	{0xab,  0x00,	0},
	{0xa9,  0xffff,	0},//partial display out

	{0x20,  0x1b,	0},	//gamma correction set
	{0xffff,  0x00,	0},
    	{0xffff,  0x16,	0},
  	{0xffff,  0x10,	0},
  	{0xffff,  0x00,	0},
  	{0xffff,  0x16,	0},
	{0xffff,  0x00,	0},

	{0xff,  0x00,	0},	
	{0xffff,  0x00,	0},
    	{0xffff,  0x00,	0},
    	{0xffff,  0x11,	0},

	 {0x22,  0x03,	0},	//gamma correction set
	{0xffff,  0x41,	0},
    	{0xffff,  0x15,	0},
  	{0xffff,  0x2a,	0},
  	{0xffff,  0x37,	0},
  	{0xffff,  0x07,	0},

	 {0x25,  0x03,	0},	
	{0xffff,  0x41,	0},
    	{0xffff,  0x15,	0},
  	{0xffff,  0x2a,	0},
  	{0xffff,  0x37,	0},
  	{0xffff,  0x07,	0},
    
	{0x94,  0xffff,	60},//sleep out

	

	{0x15,  0x00,	0},//start address set
    	{0xffff,  0x00,	0},

	{0x75,  0xaf,	0},//end address set
    	{0xffff,  0xdb,	0},
    	
    	{0xaf,  0xffff,	0},//display on     
	
    	 //{0x5c00,  0x0000,	10},//end address set
};
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif

#if TRULY_DEMO_LCD
/*******************************************************
   driver ic    bias    size 
mainpanel:S1D19102+S1D17D01  (0x0,0x0)  240*320
********************************************************/
void  MLcdSetReg(int adr,int val)
{
 if(adr==0xffff)
 {
  V5_BySetRSHigh((UINT16)val<<8);
  return;

⌨️ 快捷键说明

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