//===========================================================
void LCD_READ_ID(void)
{
#if defined(BITH8)
unsigned char idH;
#elif defined(BITL8)
unsigned char idL;
#elif defined(BIT16)
unsigned char idH,idL;
#endif
DataBusH = 0xff;
DataBusL = 0xff;
RS = 1;
WRB_SCL = 1;
RDB_SDA = 1;
CSB = 0;
RDB_SDA = 0;delayms(1);
#if defined(BITH8)
idH= DataBusH;delayms(1);
#elif defined(BITL8)
idL= DataBusL;delayms(1);
#elif defined(BIT16)
idH= DataBusH;
idL= DataBusL;delayms(1);
#endif
RDB_SDA = 1;
CSB = 1;
delayms(2);
#if defined(BITH8)
id = idH;
#elif defined(BITL8)
id = idL;
#elif defined(BIT16)
id=(idH<<8)|idL;
#endif
delayms(2);
}
void LCM_READ_ID(void)
{ U16 id1,id2,id3,id4,id5,id6;
LCD_READ_ID();
id1=id;
LCD_READ_ID();
id2=id;
LCD_READ_ID();
id3=id;
LCD_READ_ID();
id4=id;
LCD_READ_ID();
id5=id;
LCD_READ_ID();
id6=id;
#if defined(BITH8)||defined(BITL8)
#if defined(ILI9341)||defined(NT35310)||defined(ILI9486)
id=(id3<<8)|(id4&0xff);
#endif
#if defined(RM68090)||defined(ST7793)||defined(ILI9225)||defined(ST7775)||defined(R61509V)||defined(ILI9325)||defined(S6D0164)||defined(HX8347_T)||defined(HX8357D)
id=(id1<<8)|(id2&0xff);
#endif
#if defined(ILI9163)||defined(ST7735)||defined(HX8357)
id=(id2<<8)|(id3&0xff);
#endif
#if (defined(ILI9327)||defined(OTM4802B)||defined(OTM8009A))||defined(R61581)||defined(HX8357B)||defined(R61526)
id=(id4<<8)|(id5&0xff);
#endif
#if defined(HX8347_T)
//id=(id1<<8)|(id1&0xff);
id=((0xF8-id1)<<8)|(0XBC-id1); //8347G的ID为7575,显示出来8347
#endif
#elif defined(BIT16)
#if defined(ILI9341)||defined(NT35310)||defined(ILI9486)
id=(id3<<8)|(id4&0xff);
#endif
#if defined(RM68090)||defined(ILI9225)||defined(ST7775)||defined(R61509V)||defined(ST7793)||defined(ILI9325)||defined(S6D0164)
id=id1;
#endif
#if defined(ILI9163)||defined(ST7735)||defined(HX8357)
id=(id2<<8)|(id3&0xff);
#endif
#if (defined(ILI9327)||defined(OTM4802B)||defined(OTM8009A))||defined(HX8357B)||defined(R61581)||defined(R61526)
id=(id4<<8)|(id5&0xff);
#endif
#if defined(HX8347_T)
//id=(id1<<8)|(id1&0xff);
id=((0xF8-id1)<<8)|(0XBC-id1); //8347G的ID为7575,显示出来8347
#endif
#endif
}
void adderset(int xs,int xe,int ys,int ye)
{
#if defined(RM68090)||defined(ST7781R)||defined(ILI9325)
write_cmd(0x0050); write_dat(xs); //hs
write_cmd(0x0051); write_dat(xe); //he
write_cmd(0x0052); write_dat(ys); //vs
write_cmd(0x0053); write_dat(ye); //ve
write_cmd(0x0000);
write_cmd(0x0000);
write_cmd(0x0000);
write_cmd(0x0000);
write_cmd(0x0020); write_dat(xs); //h
write_cmd(0x0021); write_dat(ys); //v
write_cmd(0x0022);
#elif (defined(ILI9341)||defined(ILI9342)||defined(ILI9327)||defined(NT35310)||defined(OTM4802B)||defined(HX8357))||defined(R61526)||defined(ST7735)||defined(ILI9163)||defined(R61581)||defined(ILI9486)||defined(HX8357B)||defined(HX8357D)
write_cmd(0x2a);
write_dat(xs>>8); //hs
write_dat(xs&0xff); //hs
write_dat(xe>>8); //he
write_dat(xe&0xff); //he
write_cmd(0x2b);
write_dat(ys>>8); //hs
write_dat(ys&0xff); //hs
write_dat(ye>>8); //he
write_dat(ye&0xff); //he
write_cmd(0x2c);
#elif defined(ILI9225)||defined(S6D0164)||defined(ST7775)
write_cmd(0x0037);write_dat(xs);
write_cmd(0x0036);write_dat(xe);
write_cmd(0x0039);write_dat(ys);
write_cmd(0x0038);write_dat(ye);
write_cmd(0x0020);write_dat(xs);
write_cmd(0x0021);write_dat(ys);
write_cmd(0x0022);
#elif defined(ST7793)||defined(R61509V)
write_cmd(0x0210);write_dat(xs);
write_cmd(0x0211);write_dat(xe);
write_cmd(0x0212);write_dat(ys);
write_cmd(0x0213);write_dat(ye);
write_cmd(0x0200);write_dat(xs);
write_cmd(0x0201);write_dat(ys);
write_cmd(0x0202);
#elif (defined(OTM8009A))
write_cmd(0x2a00);write_dat(xs>>8); //hs
write_cmd(0x2a01);write_dat(xs&0xff); //hs
write_cmd(0x2a02);write_dat(xe>>8); //he
write_cmd(0x2a03);write_dat(xe&0xff); //he
write_cmd(0x2b00);write_dat(ys>>8); //hs
write_cmd(0x2b01);write_dat(ys&0xff); //hs
write_cmd(0x2b02);write_dat(ye>>8); //he
write_cmd(0x2b03);write_dat(ye&0xff); //he
write_cmd(0x2c00);
#elif defined(HX8347_T)
LCD_reg(0x02,xs>>8);
LCD_reg(0x03,xs&0xff);
LCD_reg(0x04,xe>>8);
LCD_reg(0x05,xe&0xff);
LCD_reg(0x06,ys>>8);
LCD_reg(0x07,ys&0xff);
LCD_reg(0x08,ye>>8);
LCD_reg(0x09,ye&0xff);
write_cmd(0x22); //Start GRAM write
#endif
}
void LCD_TEST_id(unsigned char *id)
{
unsigned char i,j,pixH,pixL;
for (i=0;i<25;i++)
{
for (j=0;j<25;j++)
{
pixH=*id++;
pixL=*id++;
Write_LCM_DATA8(pixH,pixL);
}
delayms(80);
}
}
void LCD_id_SHOW(int a,int b,int c,int d)
{
adderset(0,25,0,25);
LCD_TEST_id(s[a]);
adderset(25,50,0,25);
LCD_TEST_id(s[b]);
adderset(50,75,0,25);
LCD_TEST_id(s[c]);
adderset(75,100,0,25);
LCD_TEST_id(s[d]);
}
void display_LCD_ID(void)
{ U8 a,b,c,d;
#if defined(RM68090)||defined(ST7793)||defined(ST7781)||defined(ILI9325)||defined(R61509V)||defined(ILI9225)||defined(ST7775)||defined(ILI9325)||defined(S6D0164)||defined(HX8347_T)
write_cmd(0x0000); //读取ID,不同IC,ID存放的寄存器会不同
#elif defined(ILI9341)||defined(ILI9163)||defined(ST7735)||defined(ILI9486)
write_cmd(0xd3);
#elif defined ILI9327
write_cmd(0xEF);
#elif defined NT35310
write_cmd(0xD4);
#elif defined OTM4802B
write_cmd(0xA1);
#elif defined OTM8009A
write_cmd(0xA100);
#elif defined HX8357
write_cmd(0xB9);
write_dat(0xFF);
write_dat(0x83);
write_dat(0x57);
//delayms(5);
write_cmd(0xC2);
write_dat(0x30);
write_cmd(0xD0);
#elif defined HX8357D
write_cmd(0xD0);
#elif defined(R61526)
write_cmd(0xB0);
write_dat(0x3F);
write_dat(0x3F);
delayms(5);
write_cmd(0xBF);
#elif defined(R61581)||defined(HX8357B)
write_cmd(0xB0);
write_dat(0x00);
delayms(5);
write_cmd(0xBF);
#endif
LCM_READ_ID();
a = ((id>>12))&0x000f;
b = (id>>8)&0x000f;
c = (id>>4)&0x000f;
d = id&0x000f;
LCD_id_SHOW(a,b,c,d);
}
unsigned char code s[10][1300]={
{
//;D:\picture\shuzi\ww\0.C:24 BIT per pixel
//;R-5BIT,G-6BIT,B-5BIT picture width:25,picture heighth:25
//unsigned char[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
readid.rar_点读
版权申诉
61 浏览量
2022-09-24
19:46:24
上传
评论
收藏 2KB RAR 举报
四散
- 粉丝: 51
- 资源: 1万+
最新资源
- ItemApplicationTest.java
- 个人发卡源码,发卡系统,二次元发卡系统,二次元发卡源码,发卡程序,动漫发卡,PHP发卡源码,异次元发卡
- 基于matlab 决策树分类器的应用研究-乳腺癌诊断源代码+详细教程
- 2008全国电子设计竞赛优秀作品报告doc文档.zip
- 课程智能组卷系统 JAVA+Spring+SpringMVC+MyBatis
- 基于matlab LVQ神经网络的预测-人脸朝向识别源代码+详细教程
- Controlnet敏神大佬IC-Light的AI智能打光 AI这次真的大地震了
- 医院电子病历管理系统 JAVA+Spring+SpringMVC+MyBatis
- 基于matlab LVQ神经网络的分类-乳腺肿瘤诊断源代码+详细教程
- 【C#/.NET/.NET Core学习、工作、面试指南】记录、收集和总结
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