📄 lcdlib.c
字号:
WriteLDI_LTS222(0x00,0x0a); // CONTROL REGISTER 1
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x01,0x10); // CONTROL REGISTER 2
delayLoop(5); // delay about 300ns
// WriteLDI_LTS222(0x02,0x00); // RGB INTERFACE REGISTER
WriteLDI_LTS222(0x02,0x06); // RGB INTERFACE REGISTER
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x05,0x00); // DATA ACCESS CONTROL REGISTER
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x0D,0x00); //
// delay about 40ms
delayLoop(700000);
///////////////////////////////////////////////////////////////////
// Initializing Function 2
///////////////////////////////////////////////////////////////////
WriteLDI_LTS222(0x0E,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x0F,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x10,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x11,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x12,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x13,0x00); // DISPLAY SIZE CONTROL REGISTER
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x14,0x00); // PARTIAL-OFF AREA COLOR REGISTER 1
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x15,0x00); // PARTIAL-OFF AREA COLOR REGISTER 2
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x16,0x00); // PARTIAL 1 DISPLAY AREA STARTING REGISTER 1
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x17,0x00); // PARTIAL 1 DISPLAY AREA STARTING REGISTER 2
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x34,0x01); // POWER SUPPLY SYSTEM CONTROL REGISTER 14
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x35,0x00); // POWER SUPPLY SYSTEM CONTROL REGISTER 7
// delay about 30ms
delayLoop(500000);
////////////////////////////////////////////////////////////////////
// Initializing Function 3
////////////////////////////////////////////////////////////////////
WriteLDI_LTS222(0x8D,0x01); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x8B,0x28); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x4B,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x4C,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x4D,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x4E,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x4F,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x50,0x00); // ID CODE REGISTER 2 Check it out
// delay about 50 us
delayLoop(900);
WriteLDI_LTS222(0x86,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x87,0x26); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x88,0x02); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x89,0x05); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x33,0x01); // POWER SUPPLY SYSTEM CONTROL REGISTER 13
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x37,0x06); // POWER SUPPLY SYSTEM CONTROL REGISTER 12 Check it out
// delay about 50 us
delayLoop(900);
WriteLDI_LTS222(0x76,0x00); // SCROLL AREA START REGISTER 2
// delay about 30ms
delayLoop(500000);
/////////////////////////////////////////////////////////////////////
// Initializing Function 4
/////////////////////////////////////////////////////////////////////
WriteLDI_LTS222(0x42,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x43,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x44,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x45,0x00); // CALIBRATION REGISTER
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x46,0xef); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x47,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x48,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x49,0x01); // ID CODE REGISTER 1 check it out
// delay about 50 us
delayLoop(900);
WriteLDI_LTS222(0x4A,0x3f); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x3C,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x3D,0x00); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x3E,0x01); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x3F,0x3f); //
delayLoop(5); // delay about 300ns
// WriteLDI_LTS222(0x40,0x03); // horizontal back porch
WriteLDI_LTS222(0x40,0x01); // horizontal back porch //050105 Boaz.Kim
delayLoop(5); // delay about 300ns
// WriteLDI_LTS222(0x41,0x04); // vertical back porch
WriteLDI_LTS222(0x41,0x0a); // horizontal back porch //050105 Boaz.Kim
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x8F,0x05); //
// delay about 30ms
delayLoop(500000);
/////////////////////////////////////////////////////////////////////
// Initializing Function 5
/////////////////////////////////////////////////////////////////////
WriteLDI_LTS222(0x90,0x05); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x91,0x44); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x92,0x44); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x93,0x44); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x94,0x33); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x95,0x05); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x96,0x05); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x97,0x44); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x98,0x44); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x99,0x44); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x9A,0x33); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x9B,0x33); //
delayLoop(5); // delay about 300ns
WriteLDI_LTS222(0x9C,0x33); //
delayLoop(5); // delay about 300ns
#if 1
WriteLDI_LTS222(0x9D,0x80); // 16 or 18bit RGB
#else
WriteLDI_LTS222(0x9D,0x81); // 6bit RGB
#endif
// delay about 30ms
delayLoop(500000);
/////////////////////////////////////////////////////////////////////
// Power Setting 2
/////////////////////////////////////////////////////////////////////
WriteLDI_LTS222(0x1D,0x08); //
// delay about 30ms
delayLoop(500000);
WriteLDI_LTS222(0x23,0x00); // PARTIAL 2 DISPLAY AREA RASTER-ROW NUMBER REGISTER 2
// delay about 50 us
delayLoop(900);
WriteLDI_LTS222(0x24,0x94); // POWER SUPPLY SYSTEM CONTROL REGISTER 1
// delay about 50 us
delayLoop(900);
WriteLDI_LTS222(0x25,0x6f); // POWER SUPPLY SYSTEM CONTROL REGISTER 2
// delay about 40ms
delayLoop(700000);
/////////////////////////////////////////////////////////////////////
// Power Setting 3
/////////////////////////////////////////////////////////////////////
WriteLDI_LTS222(0x28,0x1e); //
WriteLDI_LTS222(0x1A,0x00); //
WriteLDI_LTS222(0x21,0x10); // PARTIAL 1 DISPLAY AREA RASTER-ROW NUMBER REGISTER 2
WriteLDI_LTS222(0x18,0x25); // PARTIAL 2 DISPLAY AREA STARTING REGISTER 1
// delay about 40ms
delayLoop(700000);
WriteLDI_LTS222(0x19,0x48); // PARTIAL 2 DISPLAY AREA STARTING REGISTER 2
WriteLDI_LTS222(0x18,0xe5); // PARTIAL 2 DISPLAY AREA STARTING REGISTER 1
// delay about 10ms
delayLoop(200000);
WriteLDI_LTS222(0x18,0xF7); // PARTIAL 2 DISPLAY AREA STARTING REGISTER 1
// delay about 40ms
delayLoop(700000);
WriteLDI_LTS222(0x1B,0x07); // org
// WriteLDI_LTS222(0x1B,0x01); // 90 rotate
// WriteLDI_LTS222(0x1B,0x02); // 90 rotate
// WriteLDI_LTS222(0x1B,0x03); // 90 rotate
// delay about 80ms
delayLoop(1400000);
WriteLDI_LTS222(0x1F,0x6b); // org
// WriteLDI_LTS222(0x1F,0x5E); // 90 rotate
WriteLDI_LTS222(0x20,0x51); // org, PARTIAL 1 DISPLAY AREA RASTER-ROW NUMBER REGISTER 1
// WriteLDI_LTS222(0x20,0x5F); // 90 rotate, PARTIAL 1 DISPLAY AREA RASTER-ROW NUMBER REGISTER 1
WriteLDI_LTS222(0x1E,0xc1); //
// delay about 10ms
delayLoop(200000);
WriteLDI_LTS222(0x21,0x00); // PARTIAL 1 DISPLAY AREA RASTER-ROW NUMBER REGISTER 2
WriteLDI_LTS222(0x3B,0x01); //
// delay about 20ms
delayLoop(400000);
WriteLDI_LTS222(0x00,0x20); // CONTROL REGISTER 1
WriteLDI_LTS222(0x02,0x01); // RGB INTERFACE REGISTER
// delay about 10ms
delayLoop(200000);
// Reg16_OPCLK_DIV = 0x0201; // 6.4
}
void LutSetting(U32 mode)
{
if(mode==MODE_CSTN_8BIT){
// rREDLUT0 = 0x01820200;
// rREDLUT1 = 0x203860A1;
rREDLUT0 = 0x678B0E00;
rREDLUT1 = 0x20F9B2B4;
rREDLUT2 = 0xA3058A12;
rREDLUT3 = 0x224078E1;
rREDLUT4 = 0x62A50992;
rREDLUT5 = 0x9A3260B9;
rREDLUT6 = 0xF9E3A70D;
// rGREENLUT0 = 0x80C10100;
// rGREENLUT1 = 0x101C3050;
rGREENLUT0 = 0xE7CB8F00;
rGREENLUT1 = 0x10FABAF4;
rGREENLUT2 = 0xD182C509;
rGREENLUT3 = 0x11203C70;
rGREENLUT4 = 0xB15284C9;
rGREENLUT5 = 0xCD19305C;
rGREENLUT6 = 0x7CF1D386;
rGREENLUT7 = 0x88D12140;
rGREENLUT8 = 0x509D3254;
rGREENLUT9 = 0xD58AD529;
rGREENLUT10 = 0x3160BD72;
rGREENLUT11 = 0xB3568CD9;
rGREENLUT12 = 0xDD3970DD;
rGREENLUT13 = 0xFDF3D78E;
// rBLUELUT0 = 0x01820200;
rBLUELUT0 = 0x0F971E00;
rBLUELUT1 = 0x203860A1;
rBLUELUT2 = 0xA3058A12;
rBLUELUT3 = 0x224078E1;
rBLUELUT4 = 0x62A50992;
rBLUELUT5 = 0x9A3260B9;
rBLUELUT6 = 0xF9E3A70D;
}
else if(mode==MODE_CSTN_12BIT){
// rREDLUT0 = 0x01820200;
// rREDLUT1 = 0x203860A1;
// rREDLUT2 = 0xA3058A12;
// rREDLUT3 = 0x224078E1;
rREDLUT0 = 0x43850600;
rREDLUT1 = 0x4478D162;
rREDLUT2 = 0x664B9526;
rREDLUT3 = 0x2240F9D3;
rREDLUT4 = 0x62A50992;
rREDLUT5 = 0x9A3260B9;
rREDLUT6 = 0xF9E3A70D;
// rGREENLUT0 = 0x80C10100;
// rGREENLUT1 = 0x101C3050;
// rGREENLUT2 = 0xD182C509;
// rGREENLUT3 = 0x11203C70;
rGREENLUT0 = 0x63C58700;
rGREENLUT1 = 0x467CD972;
rGREENLUT2 = 0x766BD5A7;
rGREENLUT3 = 0x1120FDDB;
rGREENLUT4 = 0xB15284C9;
rGREENLUT5 = 0xCD19305C;
rGREENLUT6 = 0x7CF1D386;
rGREENLUT7 = 0x88D12140;
rGREENLUT8 = 0x509D3254;
rGREENLUT9 = 0xD58AD529;
rGREENLUT10 = 0x3160BD72;
rGREENLUT11 = 0xB3568CD9;
rGREENLUT12 = 0xDD3970DD;
rGREENLUT13 = 0xFDF3D78E;
// rBLUELUT0 = 0x01820200;
// rBLUELUT1 = 0x203860A1;
// rBLUELUT2 = 0xA3058A12;
// rBLUELUT3 = 0x224078E1;
rBLUELUT0 = 0x43850600;
rBLUELUT1 = 0x4478D162;
rBLUELUT2 = 0x664B9526;
rBLUELUT3 = 0x2240F9D3;
rBLUELUT4 = 0x62A50992;
rBLUELUT5 = 0x9A3260B9;
rBLUELUT6 = 0xF9E3A70D;
}
else{
rREDLUT0 = 0x01820200;
rREDLUT1 = 0x203860A1;
rREDLUT2 = 0xA3058A12;
rREDLUT3 = 0x224078E1;
rREDLUT4 = 0x62A50992;
rREDLUT5 = 0x9A3260B9;
rREDLUT6 = 0xF9E3A70D;
rGREENLUT0 = 0x80C10100;
rGREENLUT1 = 0x101C3050;
rGREENLUT2 = 0xD182C509;
rGREENLUT3 = 0x11203C70;
rGREENLUT4 = 0xB15284C9;
rGREENLUT5 = 0xCD19305C;
rGREENLUT6 = 0x7CF1D386;
rGREENLUT7 = 0x88D12140;
rGREENLUT8 = 0x509D3254;
rGREENLUT9 = 0xD58AD529;
rGREENLUT10 = 0x3160BD72;
rGREENLUT11 = 0xB3568CD9;
rGREENLUT12 = 0xDD3970DD;
rGREENLUT13 = 0xFDF3D78E;
rBLUELUT0 = 0x01820200;
rBLUELUT1 = 0x203860A1;
rBLUELUT2 = 0xA3058A12;
rBLUELUT3 = 0x224078E1;
rBLUELUT4 = 0x62A50992;
rBLUELUT5 = 0x9A3260B9;
rBLUELUT6 = 0xF9E3A70D;
}
}
void FrcSetting(void)
{
rFRCPAT0 = 0x00000000;
rFRCPAT1 = 0x80000000;
rFRCPAT2 = 0x80000000;
rFRCPAT3 = 0x80000000;
rFRCPAT4 = 0x00080000;
rFRCPAT5 = 0x80000200;
rFRCPAT6 = 0x80008000;
rFRCPAT7 = 0x80008000;
rFRCPAT8 = 0x00000000;
rFRCPAT9 = 0x80000000;
rFRCPAT10 = 0x00000000;
rFRCPAT11 = 0x80000000;
rFRCPAT12 = 0x00000000;
rFRCPAT13 = 0x80000000;
rFRCPAT14 = 0x80808080;
rFRCPAT15 = 0x80808080;
rFRCPAT16 = 0x00000000;
rFRCPAT17 = 0x81000000;
rFRCPAT18 = 0x00000000;
rFRCPAT19 = 0x82000000;
rFRCPAT20 = 0x00000000;
rFRCPAT21 = 0x82000000;
rFRCPAT22 = 0x84208420;
rFRCPAT23 = 0x84208420;
rFRCPAT24 = 0x00000000;
rFRCPAT25 = 0x84000000;
rFRCPAT26 = 0x00000000;
rFRCPAT27 = 0x88000000;
rFRCPAT28 = 0x00000000;
rFRCPAT29 = 0x88800000;
rFRCPAT30 = 0x88888888;
rFRCPAT31 = 0x88888888;
rFRCPAT32 = 0x00000000;
rFRCPAT33 = 0x88880000;
rFRCPAT34 = 0x00000000;
rFRCPAT35 = 0x91200000;
rFRCPAT36 = 0x00000000;
rFRCPAT37 = 0x92000000;
rFRCPAT38 = 0xA248A248;
rFRCPAT39 = 0xA248A248;
rFRCPAT40 = 0x00000000;
rFRCPAT41 = 0x92000000;
rFRCPAT42 = 0x00000000;
rFRCPAT43 = 0x92928000;
rFRCPAT44 = 0x00000000;
rFRCPAT45 = 0x92480000;
rFRCPAT46 = 0xA8A8A8A8;
rFRCPAT47 = 0xA8A8A8A8;
rFRCPAT48 = 0x00000000;
rFRCPAT49 = 0x94A00000;
rFRCPAT50 = 0x00000000;
rFRCPAT51 = 0xA5000000;
rFRCPAT52 = 0x00000000;
rFRCPAT53 = 0xA5200000;
rFRCPAT54 = 0xAA54AA54;
rFRCPAT55 = 0xAA54AA54;
rFRCPAT56 = 0x00000000;
rFRCPAT57 = 0xAA800000;
rFRCPAT58 = 0x00000000;
rFRCPAT59 = 0xAAA80000;
rFRCPAT60 = 0x00000000;
rFRCPAT61 = 0xAAAA8000;
rFRCPAT62 = 0xAAAAAAAA;
rFRCPAT63 = 0xAAAAAAAA;
}
void CstnCommonSetting(void)
{
rLCDCON2=(0)|(LINEVAL_CSTN<<14);
rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);
rLCDCON4=(16<<0)|(MVAL<<8)|(WLH_CSTN<<0); //platform
rLCDCON6=(0x10<<24)|(0x50<<16)|(0x30<<8)|(0); //platform
rLCDTEST=0;
rLCDCON8=(0<<31)|(1<<30)|(1<<28)|(0<<27)|(1<<26)|(0<<25)|(0<<18)|(0<<17)|(0<<10)|(0<<9)|(0<<2)|(0<<1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -