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

📄 lcd.c

📁 mtk 6226 平台 液晶驱动程序源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
			LCD_set_reg(0x0010,0x0002);
	 	}
	 else if(g_CurLcdID == LCD_TIANMA_X)
	 	{
			LCD_set_reg(0x07, 0x0072);
			delayms(10);
			LCD_set_reg(0x07, 0x0001);
			delayms(10);

			LCD_set_reg(0x11, 0x0000);
			LCD_set_reg(0x12, 0x0000);
			LCD_set_reg(0x13, 0x0000);
			LCD_set_reg(0x07, 0x0000);
			LCD_set_reg(0x10, 0x0002);
	 	}
#if 1
	 else if(g_CurLcdID == LCD_JINGYUAN_D9320)
		{

		}else if(g_CurLcdID == LCD_SUONA_D0154)
		{

		}else if(g_CurLcdID == LCD_SUONA_HX8437)
		{
		       LCD_CtrlWrite_R61505U(0x0026);	
			LCD_DataWrite_R61505U(0x0038);
			delayms(80);
			LCD_CtrlWrite_R61505U(0x0026);	
			LCD_DataWrite_R61505U(0x0028);
			delayms(80);
			LCD_CtrlWrite_R61505U(0x0026);	
			LCD_DataWrite_R61505U(0x0000);
			LCD_CtrlWrite_R61505U(0x0043);	
			LCD_DataWrite_R61505U(0x0000);
			delayms(60);
			LCD_CtrlWrite_R61505U(0x001B);	
			LCD_DataWrite_R61505U(0x0000);
			delayms(40);
			LCD_CtrlWrite_R61505U(0x0010);	
			LCD_DataWrite_R61505U(0x0008);
			delayms(40);
			LCD_CtrlWrite_R61505U(0x001C);	
			LCD_DataWrite_R61505U(0x0000);
			delayms(40);
			LCD_CtrlWrite_R61505U(0x0090);	
			LCD_DataWrite_R61505U(0x0000);
			delayms(40);
			LCD_CtrlWrite_R61505U(0x001B);	
			LCD_DataWrite_R61505U(0x0009);
			delayms(40);
			LCD_CtrlWrite_R61505U(0x0019);	
			LCD_DataWrite_R61505U(0x0048);
		}
		else if(g_CurLcdID == LCD_XIANYU_D5408)
		{
			//display off  
			LCD_CtrlWrite_R61505U(0x0007);		// Display control on
			LCD_DataWrite_R61505U(0x0000);
			//power off
			LCD_CtrlWrite_R61505U(0x0013);	//power control 4
			LCD_DataWrite_R61505U(0x0000);	//set vdv4-0		 
			delayms(10);				

			LCD_CtrlWrite_R61505U(0x0029);	//power control 
			LCD_DataWrite_R61505U(0x0000);	// set vcm14-10
			delayms(60);				//delay 60 ms	 

			LCD_CtrlWrite_R61505U(0x0012);	 //power control 3
			LCD_DataWrite_R61505U(0x0000);	 //set vrh3-0 

			LCD_CtrlWrite_R61505U(0x0017);	//power control 5 
			LCD_DataWrite_R61505U(0x0000);	//set pse

			LCD_CtrlWrite_R61505U(0x0011);	//power control 2 
			LCD_DataWrite_R61505U(0x0000);	//set dc12-10,dc02-00 VC2-0  

			LCD_CtrlWrite_R61505U(0x0010);	 //power control 1
			LCD_DataWrite_R61505U(0x0000);	//set bt3-0,sap,ap
			delayms(10);

			//sleep in	
			LCD_CtrlWrite_R61505U(0x0010);		//power control 1
			LCD_DataWrite_R61505U(0x0002);		//set slp=1			 
		}
#endif
	#elif (defined(LCD_18BIT_MODE))
    	SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0036&0xFF00)<<2)|((0x0036&0xFF)<<1));
	LCD_SEND_DMA_CMD(2);
	LCD_Delay(0x1000);
	SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0026&0xFF00)<<2)|((0x0026&0xFF)<<1));
	LCD_SEND_DMA_CMD(2);
	SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0004&0xFF00)<<2)|((0x0004&0xFF)<<1));
	LCD_SEND_DMA_CMD(2);
	LCD_Delay(0x1000);
	SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0010&0xFF00)<<2)|((0x0010&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(1,LCD_DATA,((lcd_power_ctrl_shadow1&0xFF00)<<2)|((lcd_power_ctrl_shadow1&0xFF)<<1));
	LCD_SEND_DMA_CMD(2);
	LCD_Delay(0x8000);
	SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0012&0xFF00)<<2)|((0x0012&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(1,LCD_DATA,((lcd_power_ctrl_shadow3&0xFF00)<<2)|((lcd_power_ctrl_shadow3&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(2,LCD_CMD,((0x0013&0xFF00)<<2)|((0x0013&0xFF)<<1));
	SET_LCD_CMD_PARAMETER(3,LCD_DATA,((lcd_power_ctrl_shadow4&0xFF00)<<2)|((lcd_power_ctrl_shadow4&0xFF)<<1));
	LCD_SEND_DMA_CMD(4);
	LCD_Delay(0x1000);
	#endif
	#else
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0036);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0026);
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0004);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_R61505U(0x0010);
		LCD_DataWrite_R61505U(lcd_power_ctrl_shadow1);
		LCD_Delay(0x8000);
		LCD_CtrlWrite_R61505U(0x0012);
		LCD_DataWrite_R61505U(lcd_power_ctrl_shadow3);
		LCD_CtrlWrite_R61505U(0x0013);
		LCD_DataWrite_R61505U(lcd_power_ctrl_shadow4);
		LCD_Delay(0x1000);
	#endif

}

void LCD_ExitSleep_R61505U(void)
{

if(g_CurLcdID == LCD_GEHUA_D0139 || g_CurLcdID == LCD_JINGYUAN_D9320)	
{
 	return;		//lks
}
	#if (defined(LCD_CMD_DMA_MODE))
		#if (defined(LCD_8BIT_MODE))
		LCD_set_reg(0x0003,0x0000);
		LCD_Delay(25);
		LCD_set_reg(0x0003,0x0110);
		LCD_Delay(10);
		LCD_set_reg(0x0009,0x0006);
		LCD_Delay(10);
		LCD_set_reg(0x000D,0x0014);  
		LCD_Delay(50);
		LCD_set_reg(0x000E,0x101C);
		LCD_Delay(50);	
		LCD_set_reg(0x000E,0x301C);
		LCD_Delay(50);   
		LCD_set_reg(0x0007,0x0037);
		LCD_Delay(50);
		
		#elif (defined(LCD_9BIT_MODE))
		#elif (defined(LCD_16BIT_MODE))
		 if(g_CurLcdID == LCD_SUONA)
		 	{
				LCD_CtrlWrite_R61505U(0x0019);	
				LCD_DataWrite_R61505U(0x0049);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x001B);	
				LCD_DataWrite_R61505U(0x0008);
				LCD_CtrlWrite_R61505U(0x0020);	
				LCD_DataWrite_R61505U(0x0040);
				LCD_CtrlWrite_R61505U(0x001D);	
				LCD_DataWrite_R61505U(0x0007);
				LCD_CtrlWrite_R61505U(0x001E);	
				LCD_DataWrite_R61505U(0x0000);
				LCD_CtrlWrite_R61505U(0x001F);	
				LCD_DataWrite_R61505U(0x0004);
				LCD_CtrlWrite_R61505U(0x0044);	
				LCD_DataWrite_R61505U(0x004D);
				LCD_CtrlWrite_R61505U(0x0045);	
				LCD_DataWrite_R61505U(0x0011);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x001C);	
				LCD_DataWrite_R61505U(0x0004);
				delayms(80);
				LCD_CtrlWrite_R61505U(0x001B);	
				LCD_DataWrite_R61505U(0x0018);
				delayms(80);
				LCD_CtrlWrite_R61505U(0x001B);	
				LCD_DataWrite_R61505U(0x0010);
				delayms(60);
				LCD_CtrlWrite_R61505U(0x0043);	
				LCD_DataWrite_R61505U(0x0080);
				delayms(80);
				LCD_CtrlWrite_R61505U(0x0090);	
				LCD_DataWrite_R61505U(0x007F);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x0004);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x0024);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x002C);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x003C);
		 	}
		 else if(g_CurLcdID == LCD_SHENGDA_D9320)
		 	{
		 		LCD_set_reg(0x0010,0x0000);
				LCD_set_reg(0x0011,0x0007);
				LCD_set_reg(0x0012,0x0000);
				LCD_set_reg(0x0013,0x0000);
				delayms(200);//200
				LCD_set_reg(0x0010,0x17b0);
				LCD_set_reg(0x0011,0x0037);
				delayms(50);
				LCD_set_reg(0x0012,0x013c);
				delayms(50);
				LCD_set_reg(0x0013,0x1f00);
				delayms(50);
				LCD_set_reg(0x0029,0xffff);
				delayms(50);
				LCD_set_reg(0x0007,0x0173);
		 	}
		 else if(g_CurLcdID == LCD_TIANMA_X)
		 	{
				LCD_set_reg(0x10, 0x0000);
				LCD_set_reg(0x10, 0x0000);
				LCD_set_reg(0x17, 0x0001);
				delayms(20);

				LCD_set_reg(0x10, 0x13b0);
				LCD_set_reg(0x11, 0x0007);
				LCD_set_reg(0x12, 0x011b);
				LCD_set_reg(0x13, 0x0c00);
				LCD_set_reg(0x29, 0x0008);
				delayms(10);

				LCD_set_reg(0x12, 0x013e);
				delayms(10);

				LCD_set_reg(0x07, 0x0021);
				delayms(10);
				LCD_set_reg(0x07, 0x0061);
				delayms(10);
				LCD_set_reg(0x07, 0x0173);
				delayms(10);
		 	}
		 #if 1
			else if(g_CurLcdID == LCD_SUONA_D0154)
			{

			}else if(g_CurLcdID == LCD_SUONA_HX8437)
			{
				LCD_CtrlWrite_R61505U(0x0019);	
				LCD_DataWrite_R61505U(0x0049);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x001B);	
				LCD_DataWrite_R61505U(0x0008);
				LCD_CtrlWrite_R61505U(0x0020);	
				LCD_DataWrite_R61505U(0x0040);
				LCD_CtrlWrite_R61505U(0x001D);	
				LCD_DataWrite_R61505U(0x0007);
				LCD_CtrlWrite_R61505U(0x001E);	
				LCD_DataWrite_R61505U(0x0000);
				LCD_CtrlWrite_R61505U(0x001F);	
				LCD_DataWrite_R61505U(0x0004);
				LCD_CtrlWrite_R61505U(0x0044);	
				LCD_DataWrite_R61505U(0x004D);
				LCD_CtrlWrite_R61505U(0x0045);	
				LCD_DataWrite_R61505U(0x0011);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x001C);	
				LCD_DataWrite_R61505U(0x0004);
				delayms(80);
				LCD_CtrlWrite_R61505U(0x001B);	
				LCD_DataWrite_R61505U(0x0018);
				delayms(80);
				LCD_CtrlWrite_R61505U(0x001B);	
				LCD_DataWrite_R61505U(0x0010);
				delayms(60);
				LCD_CtrlWrite_R61505U(0x0043);	
				LCD_DataWrite_R61505U(0x0080);
				delayms(80);
				LCD_CtrlWrite_R61505U(0x0090);	
				LCD_DataWrite_R61505U(0x007F);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x0004);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x0024);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x002C);
				delayms(50);
				LCD_CtrlWrite_R61505U(0x0026);	
				LCD_DataWrite_R61505U(0x003C);
			}
			else if(g_CurLcdID == LCD_XIANYU_D5408)
			{
				//sleep out	
				LCD_CtrlWrite_R61505U(0x0010); 		//power control 1
				LCD_DataWrite_R61505U(0x0000);		//set slp=1   
				//power on  
				LCD_CtrlWrite_R61505U(0x0010); 	 //power control 1
				LCD_DataWrite_R61505U(0x10b0); 	//set bt3-0,sap,ap

				LCD_CtrlWrite_R61505U(0x0011); 	//power control 2 
				LCD_DataWrite_R61505U(0x0007);	//set dc12-10,dc02-00 VC2-0 
				delayms(10);

				LCD_CtrlWrite_R61505U(0x0017); 	//power control 5 
				LCD_DataWrite_R61505U(0x0001);	//set pse

				LCD_CtrlWrite_R61505U(0x0012); 	 //power control 3
				LCD_DataWrite_R61505U(0x01bd);	 //set vrh3-0

				LCD_CtrlWrite_R61505U(0x0013); 	//power control 4
				LCD_DataWrite_R61505U(0x1600); 	//set vdv4-0		 
				delayms(10);				

				LCD_CtrlWrite_R61505U(0x0029); 	//power control 
				LCD_DataWrite_R61505U(0x0015);	// set vcm14-10
				delayms(60);				//delay 60 ms       
				//end power on  
				//display on  
				LCD_CtrlWrite_R61505U(0x0007); 		// Display control on
				LCD_DataWrite_R61505U(0x0173);
				delayms(60);				//delay 100 ms
				//end display on	
			}
		#endif
		#elif (defined(LCD_18BIT_MODE))
		SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0012&0xFF00)<<2)|((0x0012&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(1,LCD_DATA,((lcd_power_ctrl_shadow3&0xFF00)<<2)|((lcd_power_ctrl_shadow3&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(2,LCD_CMD,((0x0013&0xFF00)<<2)|((0x0013&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(3,LCD_DATA,((lcd_power_ctrl_shadow4&0xFF00)<<2)|((lcd_power_ctrl_shadow4&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(4,LCD_CMD,((0x0010&0xFF00)<<2)|((0x0010&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(5,LCD_DATA,((lcd_power_ctrl_shadow1&0xFF00)<<2)|((lcd_power_ctrl_shadow1&0xFF)<<1));
		LCD_SEND_DMA_CMD(6);

		SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0005&0xFF00)<<2)|((0x0005&0xFF)<<1));
		LCD_SEND_DMA_CMD(2);
		LCD_Delay(0x1000);
		SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0025&0xFF00)<<2)|((0x0025&0xFF)<<1));
		LCD_SEND_DMA_CMD(2);
		SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0027&0xFF00)<<2)|((0x0027&0xFF)<<1));
		LCD_SEND_DMA_CMD(2);
		LCD_Delay(0x1000);
		SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00)<<2)|((0x0007&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0037&0xFF00)<<2)|((0x0037&0xFF)<<1));
		LCD_SEND_DMA_CMD(2);
		LCD_Delay(0x1000);
		#endif
	#else
		LCD_CtrlWrite_R61505U(0x0010);
		LCD_DataWrite_R61505U(lcd_power_ctrl_shadow1);
		LCD_CtrlWrite_R61505U(0x0012);
		LCD_DataWrite_R61505U(lcd_power_ctrl_shadow3);
		LCD_CtrlWrite_R61505U(0x0013);
		LCD_DataWrite_R61505U(lcd_power_ctrl_shadow4);
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0005);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0025);
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0027);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_R61505U(0x0007);
		LCD_DataWrite_R61505U(0x0037);
		LCD_Delay(0x1000);
	#endif

}

void LCD_Partial_On_R61505U(kal_uint16 start_page,kal_uint16 end_page)
{
    
}

void LCD_Partial_Off_R61505U(void)
{       
	
}

kal_uint8 LCD_Partial_line_R61505U(void)
{
 	return 1;
}

void LCD_blockClear_R61505U(kal_uint16 x1, kal_uint16 y1, kal_uint16 x2, kal_uint16 y2, kal_uint16 data)
{
	return;		//lks
}

⌨️ 快捷键说明

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