📄 lcd.c.bak
字号:
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 + -