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

📄 lcd.c.bak

📁 mtk 6226 平台 液晶驱动程序源代码
💻 BAK
📖 第 1 页 / 共 4 页
字号:
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x000D >> 8));
			SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x000D & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA,(0x0000 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA,(0x0000 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0009 >> 8));
			SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0009 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA,(0x0008 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA,(0x0008 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0003 >> 8));
			SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0003 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA,(0x0000 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA,(0x0000 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0003 >> 8));
			SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0003 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA,(0x0002 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA,(0x0002 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
*/
		//lks end
		
		#elif (defined(LCD_9BIT_MODE))
		#elif (defined(LCD_16BIT_MODE))
#if 0
		   	SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00))|((0x0007&0xFF)));
			SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0036&0xFF00))|((0x0036&0xFF)));
			LCD_SEND_DMA_CMD(2);
			LCD_Delay(0x1000);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00))|((0x0007&0xFF)));
			SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0026&0xFF00))|((0x0026&0xFF)));
			LCD_SEND_DMA_CMD(2);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0007&0xFF00))|((0x0007&0xFF)));
			SET_LCD_CMD_PARAMETER(1,LCD_DATA,((0x0004&0xFF00))|((0x0004&0xFF)));
			LCD_SEND_DMA_CMD(2);
			LCD_Delay(0x1000);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0010&0xFF00))|((0x0010&0xFF)));
			SET_LCD_CMD_PARAMETER(1,LCD_DATA,((lcd_power_ctrl_shadow1&0xFF00))|((lcd_power_ctrl_shadow1&0xFF)));
			LCD_SEND_DMA_CMD(2);
			LCD_Delay(0x8000);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0012&0xFF00))|((0x0012&0xFF)));
			SET_LCD_CMD_PARAMETER(1,LCD_DATA,((lcd_power_ctrl_shadow3&0xFF00))|((lcd_power_ctrl_shadow3&0xFF)));
			SET_LCD_CMD_PARAMETER(2,LCD_CMD,((0x0013&0xFF00))|((0x0013&0xFF)));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA,((lcd_power_ctrl_shadow4&0xFF00))|((lcd_power_ctrl_shadow4&0xFF)));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(0x1000);
#endif

			 LCD_CtrlWrite_ST7787(0x0026);	
	LCD_DataWrite_ST7787(0x0038);
	Delay(80);
	LCD_CtrlWrite_ST7787(0x0026);	
	LCD_DataWrite_ST7787(0x0028);
	Delay(80);
	LCD_CtrlWrite_ST7787(0x0026);	
	LCD_DataWrite_ST7787(0x0000);
	LCD_CtrlWrite_ST7787(0x0043);	
	LCD_DataWrite_ST7787(0x0000);
	Delay(60);
	LCD_CtrlWrite_ST7787(0x001B);	
	LCD_DataWrite_ST7787(0x0000);
	Delay(40);
	LCD_CtrlWrite_ST7787(0x0010);	
	LCD_DataWrite_ST7787(0x0008);
	Delay(40);
	LCD_CtrlWrite_ST7787(0x001C);	
	LCD_DataWrite_ST7787(0x0000);
	Delay(40);
	LCD_CtrlWrite_ST7787(0x0090);	
	LCD_DataWrite_ST7787(0x0000);
	Delay(40);
	LCD_CtrlWrite_ST7787(0x001B);	
	LCD_DataWrite_ST7787(0x0009);
	Delay(40);
	LCD_CtrlWrite_ST7787(0x0019);	
	LCD_DataWrite_ST7787(0x0048);
 
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#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_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0036);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0026);
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0004);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_S6D0154(0x0010);
		LCD_DataWrite_S6D0154(lcd_power_ctrl_shadow1);
		LCD_Delay(0x8000);
		LCD_CtrlWrite_S6D0154(0x0012);
		LCD_DataWrite_S6D0154(lcd_power_ctrl_shadow3);
		LCD_CtrlWrite_S6D0154(0x0013);
		LCD_DataWrite_S6D0154(lcd_power_ctrl_shadow4);
		LCD_Delay(0x1000);
	#endif
}

void LCD_ExitSleep_S6D0154(void)
{
	//return;		//lks

	lcd_power_ctrl_shadow1 &= ~0x2;
	lcd_power_ctrl_shadow3 |= 0x10;
	lcd_power_ctrl_shadow4 |= 0x2000;
	#if (defined(LCD_CMD_DMA_MODE))
		#if (defined(LCD_8BIT_MODE))
/*
            LCD_Init_S6D0154(0, 0);
*/

		//lks start
		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);
