📄 lcd.c
字号:
LCD_set_reg(0x0035,0x0005);//0x0006
LCD_set_reg(0x0036,0x0E00);//0x0707
LCD_set_reg(0x0037,0x0404);//0x0105
LCD_set_reg(0x0038,0x0403);//0x0002
LCD_set_reg(0x0039,0x0407);//0x0707
LCD_set_reg(0x003C,0x0303);//0x0704
LCD_set_reg(0x003D,0x0E0A);//0x0807
LCD_set_reg(0x0050,0x0000);
LCD_set_reg(0x0051,0x00EF);
LCD_set_reg(0x0052,0x0000);
LCD_set_reg(0x0053,0x013F);
LCD_set_reg(0x0060,0x2700);
LCD_set_reg(0x0061,0x0001);
LCD_set_reg(0x006A,0x0000);
LCD_set_reg(0x0080,0x0000);
LCD_set_reg(0x0081,0x0000);
LCD_set_reg(0x0082,0x0000);
LCD_set_reg(0x0083,0x0000);
LCD_set_reg(0x0084,0x0000);
LCD_set_reg(0x0085,0x0000);
LCD_set_reg(0x0090,0x0010);//0x0000
LCD_set_reg(0x0092,0x0000);
LCD_set_reg(0x0093,0x0003);
LCD_set_reg(0x0095,0x0110);
LCD_set_reg(0x0097,0x0000);
LCD_set_reg(0x0098,0x0000);
LCD_set_reg(0x0007,0x0173);
LCD_CtrlWrite_R61505U(0x22);
}else if(g_CurLcdID == LCD_SUONA_D0154)
{
}else if(g_CurLcdID == LCD_SUONA_HX8437)
{
CLEAR_LCD_CTRL_RESET_PIN;
LCD_Delay(0x1000);
LCD_Delay(0x1000);
SET_LCD_CTRL_RESET_PIN;
LCD_Delay(0x1000);
LCD_Delay(0x1000);
LCD_CtrlWrite_R61505U(0x46); LCD_DataWrite_R61505U(0x0095);
LCD_CtrlWrite_R61505U(0x47); LCD_DataWrite_R61505U(0x0051);
LCD_CtrlWrite_R61505U(0x48); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x49); LCD_DataWrite_R61505U(0x0036);
LCD_CtrlWrite_R61505U(0x4a); LCD_DataWrite_R61505U(0x0011);
LCD_CtrlWrite_R61505U(0x4b); LCD_DataWrite_R61505U(0x0066);
LCD_CtrlWrite_R61505U(0x4c); LCD_DataWrite_R61505U(0x0014);
LCD_CtrlWrite_R61505U(0x4d); LCD_DataWrite_R61505U(0x0077);
LCD_CtrlWrite_R61505U(0x4e); LCD_DataWrite_R61505U(0x0013);
LCD_CtrlWrite_R61505U(0x4f); LCD_DataWrite_R61505U(0x004c);
LCD_CtrlWrite_R61505U(0x50); LCD_DataWrite_R61505U(0x0046);
LCD_CtrlWrite_R61505U(0x51); LCD_DataWrite_R61505U(0x0046);
LCD_CtrlWrite_R61505U(0x02); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x03); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x04); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x05); LCD_DataWrite_R61505U(0x00ef);
LCD_CtrlWrite_R61505U(0x06); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x07); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x08); LCD_DataWrite_R61505U(0x0001);
LCD_CtrlWrite_R61505U(0x09); LCD_DataWrite_R61505U(0x003f);
LCD_CtrlWrite_R61505U(0x01); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x16); LCD_DataWrite_R61505U(0x00c8);
LCD_CtrlWrite_R61505U(0x23); LCD_DataWrite_R61505U(0x0095);
LCD_CtrlWrite_R61505U(0x24); LCD_DataWrite_R61505U(0x0095);
LCD_CtrlWrite_R61505U(0x25); LCD_DataWrite_R61505U(0x00FF);
LCD_CtrlWrite_R61505U(0x27); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x28); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x29); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x2a); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x2c); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x2d); LCD_DataWrite_R61505U(0x0006);
LCD_CtrlWrite_R61505U(0x3a); LCD_DataWrite_R61505U(0x0001);
LCD_CtrlWrite_R61505U(0x3b); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x3c); LCD_DataWrite_R61505U(0x00f0);
LCD_CtrlWrite_R61505U(0x3d); LCD_DataWrite_R61505U(0x0000);
delayms(80);
LCD_CtrlWrite_R61505U(0x35); LCD_DataWrite_R61505U(0x0038);
LCD_CtrlWrite_R61505U(0x36); LCD_DataWrite_R61505U(0x0078);
LCD_CtrlWrite_R61505U(0x3E); LCD_DataWrite_R61505U(0x0038);
LCD_CtrlWrite_R61505U(0x40); LCD_DataWrite_R61505U(0x000F);
LCD_CtrlWrite_R61505U(0x41); LCD_DataWrite_R61505U(0x00F0);
LCD_CtrlWrite_R61505U(0x19); LCD_DataWrite_R61505U(0x0049);
LCD_CtrlWrite_R61505U(0x93); LCD_DataWrite_R61505U(0x000C);
delayms(80);
LCD_CtrlWrite_R61505U(0x20); LCD_DataWrite_R61505U(0x0040);
LCD_CtrlWrite_R61505U(0x1D); LCD_DataWrite_R61505U(0x0007);
LCD_CtrlWrite_R61505U(0x1E); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x1F); LCD_DataWrite_R61505U(0x0004);
LCD_CtrlWrite_R61505U(0x44); LCD_DataWrite_R61505U(0x004D);
LCD_CtrlWrite_R61505U(0x45); LCD_DataWrite_R61505U(0x0011);
delayms(80);
LCD_CtrlWrite_R61505U(0x1C); LCD_DataWrite_R61505U(0x0004);
delayms(80);
LCD_CtrlWrite_R61505U(0x43); LCD_DataWrite_R61505U(0x0080);
delayms(80);
LCD_CtrlWrite_R61505U(0x1B); LCD_DataWrite_R61505U(0x0018);
delayms(80);
LCD_CtrlWrite_R61505U(0x1B); LCD_DataWrite_R61505U(0x0010);
delayms(80);
LCD_CtrlWrite_R61505U(0x90); LCD_DataWrite_R61505U(0x007F);
LCD_CtrlWrite_R61505U(0x26); LCD_DataWrite_R61505U(0x0004);
delayms(80);
LCD_CtrlWrite_R61505U(0x26); LCD_DataWrite_R61505U(0x0024);
LCD_CtrlWrite_R61505U(0x26); LCD_DataWrite_R61505U(0x002C);
delayms(80);
LCD_CtrlWrite_R61505U(0x26); LCD_DataWrite_R61505U(0x003C);
LCD_CtrlWrite_R61505U(0x57); LCD_DataWrite_R61505U(0x0002);
LCD_CtrlWrite_R61505U(0x95); LCD_DataWrite_R61505U(0x0002);
LCD_CtrlWrite_R61505U(0x57); LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x22); //LCD_DataWrite_R61505U(0x0038);
}
else if(g_CurLcdID == LCD_XIANYU_D5408)
{
delayms(20); //delay 20 ms
LCD_CtrlWrite_R61505U(0x0000); //start oscilision
LCD_DataWrite_R61505U(0x0000);
delayms(60); //delay 60ms
LCD_CtrlWrite_R61505U(0x0001); //driver output control
LCD_DataWrite_R61505U(0x0100);
LCD_CtrlWrite_R61505U(0x0002); //drive AC control
LCD_DataWrite_R61505U(0x0700); //frame inversion /line inversion
LCD_CtrlWrite_R61505U(0x0003); // entry mode
LCD_DataWrite_R61505U(0x1030); //set ID1-0,AM
LCD_CtrlWrite_R61505U(0x0004); //Resizing control
LCD_DataWrite_R61505U(0x0000); //
LCD_CtrlWrite_R61505U(0x0008); //display control 2
LCD_DataWrite_R61505U(0x0207); //front and back porch
LCD_CtrlWrite_R61505U(0x0009); //display control3
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x000A); //display control 4
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x000C); //external interface control 1
LCD_DataWrite_R61505U(0x0000); //
LCD_CtrlWrite_R61505U(0x000D); //frame maker position
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x000F); //external interface control 2
LCD_DataWrite_R61505U(0x0000);
delayms(20);
LCD_CtrlWrite_R61505U(0x0007); //display control 1
LCD_DataWrite_R61505U(0x0101);
//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
//gama control
LCD_CtrlWrite_R61505U(0x0030); // Gamma control (1)
LCD_DataWrite_R61505U(0x0102);
LCD_CtrlWrite_R61505U(0x0031); // Gamma control (2)
LCD_DataWrite_R61505U(0x0021);
LCD_CtrlWrite_R61505U(0x0032); // Gamma control (3)
LCD_DataWrite_R61505U(0x0C23);
LCD_CtrlWrite_R61505U(0x0033); //Gamma control (4)
LCD_DataWrite_R61505U(0x2710);
LCD_CtrlWrite_R61505U(0x0034); // Gamma control (5)
LCD_DataWrite_R61505U(0x1E0B);
LCD_CtrlWrite_R61505U(0x0035); // Gamma control (6)
LCD_DataWrite_R61505U(0x0A04);
LCD_CtrlWrite_R61505U(0x0036); // Gamma control (7)
LCD_DataWrite_R61505U(0x1e00);
LCD_CtrlWrite_R61505U(0x0037); // Gamma control (8)
LCD_DataWrite_R61505U(0x0617);
LCD_CtrlWrite_R61505U(0x0038); // Gamma control (9)
LCD_DataWrite_R61505U(0x0305);
LCD_CtrlWrite_R61505U(0x0039); // Gamma control (10)
LCD_DataWrite_R61505U(0x0A05);
LCD_CtrlWrite_R61505U(0x003A); // Gamma control (6)
LCD_DataWrite_R61505U(0x0C04);
LCD_CtrlWrite_R61505U(0x003B); // Gamma control (7)
LCD_DataWrite_R61505U(0x0F00);
LCD_CtrlWrite_R61505U(0x003C); // Gamma control (8)
LCD_DataWrite_R61505U(0x000F);
LCD_CtrlWrite_R61505U(0x003D); // Gamma control (9)
LCD_DataWrite_R61505U(0x1e00);
LCD_CtrlWrite_R61505U(0x003E); // Gamma control (10)
LCD_DataWrite_R61505U(0x0204);
LCD_CtrlWrite_R61505U(0x003F); // Gamma control (10)
LCD_DataWrite_R61505U(0x0404);
//end gamma set
LCD_CtrlWrite_R61505U(0x0050); //horizontal windows address
LCD_DataWrite_R61505U(0x0000); //start address
LCD_CtrlWrite_R61505U(0x0051); // horizontal windows address
LCD_DataWrite_R61505U(0x00EF); //end address
LCD_CtrlWrite_R61505U(0x0052); // vertical windows address
LCD_DataWrite_R61505U(0x0000); // start address
LCD_CtrlWrite_R61505U(0x0053); // vertical windows end address
LCD_DataWrite_R61505U(0x013f); //end address
delayms(20); //delay 20 ms
LCD_CtrlWrite_R61505U(0x0060); // driver output control
LCD_DataWrite_R61505U(0x2700); //set GS,NL5-0,SCN5-0
LCD_CtrlWrite_R61505U(0x0061); //image display control
LCD_DataWrite_R61505U(0x0001);
LCD_CtrlWrite_R61505U(0x006A); //vertical scrolling control
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x0080); // display position 1
LCD_DataWrite_R61505U(0x0000);
delayms(20);
LCD_CtrlWrite_R61505U(0x0081); //gram start line address 1
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x0082); //gram end line address
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x0083); // display position address 2
LCD_DataWrite_R61505U(0x0000);
delayms(20);
LCD_CtrlWrite_R61505U(0x0084); // gate scan start position
LCD_DataWrite_R61505U(0x0000); //gram start line address 1
LCD_CtrlWrite_R61505U(0x0085); // horizontal windows address
LCD_DataWrite_R61505U(0x0000); //gram end line address 1
LCD_CtrlWrite_R61505U(0x0090); // panel interface control 1
LCD_DataWrite_R61505U(0x0010);
delayms(20);
LCD_CtrlWrite_R61505U(0x0092); //panel interface control 2
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x0093); //panel interface control 3
LCD_DataWrite_R61505U(0x0103);
LCD_CtrlWrite_R61505U(0x0095); //panel interface control 4
LCD_DataWrite_R61505U(0x0110);
delayms(20);
LCD_CtrlWrite_R61505U(0x0097); //panel interface control 5
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x0098); //panel interface control 6
LCD_DataWrite_R61505U(0x0000);
LCD_CtrlWrite_R61505U(0x00F0); // Display control on
LCD_DataWrite_R61505U(0x5408);
delayms(100);
LCD_CtrlWrite_R61505U(0x00F3); // Display control on
LCD_DataWrite_R61505U(0x0012);
delayms(100);
LCD_CtrlWrite_R61505U(0x00F4); // Display control on
LCD_DataWrite_R61505U(0x001A);
delayms(100);
LCD_CtrlWrite_R61505U(0x00F0); // Display control on
LCD_DataWrite_R61505U(0x0000);
delayms(100);
//display on
LCD_CtrlWrite_R61505U(0x0007); // Display control on
LCD_DataWrite_R61505U(0x0173);
delayms(100);
LCD_CtrlWrite_R61505U(0x0020); //RAM address set
LCD_DataWrite_R61505U(0x0000); //horizontial address
LCD_CtrlWrite_R61505U(0x0021); // RAM address set
LCD_DataWrite_R61505U(0x0000); //vertical address
LCD_CtrlWrite_R61505U(0x0022);
}
#endif
}
void LCD_PWRON_R61505U(kal_bool on)
{
/*
if(g_CurLcdID == LCD_GEHUA_D0139)
{
}
else if(g_CurLcdID == LCD_SUONA)
{
}
else if(g_CurLcdID == LCD_JINGYUAN_D9320)
{
}else if(g_CurLcdID == LCD_SUONA_D0154)
{
}else if(g_CurLcdID == LCD_SUONA_HX8437)
{
}else if(g_CurLcdID == LCD_XIANYU_D5408)
{
}
*/
}
void LCD_SetContrast_R61505U(kal_uint8 level)
{
/*
if(g_CurLcdID == LCD_GEHUA_D0139)
{
}
else if(g_CurLcdID == LCD_SUONA)
{
}
else if(g_CurLcdID == LCD_JINGYUAN_D9320)
{
}else if(g_CurLcdID == LCD_SUONA_D0154)
{
}else if(g_CurLcdID == LCD_SUONA_HX8437)
{
}else if(g_CurLcdID == LCD_XIANYU_D5408)
{
}
*/
}
void LCD_ON_R61505U(kal_bool on)
{
/*
if(g_CurLcdID == LCD_GEHUA_D0139)
{
}
else if(g_CurLcdID == LCD_SUONA)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -