完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`用proteus仿真ILI9341液晶屏,但是无法显示。 LCD_Init初始化中清屏程序将屏清为红色,但是无反应。请各位看看哪里有问题。 void LCD_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE ); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //JTAG-DP 失能 + SW-DP使能 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_Write(GPIOA,0XFF); //LCDBL,RD,WR,RS,CS GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB, GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_2); //CS RS WR RD // //LCDRESET // GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6; // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输LCDRESET // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // GPIO_Init(GPIOB, &GPIO_InitStructure); // GPIO_SetBits(GPIOB, GPIO_Pin_6); LCDBKON;//点亮LCD背光 //***************************RESET LCD Driver****************************** LCD_RESET_SET; //reset-->1 delayms(1); //Delay 1ms LCD_RESET_CLR; //reset-->0 delayms(10); //Delay 10ms LCD_RESET_SET; //reset-->1 delayms(120); //Delay 200ms //************************Start initial sequence*************************** delayms(500); LCD_WR_REG(0x01); delayms(200); LCD_WR_REG(0xCF); LCD_WR_DATA(0x00); LCD_WR_DATA(0x8B); LCD_WR_DATA(0X30); LCD_WR_REG(0xED); LCD_WR_DATA(0x67); LCD_WR_DATA(0x03); LCD_WR_DATA(0X12); LCD_WR_DATA(0X81); LCD_WR_REG(0xE8); LCD_WR_DATA(0x85); LCD_WR_DATA(0x10); LCD_WR_DATA(0x7A); LCD_WR_REG(0xCB); LCD_WR_DATA(0x39); LCD_WR_DATA(0x2C); LCD_WR_DATA(0x00); LCD_WR_DATA(0x34); LCD_WR_DATA(0x02); LCD_WR_REG(0xF7); LCD_WR_DATA(0x20); LCD_WR_REG(0xEA); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_REG(0xC0); //Power control LCD_WR_DATA(0x1B); //VRH[5:0] LCD_WR_REG(0xC1); //Power control LCD_WR_DATA(0x10); //SAP[2:0];BT[3:0] LCD_WR_REG(0xC5); //VCM control LCD_WR_DATA(0x3F); //3F LCD_WR_DATA(0x3C); //3C LCD_WR_REG(0xC7); //VCM control2 LCD_WR_DATA(0XB7); LCD_WR_REG(0x36); // Memory Access Control LCD_WR_DATA(0x08); LCD_WR_REG(0x3A); LCD_WR_DATA(0x55); LCD_WR_REG(0xB1); LCD_WR_DATA(0x00); LCD_WR_DATA(0x1B); LCD_WR_REG(0xB6); // Display Function Control LCD_WR_DATA(0x0A); LCD_WR_DATA(0xA2); LCD_WR_REG(0xF2); // 3Gamma Function Disable LCD_WR_DATA(0x00); LCD_WR_REG(0x26); //Gamma curve selected LCD_WR_DATA(0x01); LCD_WR_REG(0xE0); //Set Gamma LCD_WR_DATA(0x0F); LCD_WR_DATA(0x2A); LCD_WR_DATA(0x28); LCD_WR_DATA(0x08); LCD_WR_DATA(0x0E); LCD_WR_DATA(0x08); LCD_WR_DATA(0x54); LCD_WR_DATA(0XA9); LCD_WR_DATA(0x43); LCD_WR_DATA(0x0A); LCD_WR_DATA(0x0F); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_REG(0XE1); //Set Gamma LCD_WR_DATA(0x00); LCD_WR_DATA(0x15); LCD_WR_DATA(0x17); LCD_WR_DATA(0x07); LCD_WR_DATA(0x11); LCD_WR_DATA(0x06); LCD_WR_DATA(0x2B); LCD_WR_DATA(0x56); LCD_WR_DATA(0x3C); LCD_WR_DATA(0x05); LCD_WR_DATA(0x10); LCD_WR_DATA(0x0F); LCD_WR_DATA(0x3F); LCD_WR_DATA(0x3F); LCD_WR_DATA(0x0F); LCD_WR_REG(0x11); //Exit Sleep delayms(120); LCD_WR_REG(0x29); //display on LCD_WR_REG(0x2A); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0xEF); LCD_WR_REG(0x2B); LCD_WR_DATA(0x00); LCD_WR_DATA(0x00); LCD_WR_DATA(0x01); LCD_WR_DATA(0x3F); // LCD_WR_REG(0x2C); //往存储器写数据 delayms(10); LCD_Clear(RED); } //清屏函数 //Color:要清屏的填充色 void LCD_Clear(u16 Color) { u32 index=0; // LCD_SetCursor(0x00,0x0000);//设置光标位置 LCD_WriteRAM_Prepare(); //开始写入GRAM for(index=0;index<76800;index++) { LCD_WR_DATA(Color); } } void LCD_WR_DATA(u16 data) { LCD_CS_CLR; LCD_RS_SET; LCD_RD_SET; DATAOUT(data); LCD_WR_CLR; LCD_WR_SET; LCD_CS_SET; } //写寄存器函数 void LCD_WR_REG(u8 data) { LCD_CS_CLR; LCD_RS_CLR;//写地址 DATAOUT(data); LCD_WR_CLR; LCD_RD_SET; LCD_WR_SET; LCD_RS_SET; LCD_CS_SET; } `
ili9340 proteus + Keil.rar
(1.41 MB, 下载次数: 82
)
|
|
相关推荐
3个回答
|
|
问题已解决,proteus 中ili9341 IM0不起作用,虽然连接到高电平,但是模式仍然为8位BUS模式。所以不支持8080 -16BUS模式。程序另一个问题是void LCD_WR_DATA(u16 data) LCD_WR_REG(u16 data) 中少延时程序,程序改完后完美解决。
|
|
2 条评论
|
|
驱动lc中的lmo-lm4都是有模式选择的。你的产品要求用16位的就选择16位相应的接脚模式。这个是不会错的因为lc都是经过实验才会大量量产的!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1917 浏览 3 评论
3221 浏览 1 评论
3523 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
5228 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1127 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-9 06:25 , Processed in 0.636666 second(s), Total 56, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号