/*
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0003 >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0003 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x0000 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x0000 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0003 >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0003 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x0110 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x0110 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0009 >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0009 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x0006 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x0006 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x000D >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x000D & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x0014 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x0014 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x000E >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x000E & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x101C >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x101C & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x000E >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x000E & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x101C >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x101C & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x000E >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x000E & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x301C >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x301C & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0007 >> 8));
		  SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0007 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x0037 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x0037 & 0x00FF));
			LCD_SEND_DMA_CMD(4);
			LCD_Delay(40);
*/
		//lks end			
		#elif (defined(LCD_9BIT_MODE))
		#elif (defined(LCD_16BIT_MODE))
            //LCD_Init_S6D0154(0, 0);

				LCD_CtrlWrite_ST7787(0x0019);	
	            LCD_DataWrite_ST7787(0x0049);
				Delay(50);
				LCD_CtrlWrite_ST7787(0x001B);	
	            LCD_DataWrite_ST7787(0x0008);
				LCD_CtrlWrite_ST7787(0x0020);	
	            LCD_DataWrite_ST7787(0x0040);
				LCD_CtrlWrite_ST7787(0x001D);	
	            LCD_DataWrite_ST7787(0x0007);
				LCD_CtrlWrite_ST7787(0x001E);	
	            LCD_DataWrite_ST7787(0x0000);
				LCD_CtrlWrite_ST7787(0x001F);	
	            LCD_DataWrite_ST7787(0x0004);
				LCD_CtrlWrite_ST7787(0x0044);	
	            LCD_DataWrite_ST7787(0x004D);
				LCD_CtrlWrite_ST7787(0x0045);	
	            LCD_DataWrite_ST7787(0x0011);
				Delay(50);
				LCD_CtrlWrite_ST7787(0x001C);	
	            LCD_DataWrite_ST7787(0x0004);
				Delay(80);
				LCD_CtrlWrite_ST7787(0x001B);	
	            LCD_DataWrite_ST7787(0x0018);
                Delay(80);
				LCD_CtrlWrite_ST7787(0x001B);	
	            LCD_DataWrite_ST7787(0x0010);
				Delay(60);
				LCD_CtrlWrite_ST7787(0x0043);	
	            LCD_DataWrite_ST7787(0x0080);
				Delay(80);
				LCD_CtrlWrite_ST7787(0x0090);	
	            LCD_DataWrite_ST7787(0x007F);
				Delay(50);
				LCD_CtrlWrite_ST7787(0x0026);	
	            LCD_DataWrite_ST7787(0x0004);
				Delay(50);
				LCD_CtrlWrite_ST7787(0x0026);	
	            LCD_DataWrite_ST7787(0x0024);
				LCD_CtrlWrite_ST7787(0x0026);	
	            LCD_DataWrite_ST7787(0x002C);
				Delay(50);
				LCD_CtrlWrite_ST7787(0x0026);	
	            LCD_DataWrite_ST7787(0x003C);
		
		#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_S6D0154(0x0010);
		LCD_DataWrite_S6D0154(lcd_power_ctrl_shadow1);
		LCD_CtrlWrite_S6D0154(0x0012);
		LCD_DataWrite_S6D0154(lcd_power_ctrl_shadow3);
		LCD_CtrlWrite_S6D0154(0x0013);
		LCD_DataWrite_S6D0154(lcd_power_ctrl_shadow4);
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0005);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0025);
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0027);
		LCD_Delay(0x1000);
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x0037);
		LCD_Delay(0x1000);
	#endif
}

void LCD_Partial_On_S6D0154(kal_uint16 start_page,kal_uint16 end_page)
{
         return;		//lks
	#if (defined(LCD_CMD_DMA_MODE))
		#if (defined(LCD_8BIT_MODE))
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0007 >> 8));
			SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0007 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_DATA, (0x003F & 0x00FF));
			SET_LCD_CMD_PARAMETER(3,LCD_DATA, (0x003F & 0x00FF));
			SET_LCD_CMD_PARAMETER(4,LCD_CMD, (0x0042 >> 8));
			SET_LCD_CMD_PARAMETER(5,LCD_CMD, (0x0042 & 0x00FF));
			SET_LCD_CMD_PARAMETER(6,LCD_DATA, (end_page & 0x00FF));
			SET_LCD_CMD_PARAMETER(7,LCD_DATA, (start_page & 0x00FF));
			LCD_SEND_DMA_CMD(8);
		#elif (defined(LCD_9BIT_MODE))
		#elif (defined(LCD_16BIT_MODE))
			LCD_set_reg(0x0007, 0x003f);
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,(0x0042&0xFF00) | (0x0042&0xFF));
			SET_LCD_CMD_PARAMETER(1,LCD_DATA,((end_page&0xFF)<<8)|(start_page&0xFF));
			LCD_SEND_DMA_CMD(2);
		#elif (defined(LCD_18BIT_MODE))
		LCD_CtrlWrite_S6D0154(0x0007);
		LCD_DataWrite_S6D0154(0x003f);
        SET_LCD_CMD_PARAMETER(0,LCD_CMD,((0x0042&0xFF00)<<2)|((0x0042&0xFF)<<1));
		SET_LCD_CMD_PARAMETER(1,LCD_DATA,((end_page&0xFF)<<10)|((start_page&0xFF)<<1));
		LCD_SEND_DMA_CMD(2);
		#endif
	#else
    	LCD_set_reg(0x0007, 0x003f);
    	LCD_set_reg(0x0042, (start_page & 0xFF) | ((end_page & 0xFF) << 8));
	#endif
}

void LCD_Partial_Off_S6D0154(void)
{       
      return;		//lks
	#if (defined(LCD_CMD_DMA_MODE))
		#if (defined(LCD_8BIT_MODE))
			SET_LCD_CMD_PARAMETER(0,LCD_CMD, (0x0007 >> 8));
			SET_LCD_CMD_PARAMETER(1,LCD_CMD, (0x0007 & 0x00FF));
			SET_LCD_CMD_PARAMETER(2,LCD_CMD, (0x0042 >> 8));
			SET_LCD_CMD_PARAMETER(3,LCD_CMD, (0x0042 & 0x00FF));

⌨️ 快捷键说明

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