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

📄 displaylib.c

📁 三星2443芯片
💻 C
📖 第 1 页 / 共 5 页
字号:
	Delay(1);
	DISP_CMD_OUT(0x46ef);
	Delay(1);
	DISP_CMD_OUT(0x4700);
	Delay(1);
	DISP_CMD_OUT(0x4800);
	Delay(1);
	DISP_CMD_OUT(0x4901);
	Delay(1);
	DISP_CMD_OUT(0x4a3f);
	Delay(1);
	DISP_CMD_OUT(0x3c00);
	Delay(1);
	DISP_CMD_OUT(0x3d00);
	Delay(1);
	DISP_CMD_OUT(0x3e01);
	Delay(1);
	DISP_CMD_OUT(0x3f3f);
	Delay(1);
//	DISP_CMD_OUT(0x4001);
	DISP_CMD_OUT(0x4003);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x410a);
//	Delay(1);
//	DISP_CMD_OUT(0x8f05);

	Delay(400);	

	//Initializing funtion5
	DISP_CMD_OUT(0x8f00);  //?????
	Delay(1);							
	DISP_CMD_OUT(0x903f);
	Delay(1);
	DISP_CMD_OUT(0x9133);
	Delay(1);
	DISP_CMD_OUT(0x9277);
	Delay(1);
	DISP_CMD_OUT(0x9377);
	Delay(1);
	DISP_CMD_OUT(0x9417);
	Delay(1);
	DISP_CMD_OUT(0x9500);
	Delay(1);
	DISP_CMD_OUT(0x9600);
	Delay(1);
	DISP_CMD_OUT(0x9733);
	Delay(1);
	DISP_CMD_OUT(0x9877);
	Delay(1);
	DISP_CMD_OUT(0x9977);
	Delay(1);
	DISP_CMD_OUT(0x9a17);
	Delay(1);
	DISP_CMD_OUT(0x9b00);
	Delay(1);
	DISP_CMD_OUT(0x9c00);
	Delay(1);
	DISP_CMD_OUT(0x9d80);

	Delay(400);
//	DISP_CMD_OUT(0x1d0f);

	//Power Setting2
	DISP_CMD_OUT(0x1d08);
	Delay(400);	
	DISP_CMD_OUT(0x2300);
	Delay(5);
	DISP_CMD_OUT(0x2494);
	Delay(5);
	DISP_CMD_OUT(0x256f);	

	Delay(400);					// 40ms


	//Power Setting3
//	DISP_CMD_OUT(0x281e);
	DISP_CMD_OUT(0x2810);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x1a00);
	Delay(1);
	DISP_CMD_OUT(0x2110);
	Delay(1);
	DISP_CMD_OUT(0x1825);

	Delay(400);	
	
//	DISP_CMD_OUT(0x1948);
	DISP_CMD_OUT(0x1994);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x18e5);

	Delay(334);					//5ms
	
	DISP_CMD_OUT(0x18f7);

	Delay(400);	
	
//	DISP_CMD_OUT(0x1b07);
	DISP_CMD_OUT(0x1b09);							//modified by kwan. letter

	Delay(400);					//40ms
	
//	DISP_CMD_OUT(0x1f5a);
//	DISP_CMD_OUT(0x2054);
	DISP_CMD_OUT(0x1f78);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x2045);
	Delay(1);
	DISP_CMD_OUT(0x1ec1);

	Delay(400);
	
	DISP_CMD_OUT(0x2100);
	Delay(1);
	DISP_CMD_OUT(0x3b01);

	Delay(334);					//10ms
	
	DISP_CMD_OUT(0x0020);	
