📄 panel.c
字号:
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr);
return;
}
V5_BySetRSLow((UINT16)adr);
V5_BySetRSHigh((UINT16)val);
}
const LCDReg gMPanel_powon[] =
{
{0x0111, 0x0474, 0},
{0x0110, 0x0101, 20},
{0x0111, 0x02de, 0},
{0x0110, 0x0102, 20},
{0x0111, 0x0c74, 0},
{0x0110, 0x0101, 20},
{0x0050, 0x0100, 20},
{0x0111, 0x080c, 0},
{0x0110, 0x0100, 20},
{0x0111, 0x029b, 0},
{0x0110, 0x0102, 20},
{0x0111, 0x04d1, 0},
{0x0110, 0x0101, 20},
{0x0111, 0x04e4, 0},
{0x0110, 0x0101, 20},
{0x0111, 0x0008, 0},
{0x0110, 0x0103, 20},
{0x0111, 0x06c0, 0},
{0x0110, 0x0106, 20},
{0x0111, 0x0c0a, 0},
{0x0110, 0x0100, 20},
{0x100, 0x0110, 20},
{0x0007, 0x0001, 20},
{0x0007, 0x0012, 20},
{0x0111, 0x0c08, 0},
{0x0110, 0x0001, 20},
{0x0007, 0x0013, 20},
{0x0007, 0x0113, 20},
{0x0001, 0x0100, 20},
{0x0002, 0x0700, 20},
//{0x0003, 0x1130, 20},
{0x0003, 0x1130, 20},
{0x0004, 0x0000, 20},
{0x0005, 0x0000, 20},
{0x0008, 0x0f03, 20},
{0x0009, 0x142c, 20},
{0x000B, 0x0008, 20},
{0x000C, 0x0001, 20},
{0x000D, 0x0010, 20},
{0x000e, 0x0210, 20},
{0x000f, 0x0000, 20},
{0x0010, 0x0000, 20},
{0x0011, 0x0000, 20},
{0x0012, 0x0002, 20},
{0x0013, 0x0000, 20},
{0x0015, 0x0300, 20},
{0x0016, 0x0440, 20},
{0x0017, 0x0000, 20},
{0x0018, 0x0007, 20},
{0x0019, 0x0000, 20},
{0x001b, 0x0300, 20},
{0x0200, 0x0000, 20},
{0x0201, 0x0000, 20},
{0x0210, 0x0000, 20},
{0x0211, 0x00ef, 20},
{0x0212, 0x0000, 20},
{0x0213, 0x013f, 20},
{0x0400, 0x0027, 20},
{0x0401, 0x0001, 20},
{0x0402, 0x0000, 20},
{0x0403, 0x013f, 20},
{0x0404, 0x0000, 20},
{0x0405, 0x0000, 20},
{0x0406, 0x0000, 20},
{0x0304, 0x1409, 20},
{0x0309, 0x0602, 20},
{0x0300, 0x0003, 20},
{0x0301, 0x4000, 20},
{0x0302, 0x0407, 20},
{0x0303, 0x0305, 20},
{0x0305, 0x0704, 20},
{0x0306, 0x0407, 20},
{0x0307, 0x0503, 20},
{0x202, 0xffff, 20}
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if V5_DEF_HISENSE_TFT_128160
/*******************************************************
driver ic bias size
mainpanel:S6D0110A (0x0,0x0) 128*160
subpanel: SSD1773 (0X0,0X0) 96*64
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT16)val>>8);
V5_BySetRSHigh((UINT8)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr>>8);
V5_BySetRSLow((UINT8)adr);
return;
}
V5_BySetRSLow((UINT16)adr>>8);
V5_BySetRSLow((UINT8)adr);
V5_BySetRSHigh((UINT16)val>>8);
V5_BySetRSHigh((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
{0x0007,0x0104,0},
{0x000D,0x0202,0},
{0x000E,0x0e19,10},
{0x0001,0x0213,0},//0x213
{0x0002,0x0400,0},
{0x0005,0x1030,0},
{0x0006,0x0000,0},
{0x000B,0x0001,0},
{0x000C,0x0003,0},
{0x0003,0x0008,0},
{0x0004,0x8000,10},
{0x000D,0x0318,0},
{0x000E,0x2a19,10},
{0x0030,0x0700,0},
{0x0031,0x0007,0},
{0x0032,0x0000,0},
{0x0033,0x0100,0},
{0x0034,0x0707,0},
{0x0035,0x0007,0},
{0x0036,0x0700,0},
{0x0037,0x0007,0},
{0x000F,0x0000,0},
{0x0011,0x0000,0},
{0x0014,0x5C00,0},
{0x0015,0x9F5D,0},
{0x0016,0x7f00,0},
{0x0017,0x9F00,0},
{0x003A,0x0300,0},
{0x003B,0x0301,40},
{0x0007,0x0105,10},
{0x0007,0x0125,0},
{0x0007,0x0127,10},
{0x0007,0x0137,0},
{0x0021,0x0000,0}
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
void SLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
*(volatile UINT8*)(0x8000200)=(UINT8)val;
return;
}
if(val==0xffff)
{
*(volatile UINT8*)(0x8000000)=(UINT8)adr;
return;
}
*(volatile UINT8*)(0x8000000)=(UINT8)adr;
*(volatile UINT8*)(0x8000200)=(UINT8)val;
}
const LCDReg gSPanel_powon[] =
{
{0xae, 0xffff, 10},
{0xd1, 0xffff, 0},//osc enable
{0x94, 0xffff, 0},//exuit sleep
{0xca, 0, 0},
{0xffff, 0x0, 0},
{0xffff, 0, 0},
{0xbb, 0x1, 0},
{0xbc, 0x0, 0},
{0xffff, 0x0, 0},
{0xffff, 0x00, 0},
{0x20, 0xf, 20},
{0x81, 0x20, 0},
{0xffff, 6, 0},
{0xf2, 0x0a, 0},
{0xffff, 0x1a, 0},
{0xf0, 0x08, 0},
{0xffff, 0x01, 0},
{0xfb, 0x04, 0},
{0xf7, 0x28, 0},
{0xffff, 0x2e, 0},
{0xffff, 0x5,0},
{0xa2, 0xffff, 0},
{0xa7, 0xffff, 0},
{0xaf, 0xffff, 0},
{0x15, 0x0, 0},
{0xffff, 0x5f, 0},
{0x75, 0, 0},
{0xffff, 0x3f, 0}
};
LCDParm SLcdParm =
{
{ sizeof(gSPanel_powon) / sizeof(LCDReg), (PLCDReg)&gSPanel_powon }, //power on
{0, NULL}, //stand by
{ 0, NULL },
{ 0, NULL },
};
#endif
#if SHARP_UPD161801_24
/*******************************************************
driver ic bias size
mainpanel:uPD161801+uPD161861_16BIT (0x0,0x0) 240X320
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSLow(val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow(adr);
return;
}
V5_BySetRSLow(adr);
V5_BySetRSLow(val);
}
const LCDReg gMPanel_powon[] =
{
{0x0200, 0xffff, 0},
{0x0301, 0xffff, 0},
{0x4101, 0xffff, 5},//250us
{0x0040, 0xffff, 0},//{0x0040, 0xffff, 0},
{0x4e20, 0xffff, 200},//10MS
{0x4e60, 0xffff, 0},
{0x0100, 0xffff, 1},//51us
{0x2201, 0xffff, 1},//51us
{0x2200, 0xffff, 334},//16.7ms
{0x0102, 0xffff, 0},
{0x2757, 0xffff, 5},//250us
{0x2860, 0xffff, 5},//250us
{0x2967, 0xffff, 5},//250us
{0x2a00, 0xffff, 5},//250us
{0x3c00, 0xffff, 5},//250us
{0x3d01, 0xffff, 5},//250us
{0x3e59, 0xffff, 5},//250us
{0x3f87, 0xffff, 5},//250us
{0x402f, 0xffff, 5},//250us
{0x4b03, 0xffff, 0},
{0x4c01, 0xffff, 0},
{0x4f04, 0xffff, 0},
{0x5026, 0xffff, 0},
{0x5319, 0xffff, 0},
{0x5422, 0xffff, 0},
{0x550f, 0xffff, 0},
{0x5618, 0xffff, 0},
{0x5705,0xffff, 0},
{0x580e, 0xffff, 0},
{0x34b0, 0xffff, 0},
{0x3006, 0xffff, 0},
{0x3500, 0xffff, 0},
{0x3170, 0xffff, 0},
{0x3377, 0xffff, 0},
{0x3277, 0xffff, 0},
{0x3777, 0xffff, 0},
{0x3604, 0xffff, 0},
{0x0500, 0xffff, 0}, //{0x0500, 0xffff, 0
//r5:D7 DTX1 The data bus of the display data at the time of 16-bit parallel data transfer inputted is set.
//DTX1 = L: 1-pixel/16-bit mode
//DTX1 = H: 1-pixel/18-bit mode
{0x0600, 0x0000, 0},
{0x0700, 0x0000, 0},
{0x4d10, 0xffff, 0},
{0x26ef, 0xffff, 200},
{0x4d00, 0xffff, 0},
{0x5d18, 0xffff, 340},
{0x0112, 0xffff, 0},//{0x0112, 0xffff, 0}
{0x3d05, 0xffff, 5},
{0x4d28, 0xffff, 0},//0x4d28
{0x5df8, 0xffff, 1800},
{0x3d07, 0xffff, 5},
{0x0000, 0xffff, 0}
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if V5_DEF_TOSHIBA_LTM018A
/*******************************************************
driver ic bias size
mainpanel:LTM018A (0x0,0x0) 128*160
********************************************************/
void MLcdSetReg(int adr,int val)
{
adr <<= 8;
adr |= val & 0xff;
V5_BySetRSLow((UINT16)adr);
}
const TReg gMPanel_powon[] =
{
{0x82, 0x3f, 0},
{0x70, 0x84, 0},
{0x74, 0x0d, 10},
{0x73, 0xb, 0},
{0x79, 0x47, 0},
{0x71, 0x11, 10},
{0x75, 0x0, 0},
{0x76, 0x18, 0},
{0x71, 0x21, 10},
{0x70, 0xf4, 0},
{0x72, 0xa1, 0},
{0x71, 0x01, 50},
{0x70, 0xc8, 0},
{0x71, 0x21, 10},
{0x20, 0x3, 0},
{0x71, 0x41, 10},
{0x21, 0x2a, 0},
{0x26, 0x82, 0},
{0x27, 0x1, 0},
{0x22, 0x0, 0},
{0x23, 0xb, 0},
{0x24, 0x1, 0},
{0x25, 0x0, 0},
{0x12, 0x0, 0},
{0x1e, 0xb, 0},
{0x1f, 0x46, 0},
{0x14, 0x0, 0},
{0x10, 0x1, 15},
{0x10, 0x0, 0},
{0xd, 0x1, 0},
{0x0, 0x0, 0},
{0x1, 0x7, 0},
{0x2, 0x0, 0},
{0x3, 0x0, 0},
{0x4, 0x7f, 0},
{0x5, 0x9f, 0},
{0x6, 0xff, 0},
{0x7, 0xff, 0},
{0x8, 0xff, 0},
{0x9, 0xff, 0},
{0xa, 0x0, 0},
{0xb, 0x0, 0},
{0xc, 0x0, 0},
{0x15, 0x0, 0},
{0x11, 0x0, 10},
{0x10, 0x2, 0},
{0x31, 0x77, 0},
{0x32, 0x77, 0},
{0x33, 0x77, 0},
{0x34, 0x77, 0},
{0x35, 0x77, 0},
{0x36, 0x77, 0},
{0x37, 0x77, 0},
{0x38, 0x77, 0},
{0x39, 0x77, 0},
{0x3a, 0x77, 0},
{0x3b, 0x77, 0},
{0x3c, 0x77, 0},
{0x3d, 0x77, 0},
{0x3e, 0x77, 0},
{0x3f, 0x77, 0},
{0x40, 0x77, 0},
{0x41, 0x77, 0},
{0x42, 0x77, 0},
{0x43, 0x77, 0},
{0x44, 0x77, 0},
{0x45, 0x77, 0},
{0x46, 0x77, 0},
{0x47, 0x77, 0},
{0x48, 0x77, 0},
{0x49, 0x77, 0},
{0x4a, 0x77, 0},
{0x4b, 0x77, 0},
{0x4c, 0x77, 0},
{0x4d, 0x77, 0},
{0x4e, 0x77, 0},
{0x4f, 0x77, 0},
{0x50, 0x77, 0},
{0x51, 0x77, 0},
{0x52, 0x77, 0},
{0x53, 0x77, 0},
{0x54, 0x77, 0},
{0x55, 0x77, 0},
{0x56, 0x77, 0},
{0x57, 0x77, 0},
{0x58, 0x77, 0},
{0x59, 0x77, 0},
{0x5a, 0x77, 0},
{0x5b, 0x77, 0},
{0x5c, 0x77, 0},
{0x5d, 0x77, 0},
{0x5e, 0x77, 0},
{0x5f, 0x77, 0},
{0x60, 0x77, 0},
{0x61, 0x77, 0},
{0x62, 0x77, 0},
{0x63, 0x77, 0},
{0x64, 0x77, 0},
{0x65, 0x77, 0},
{0x66, 0x77, 0},
{0x67, 0x77, 0},
{0x68, 0x77, 0},
{0x69, 0x77, 0},
{0x6a, 0x77, 0},
{0x6b, 0x77, 0},
{0x6c, 0x77, 0},
{0x6d, 0x77, 0},
{0x6e, 0x77, 0}
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if BIRD_SM07_S6D0118_SSD1332
/*******************************************************
driver ic bias size
mainpanel:S6D0118_8bit (0x0,0x0) 176*230
subpanel: SSD1332_8BIT (0X0,0X0) 96*64
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT16)val>>8);
V5_BySetRSHigh((UINT8)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr>>8);
V5_BySetRSLow((UINT16)adr);
return;
}
V5_BySetRSLow((UINT16)adr>>8);
V5_BySetRSLow((UINT8)adr);
V5_BySetRSHigh((UINT16)val>>8);
V5_BySetRSHigh((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
{0x0011,0x2803, 0},
{0x0014,0x402a, 0},
{0x0010,0x2480, 0},
{0x0013,0x0040, 55},
{0x0013,0x0060, 55},
{0x0013,0x0070, 200},
{0x0001,0x061d,0},
{0x0002,0x0700,0},//0d00/0500
{0x0003,0x1030,0},
{0x0007,0x0016,0},
{0x0008,0x0808,0},
{0x0009,0x0000,0},
{0x000b,0x0000,0},
{0x000c,0x0000,0},
{0x0030,0x0000,0},
{0x0031,0x0000,0},
{0x0032,0x0303,0},
{0x0033,0x0000,0},
{0x0034,0x0404,0},
{0x0035,0x0707,0},
{0x0036,0x0707,0},
{0x0037,0x0000,0},
{0x0038,0x0404,0},
{0x0039,0x0006,0},
{0x0042,0xe50a,0},
{0x0043,0x0000,0},
{0x0044,0xaf00,0},
{0x0045,0xe50a,0},
{0x0021,0x0a00,0},
{0x0022,0xffff,40},
{0x0007,0x0014,0},
{0x0007,0x0016,50},
{0x0007,0x0017,10},
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
void SLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT8)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT8)adr);
return;
}
V5_BySetRSLow((UINT8)adr);
V5_BySetRSHigh((UINT8)val);
}
const LCDReg gSPanel_powon[] =
{
{0xae, 0xffff, 10}, //Set Display off
{0xad, 0xffff, 10},//Set Master configuration
{0x8e, 0xffff, 10},//64 Row setting
{0x3f, 0xffff, 10},
{0xa1, 0xffff, 10},//Set Display start line
{0x00, 0xffff, 10},
{0xa2, 0xffff, 10},//Set Display offset
{0x00, 0xffff, 10},
{0xa0, 0xffff, 10},//Set Display re-map (65K COLOR)
{0x72, 0xffff, 10},//0x60-->
{0x87, 0xffff, 10}, //Master current control
{0x06, 0xffff, 10},//(06 for normal brightness;0C for high brightness)
{0x81, 0xffff, 10}, //Set Color Blue contrast control
{0x80, 0xffff, 10},
{0x82, 0xffff, 10},//Set Color Green contrast control
{0x80, 0xffff, 10},
{0x83, 0xffff, 10},//Set Color Red contrast control
{0x80, 0xffff, 10},
{0xa4, 0xffff, 10}, //Normal Display
{0xb1, 0xffff, 10}, //Set phase Length
{0x11, 0xffff, 10},
{0xbb, 0xffff, 10},//Set Precharge
{0x00, 0xffff, 10},
{0xbb, 0xffff, 10},//Set Precharge
{0x00, 0xffff, 10},
{0xbc, 0xffff, 10},//Set Precharge
{0x00, 0xffff, 10},
{0xbd, 0xffff, 10},//Set Precharge
{0x00, 0xffff, 10},
{0xb0, 0xffff, 10},//Power saving mode off
{0x00, 0xffff, 10},
{0xaf, 0xffff, 10},
};
LCDParm SLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon }, //power on
{0, NULL}, //stand by
{ 0, NULL },
{ 0, NULL },
};
#endif
#if DONXIN_HX8310
/*******************************************************
driver ic bias size
mainpanel:Hx8301 HD66773_16 (0x0,0x0) 128*160
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT16)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr);
return;
}
V5_BySetRSLow((UINT16)adr);
V5_BySetRSHigh((UINT16)val);
}
const LCDReg gMPanel_powon[] =
{
{0x0000, 1, 10},
// initial function 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -