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

📄 panel.c

📁 中芯微VC0528测试程序
💻 C
📖 第 1 页 / 共 5 页
字号:
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow((UINT16)adr);
		return;
	}
	V5_BySetRSLow((UINT16)adr);
	V5_BySetRSHigh((UINT16)val);
}                                           
const LCDReg gMPanel_powon[] =
{
	{0x0111,	0x0474,	0},
	{0x0110,	0x0101,	20},
	{0x0111,	0x02de,	0},
	{0x0110,	0x0102,	20},
	{0x0111,	0x0c74,	0},
	{0x0110,	0x0101,	20},
	{0x0050,	0x0100,	20},
	{0x0111,	0x080c,	0},
	{0x0110,	0x0100,	20},
	{0x0111,	0x029b,	0},
	{0x0110,	0x0102,	20},
	{0x0111,	0x04d1,	0},
	{0x0110,	0x0101,	20},
	{0x0111,	0x04e4,	0},
	{0x0110,	0x0101,	20},
	{0x0111,	0x0008,	0},
	{0x0110,	0x0103,	20},
	{0x0111,	0x06c0,	0},
	{0x0110,	0x0106,	20},
	{0x0111,	0x0c0a,	0},
	{0x0110,	0x0100,	20},
	{0x100,	0x0110,	20},
	{0x0007,	0x0001,	20},
	{0x0007,	0x0012,	20},
	{0x0111,	0x0c08,	0},
	{0x0110,	0x0001,	20},
	{0x0007,	0x0013,	20},
	{0x0007,	0x0113,	20},
	{0x0001,	0x0100,	20},
	{0x0002,	0x0700,	20},
	//{0x0003,	0x1130,	20},
	{0x0003,	0x1130,	20},
	{0x0004,	0x0000,	20},
	{0x0005,	0x0000,	20},
	{0x0008,	0x0f03,	20},
	{0x0009,	0x142c,	20},
	{0x000B,	0x0008,	20},
	{0x000C,	0x0001,	20},
	{0x000D,	0x0010,	20},
	{0x000e,	0x0210,	20},
	{0x000f,	0x0000,	20},
	{0x0010,	0x0000,	20},
	{0x0011,	0x0000,	20},
	{0x0012,	0x0002,	20},
	{0x0013,	0x0000,	20},
	{0x0015,	0x0300,	20},
	{0x0016,	0x0440,	20},
	{0x0017,	0x0000,	20},
	{0x0018,	0x0007,	20},
	{0x0019,	0x0000,	20},
	{0x001b,	0x0300,	20},
	{0x0200,	0x0000,	20},
	{0x0201,	0x0000,	20},
	{0x0210,	0x0000,	20},
	{0x0211,	0x00ef,	20},
	{0x0212,	0x0000,	20},
	{0x0213,	0x013f,	20},
	{0x0400,	0x0027,	20},
	{0x0401,	0x0001,	20},
	{0x0402,	0x0000,	20},
	{0x0403,	0x013f,	20},
	{0x0404,	0x0000,	20},
	{0x0405,	0x0000,	20},
	{0x0406,	0x0000,	20},
	{0x0304,	0x1409,	20},
	{0x0309,	0x0602,	20},
	{0x0300,	0x0003,	20},
	{0x0301,	0x4000,	20},
	{0x0302,	0x0407,	20},
	{0x0303,	0x0305,	20},
	{0x0305,	0x0704,	20},
	{0x0306,	0x0407,	20},
	{0x0307,	0x0503,	20},
	{0x202,	0xffff,	20}
};
LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif
#if V5_DEF_HISENSE_TFT_128160
/*******************************************************
			driver ic		bias				size 
mainpanel:S6D0110A		(0x0,0x0)		128*160
subpanel:  SSD1773		(0X0,0X0)		96*64
********************************************************/
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((UINT8)adr);
		return;
	}
	V5_BySetRSLow((UINT16)adr>>8);
	V5_BySetRSLow((UINT8)adr);
	V5_BySetRSHigh((UINT16)val>>8);
	V5_BySetRSHigh((UINT8)val);
}                                           
const LCDReg gMPanel_powon[] =
{
  {0x0007,0x0104,0},
  {0x000D,0x0202,0},
  {0x000E,0x0e19,10},
  {0x0001,0x0213,0},//0x213
  {0x0002,0x0400,0},
  {0x0005,0x1030,0},
  {0x0006,0x0000,0},
  {0x000B,0x0001,0},
  {0x000C,0x0003,0},
  {0x0003,0x0008,0},
  {0x0004,0x8000,10},
  {0x000D,0x0318,0},
  {0x000E,0x2a19,10},

  {0x0030,0x0700,0},
  {0x0031,0x0007,0},
  {0x0032,0x0000,0},
  {0x0033,0x0100,0},
  {0x0034,0x0707,0},
  {0x0035,0x0007,0},
  {0x0036,0x0700,0},
  {0x0037,0x0007,0},
  {0x000F,0x0000,0},
  {0x0011,0x0000,0},
  {0x0014,0x5C00,0},
  {0x0015,0x9F5D,0},
  {0x0016,0x7f00,0},
  {0x0017,0x9F00,0},
  {0x003A,0x0300,0},
  {0x003B,0x0301,40},
  
  {0x0007,0x0105,10},
  {0x0007,0x0125,0},
  {0x0007,0x0127,10},
  {0x0007,0x0137,0},
  {0x0021,0x0000,0}

};
LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
void  SLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		*(volatile UINT8*)(0x8000200)=(UINT8)val;
		return;
	}	
	if(val==0xffff)
	{
		*(volatile UINT8*)(0x8000000)=(UINT8)adr;
		return;
	}
	*(volatile UINT8*)(0x8000000)=(UINT8)adr;
	*(volatile UINT8*)(0x8000200)=(UINT8)val;
}
const LCDReg gSPanel_powon[] =
{
	{0xae,	0xffff,	10},
	{0xd1,  	0xffff,   0},//osc enable
	{0x94,	0xffff,	0},//exuit sleep

	{0xca,	0,		0},
	{0xffff,	0x0,		0},
	{0xffff,	0,		0},

	{0xbb,	0x1,		0},

	{0xbc,	0x0,		0},
	{0xffff,	0x0,		0},
	{0xffff,	0x00,	0},
	{0x20,    0xf,		20},

	{0x81,  0x20,   0},
	{0xffff,	6,    0},

	{0xf2,	0x0a,	0},
	{0xffff, 0x1a,	0},

	{0xf0,	0x08,	0},
	{0xffff, 0x01,	0},
	
	{0xfb,	0x04,	0},

	{0xf7,	0x28,	0},
	{0xffff,	0x2e,	0},
	{0xffff,	0x5,0},
	
	{0xa2,	0xffff,	0},
	{0xa7,	0xffff,	0},
	{0xaf,	0xffff,	0},

	{0x15,	0x0,		0},
	{0xffff,	0x5f,	0},
	{0x75,	0,		0},
	{0xffff,	0x3f,	0}
};
 LCDParm SLcdParm =
{
	{ sizeof(gSPanel_powon) / sizeof(LCDReg), (PLCDReg)&gSPanel_powon },			//power on
	{0,	NULL},			//stand by
	{ 0, NULL },			
	{ 0, NULL },			
 };
#endif
#if SHARP_UPD161801_24
/*******************************************************
			driver ic			              bias				size 
mainpanel:uPD161801+uPD161861_16BIT     	(0x0,0x0)		240X320
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	if(adr==0xffff)
	{
		V5_BySetRSLow(val);
		return;
	}	
	if(val==0xffff)
	{
		V5_BySetRSLow(adr);
		return;
	}
	V5_BySetRSLow(adr);
	V5_BySetRSLow(val);
}
const LCDReg gMPanel_powon[] =
{
	{0x0200,  0xffff, 0},
	{0x0301,  0xffff,	0},
	
	{0x4101,  0xffff,  5},//250us
	
	{0x0040,	0xffff,	0},//{0x0040,	0xffff,	0},
	
	{0x4e20,	0xffff,	200},//10MS
	{0x4e60,	0xffff,	0},
	
	{0x0100,	0xffff,	1},//51us
	{0x2201,	0xffff,	1},//51us
	{0x2200,	0xffff,	334},//16.7ms
	
	{0x0102,	0xffff,	0},
	{0x2757,	0xffff,	5},//250us
	
	{0x2860,	0xffff,	5},//250us
	{0x2967,	0xffff,	5},//250us

	{0x2a00,	0xffff,	5},//250us
	
	{0x3c00,	0xffff,	5},//250us
	{0x3d01,	0xffff,	5},//250us
	{0x3e59,	0xffff,	5},//250us

	{0x3f87,	0xffff,	5},//250us
	
	{0x402f,	0xffff,	5},//250us

	
	{0x4b03,	0xffff,	0},
	{0x4c01,	0xffff,	0},
	{0x4f04,	0xffff,	0},
	{0x5026,	0xffff,	0},
	{0x5319,	0xffff,	0},
	{0x5422,	0xffff,	0},
	{0x550f,	0xffff,	0},
	{0x5618,	0xffff,	0},
	{0x5705,0xffff,	0},
	{0x580e,	0xffff,	0},
	
	{0x34b0,	0xffff,	0},
	{0x3006,	0xffff,	0},
	{0x3500,	0xffff,	0},
	{0x3170,	0xffff,	0},
	{0x3377,	0xffff,	0},
	{0x3277,	0xffff,	0},
	{0x3777,	0xffff,	0},
	{0x3604,	0xffff,	0},

	{0x0500,	0xffff,	0},	//{0x0500,	0xffff,	0 
						//r5:D7 DTX1 The data bus of the display data at the time of 16-bit parallel data transfer inputted is set.
						//DTX1 = L: 1-pixel/16-bit mode
						//DTX1 = H: 1-pixel/18-bit mode
	{0x0600,	0x0000,	0},
	{0x0700,	0x0000,	0},

	{0x4d10,	0xffff,	0},
	{0x26ef,	0xffff,	200},

	{0x4d00,	0xffff,	0},
	{0x5d18,	0xffff,	340},
	
	{0x0112,	0xffff,	0},//{0x0112,	0xffff,	0}
	{0x3d05,	0xffff,	5},
	
	{0x4d28,	0xffff,	0},//0x4d28
	{0x5df8,	0xffff,	1800},
	
	{0x3d07,	0xffff,	5},
	{0x0000,	0xffff,	0}
	
	
};
 LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif
#if V5_DEF_TOSHIBA_LTM018A
/*******************************************************
			driver ic		bias				size 
mainpanel:LTM018A		(0x0,0x0)		128*160
********************************************************/
void  MLcdSetReg(int adr,int val)
{
	adr <<= 8;
	adr |= val & 0xff;
	V5_BySetRSLow((UINT16)adr);
}
const TReg gMPanel_powon[] =
{
	{0x82,	0x3f,	0},
	{0x70,	0x84,	0},
	{0x74,	0x0d,	10},

	{0x73,	0xb,	0},
	{0x79,	0x47,	0},
	{0x71,	0x11,	10},
	{0x75,	0x0,	0},
	{0x76,	0x18,	0},
	{0x71,	0x21,	10},
	{0x70,	0xf4,	0},

	{0x72,	0xa1,	0},
	{0x71,	0x01,	50},
	{0x70,	0xc8,	0},
	{0x71,	0x21,	10},
	{0x20,	0x3,	0},
	{0x71,	0x41,	10},
	{0x21,	0x2a,	0},
	{0x26,	0x82,	0},

	{0x27,	0x1,	0},
	{0x22,	0x0,	0},
	{0x23,	0xb,	0},
	{0x24,	0x1,	0},
	{0x25,	0x0,	0},
	{0x12,	0x0,	0},
	{0x1e,	0xb,	0},
	{0x1f,	0x46,	0},
	{0x14,	0x0,	0},
	{0x10,	0x1,	15},
	{0x10,	0x0,	0},
	{0xd,	0x1,	0},
	{0x0,	0x0,	0},
	{0x1,	0x7,	0},
	{0x2,	0x0,	0},
	{0x3,	0x0,	0},
	{0x4,	0x7f,	0},
	{0x5,	0x9f,	0},
	{0x6,	0xff,	0},
	{0x7,	0xff,	0},
	{0x8,	0xff,	0},
	{0x9,	0xff,	0},
	{0xa,	0x0,	0},
	{0xb,	0x0,	0},
	{0xc,	0x0,	0},
	{0x15,	0x0,	0},
	{0x11,	0x0,	10},
	{0x10,	0x2,	0},

	{0x31,	0x77,	0},
	{0x32,	0x77,	0},
	{0x33,	0x77,	0},
	{0x34,	0x77,	0},
	{0x35,	0x77,	0},
	{0x36,	0x77,	0},
	{0x37,	0x77,	0},
	{0x38,	0x77,	0},
	{0x39,	0x77,	0},
	{0x3a,	0x77,	0},
	{0x3b,	0x77,	0},
	{0x3c,	0x77,	0},
	{0x3d,	0x77,	0},
	{0x3e,	0x77,	0},
	{0x3f,	0x77,	0},
	{0x40,	0x77,	0},
	{0x41,	0x77,	0},
	{0x42,	0x77,	0},
	{0x43,	0x77,	0},
	{0x44,	0x77,	0},
	{0x45,	0x77,	0},
	{0x46,	0x77,	0},
	{0x47,	0x77,	0},
	{0x48,	0x77,	0},
	{0x49,	0x77,	0},
	{0x4a,	0x77,	0},
	{0x4b,	0x77,	0},
	{0x4c,	0x77,	0},
	{0x4d,	0x77,	0},
	{0x4e,	0x77,	0},
	{0x4f,	0x77,	0},
	{0x50,	0x77,	0},
	{0x51,	0x77,	0},
	{0x52,	0x77,	0},
	{0x53,	0x77,	0},
	{0x54,	0x77,	0},
	{0x55,	0x77,	0},
	{0x56,	0x77,	0},
	{0x57,	0x77,	0},
	{0x58,	0x77,	0},
	{0x59,	0x77,	0},
	{0x5a,	0x77,	0},
	{0x5b,	0x77,	0},
	{0x5c,	0x77,	0},
	{0x5d,	0x77,	0},
	{0x5e,	0x77,	0},
	{0x5f,	0x77,	0},
	{0x60,	0x77,	0},
	{0x61,	0x77,	0},
	{0x62,	0x77,	0},
	{0x63,	0x77,	0},
	{0x64,	0x77,	0},
	{0x65,	0x77,	0},
	{0x66,	0x77,	0},
	{0x67,	0x77,	0},
	{0x68,	0x77,	0},
	{0x69,	0x77,	0},
	{0x6a,	0x77,	0},
	{0x6b,	0x77,	0},
	{0x6c,	0x77,	0},
	{0x6d,	0x77,	0},
	{0x6e,	0x77,	0}
};
LCDParm MLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon},			//power on
	{ 0, NULL },
	{ 0, NULL },			
	{ 0, NULL },			
 };
LcdSetReg  SLcdSetReg =NULL;
#endif

#if  BIRD_SM07_S6D0118_SSD1332
/*******************************************************
			driver ic			bias				size 
mainpanel:S6D0118_8bit		(0x0,0x0)			176*230
subpanel:  SSD1332_8BIT		(0X0,0X0)		96*64
********************************************************/
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[] =
{
  {0x0011,0x2803,	0},
  {0x0014,0x402a,	0},
  {0x0010,0x2480,	0},
  {0x0013,0x0040,	55},
  {0x0013,0x0060,	55},
  {0x0013,0x0070,	200},
  {0x0001,0x061d,0},
  {0x0002,0x0700,0},//0d00/0500
  {0x0003,0x1030,0},
  {0x0007,0x0016,0},
  {0x0008,0x0808,0},
  {0x0009,0x0000,0},
  {0x000b,0x0000,0},
  {0x000c,0x0000,0},
  {0x0030,0x0000,0},
  {0x0031,0x0000,0},
  {0x0032,0x0303,0},
  {0x0033,0x0000,0},
  {0x0034,0x0404,0},
  {0x0035,0x0707,0},
  {0x0036,0x0707,0},
  {0x0037,0x0000,0},
  {0x0038,0x0404,0},
  {0x0039,0x0006,0},
  {0x0042,0xe50a,0},
  {0x0043,0x0000,0},
  {0x0044,0xaf00,0},
  {0x0045,0xe50a,0},
  {0x0021,0x0a00,0},
  {0x0022,0xffff,40},
  {0x0007,0x0014,0},
  {0x0007,0x0016,50},
  {0x0007,0x0017,10},


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





void  SLcdSetReg(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 gSPanel_powon[] =
{
		{0xae,  0xffff,	10}, //Set Display off
		{0xad,  0xffff,	10},//Set Master configuration
		{0x8e,  0xffff,	10},//64 Row setting
		{0x3f,  0xffff,	10},
		{0xa1,  0xffff,	10},//Set Display start line
		{0x00,  0xffff,	10},
		{0xa2,  0xffff,	10},//Set Display offset
		{0x00,  0xffff,	10},
		{0xa0,  0xffff,	10},//Set Display re-map (65K COLOR)
		{0x72,  0xffff,	10},//0x60-->
		{0x87,  0xffff,	10}, //Master current control
		{0x06,  0xffff,	10},//(06 for normal brightness;0C for high brightness)
		{0x81,  0xffff,	10}, //Set Color Blue contrast control
		{0x80,  0xffff,	10},
		{0x82,  0xffff,	10},//Set Color Green contrast control
		{0x80,  0xffff,	10},
		{0x83,  0xffff,	10},//Set Color Red contrast control
		{0x80,  0xffff,	10},
		{0xa4,  0xffff,	10}, //Normal Display
		{0xb1,  0xffff,	10}, //Set phase Length
		{0x11,  0xffff,	10},
		{0xbb,  0xffff,	10},//Set Precharge
		{0x00,  0xffff,	10},
		{0xbb,  0xffff,	10},//Set Precharge
		{0x00,  0xffff,	10},
		{0xbc,  0xffff,	10},//Set Precharge
		{0x00,  0xffff,	10},
		{0xbd,  0xffff,	10},//Set Precharge
		{0x00,  0xffff,	10},
		{0xb0,  0xffff,	10},//Power saving mode off
		{0x00,  0xffff,	10},
		{0xaf,  0xffff,	10},
};
 LCDParm SLcdParm =
{
	{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon },			//power on
	{0,	NULL},			//stand by
	{ 0, NULL },			
	{ 0, NULL },			
 };
 #endif
 
#if DONXIN_HX8310
/*******************************************************
			driver ic						bias				size 
mainpanel:Hx8301 HD66773_16				(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, 1,		10},
// initial function 1

⌨️ 快捷键说明

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