//	DISP_CMD_OUT(0x0201);
	
	Delay(400);					//40ms

	rSIFCCON0 |= (1<<1); // RS low
	rSIFCCON0 &= ~(1<<0); // command mode enable
	

}
#else
void InitLDI_LTS222_CPUIF(void)
{
	rGPCCON = 0x55555555;	// Output
	rGPCUDP = 0x55555555;	// Output
	
	rGPDCON = 0x55555555;	// Output

	rGPCDAT = 0xffff;
	rGPDDAT = 0xffff;

	//	LCD module reset
	rGPBDAT |= (1<<(LCD_nRESET));
	rGPBDAT &= ~(1<<(LCD_nRESET)); // goes to LOW
	//	delay about 5ms
	delayLoop(LCD_DELAY_1MS*10);	
	rGPBDAT |= (1<<(LCD_nRESET));  // goes to HIGH

	//	debug_continue = TRUE;
	debug_continue = FALSE;

	// delay about 10ms
	delayLoop(LCD_DELAY_1MS*10);	

	/*Main LCD */

	// Power Setting1	

	DISP_CMD_OUT(0x2201);
	Delay(1);					//50us  弥家啊 1 捞扼辑....					
	DISP_CMD_OUT(0x0301);
	Delay(42);					//5ms

	//Initializing Function1
	DISP_CMD_OUT(0x00a0);
	Delay(1);
	DISP_CMD_OUT(0x0110);
	Delay(1);
	DISP_CMD_OUT(0x0200);
	Delay(1);
	DISP_CMD_OUT(0x0510);
//	DISP_CMD_OUT(0x0500);	//boaz.kim, datasheet
	Delay(1);
	DISP_CMD_OUT(0x0d00);

	Delay(400); //boaz.kim			// 40 ms   40000us/120us = 333.33	     HCLK 20Mhz 扁霖


	//Initializing Function2									
	DISP_CMD_OUT(0x0e00);
	Delay(1);
//	DISP_CMD_OUT(0x0f00);
	DISP_CMD_OUT(0x0f01);
	Delay(1);
	DISP_CMD_OUT(0x1000);
	Delay(1);
	DISP_CMD_OUT(0x1100);
	Delay(1);
	DISP_CMD_OUT(0x1200);
	Delay(1);
	DISP_CMD_OUT(0x1300);
	Delay(1);
	DISP_CMD_OUT(0x1400);
	Delay(1);
	DISP_CMD_OUT(0x1500);
	Delay(1);
	DISP_CMD_OUT(0x1600);
	Delay(1);
	DISP_CMD_OUT(0x1700);
	Delay(1);
	DISP_CMD_OUT(0x3401);
	Delay(1);
	DISP_CMD_OUT(0x3500);

	Delay(400);					// 15 ms   15000us/120us = 120	     HCLK 20Mhz 扁霖

	//Initializing Function3
	DISP_CMD_OUT(0x8d01);
	Delay(1);
	DISP_CMD_OUT(0x8b28);
	Delay(1);
	DISP_CMD_OUT(0x4b00);
	Delay(1);
	DISP_CMD_OUT(0x4c00);
	Delay(1);
	DISP_CMD_OUT(0x4d00);
	Delay(1);
	DISP_CMD_OUT(0x4e00);
	Delay(1);
	DISP_CMD_OUT(0x4f00);
	Delay(1);
	DISP_CMD_OUT(0x5000);
	Delay(1);
	DISP_CMD_OUT(0x8600);
	Delay(1);
	DISP_CMD_OUT(0x8726);
	Delay(1);
	DISP_CMD_OUT(0x8802);
	Delay(1);
	DISP_CMD_OUT(0x8905);
	Delay(1);
	DISP_CMD_OUT(0x3301);
	Delay(1);
//	DISP_CMD_OUT(0x3706);
	DISP_CMD_OUT(0x3701);		//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x7600);
	
	Delay(400);					// 15 ms   15000us/120us = 120	     HCLK 20Mhz 扁霖

	//Initializaing Function4
	DISP_CMD_OUT(0x4200);
	Delay(1);
	DISP_CMD_OUT(0x4300);
	Delay(1);
	DISP_CMD_OUT(0x4400);	
	Delay(1);
	DISP_CMD_OUT(0x4500);
	Delay(1);
	DISP_CMD_OUT(0x46ef);
	Delay(1);
	DISP_CMD_OUT(0x4700);
	Delay(1);
	DISP_CMD_OUT(0x4800);
	Delay(1);
	DISP_CMD_OUT(0x4901);
	Delay(1);
	DISP_CMD_OUT(0x4a3f);
	Delay(1);
	DISP_CMD_OUT(0x3c00);
	Delay(1);
	DISP_CMD_OUT(0x3d00);
	Delay(1);
	DISP_CMD_OUT(0x3e01);
	Delay(1);
	DISP_CMD_OUT(0x3f3f);
	Delay(1);
//	DISP_CMD_OUT(0x4001);
	DISP_CMD_OUT(0x4003);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x410a);
//	Delay(1);
//	DISP_CMD_OUT(0x8f05);

	Delay(400);	

	//Initializing funtion5
	DISP_CMD_OUT(0x8f00);  //?????
	Delay(1);							
	DISP_CMD_OUT(0x903f);
	Delay(1);
	DISP_CMD_OUT(0x9133);
	Delay(1);
	DISP_CMD_OUT(0x9277);
	Delay(1);
	DISP_CMD_OUT(0x9377);
	Delay(1);
	DISP_CMD_OUT(0x9417);
	Delay(1);
	DISP_CMD_OUT(0x9500);
	Delay(1);
	DISP_CMD_OUT(0x9600);
	Delay(1);
	DISP_CMD_OUT(0x9733);
	Delay(1);
	DISP_CMD_OUT(0x9877);
	Delay(1);
	DISP_CMD_OUT(0x9977);
	Delay(1);
	DISP_CMD_OUT(0x9a17);
	Delay(1);
	DISP_CMD_OUT(0x9b00);
	Delay(1);
	DISP_CMD_OUT(0x9c00);
	Delay(1);
	DISP_CMD_OUT(0x9d80);

	Delay(400);
//	DISP_CMD_OUT(0x1d0f);

	//Power Setting2
	DISP_CMD_OUT(0x1d08);
	Delay(400);	
	DISP_CMD_OUT(0x2300);
	Delay(5);
	DISP_CMD_OUT(0x2494);
	Delay(5);
	DISP_CMD_OUT(0x256f);	

	Delay(400);					// 40ms


	//Power Setting3
//	DISP_CMD_OUT(0x281e);
	DISP_CMD_OUT(0x2810);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x1a00);
	Delay(1);
	DISP_CMD_OUT(0x2110);
	Delay(1);
	DISP_CMD_OUT(0x1825);

	Delay(400);	
	
//	DISP_CMD_OUT(0x1948);
	DISP_CMD_OUT(0x1994);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x18e5);

	Delay(334);					//5ms
	
	DISP_CMD_OUT(0x18f7);

	Delay(400);	
	
//	DISP_CMD_OUT(0x1b07);
	DISP_CMD_OUT(0x1b09);							//modified by kwan. letter

	Delay(400);					//40ms
	
//	DISP_CMD_OUT(0x1f5a);
//	DISP_CMD_OUT(0x2054);
	DISP_CMD_OUT(0x1f78);							//modified by kwan. letter
	Delay(1);
	DISP_CMD_OUT(0x2045);
	Delay(1);
	DISP_CMD_OUT(0x1ec1);

	Delay(400);
	
	DISP_CMD_OUT(0x2100);
	Delay(1);
	DISP_CMD_OUT(0x3b01);

	Delay(334);					//10ms
	
	DISP_CMD_OUT(0x0020);	
//	DISP_CMD_OUT(0x0201);
	
	Delay(400);					//40ms

	rGPCCON = 0xaaaaaaaa;	// LCD function
	rGPDCON = 0xaaaaaaaa;	// LCD function

}
#endif

void Write_LDI_LTS222(int address, int data)
{
    int     j;
	unsigned char DELAY=20;

	if(debug_continue)
	{
		Temp_forDebug(address,data);		
	}
	
	LCD_DEN_Hi; 		//	EN = High					CS high
	LCD_DCLK_Hi;							//	SCL High
	LCD_DSERI_Lo;							//	Data Low


	delayLoop(DELAY);

	LCD_DEN_Lo; 		//	EN = Low				CS Low
	delayLoop(DELAY);

	LCD_DCLK_Lo;							//	SCL Low

	delayLoop(DELAY);

	for (j = 7; j >= 0; j--)
	{

		if ((address >> j) & 0x0001)	// DATA HIGH or LOW
		{
			LCD_DSERI_Hi;		
		}
		else
		{
			LCD_DSERI_Lo;
		}

		delayLoop(DELAY);

		LCD_DCLK_Hi;			// CLOCK = High
		delayLoop(DELAY);

		if(j != 0)
		{
			LCD_DCLK_Lo;
			delayLoop(DELAY);			// CLOCK = Low
		}
	}

	LCD_DSERI_Lo;							// Data Low
	delayLoop(DELAY);

	LCD_DEN_Hi; 		//	EN = High
	delayLoop(DELAY);

	LCD_DEN_Lo; 		//	EN = Low
	delayLoop(DELAY);

	
	LCD_DCLK_Lo;
	delayLoop(DELAY);			// CLOCK = Low

	for (j = 7; j >= 0; j--)
	{

		if ((data >> j) & 0x0001)	// DATA HIGH or LOW
		{
			LCD_DSERI_Hi;	
		}
		else
		{
			LCD_DSERI_Lo;
		}
		
		delayLoop(DELAY);

		LCD_DCLK_Hi;			// CLOCK = High
		delayLoop(DELAY);

		if(j != 0)
		{
			LCD_DCLK_Lo;
			delayLoop(DELAY);			// CLOCK = Low
		}
	}

	LCD_DEN_Hi; 				// EN = High
	delayLoop(DELAY);

}

#define LTV350 (TRUE)

void InitLDI_LTV350(void)
{	
	// LCD module reset
	rGPBDAT |= (1<<(LCD_nRESET));
	rGPBDAT &= ~(1<<(LCD_nRESET)); // goes to LOW
	// delay about 5ms
	delayLoop(LCD_DELAY_1MS*10);	
	rGPBDAT |= (1<<(LCD_nRESET));  // goes to HIGH


	//debug_continue = TRUE;
	debug_continue = FALSE;

	//SET_CONFIG_PORT( spi1)
	rGPLCON &= ~(((3<<(LCD_DEN_BIT*2))) | ((3<<(LCD_DCLK_BIT*2))) | ((3<<(LCD_DSERI_BIT*2))));	
	rGPLCON |= (((1<<(LCD_DEN_BIT*2))

⌨️ 快捷键说明

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