OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5318|回复: 6

各位大佬,st芯片驱动9431液晶屏,屏幕有黑点,有没有知道原因的高手

[复制链接]

2

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2022-3-18
在线时间
13 小时
发表于 2022-4-14 14:19:08 | 显示全部楼层 |阅读模式
1金钱
st芯片驱动9431液晶屏,屏幕有黑点,有没有知道原因的高手
屏幕上画红圈的黑点,分布很没有规律,上电后出现,而且全屏刷新,也去不掉,怀疑是初始化的时候,出的问题,有没有高手给解答一下
void LCD_Init(void)
{
       
       
        LCD_RESET = 1;
        delay_ms(100);
        LCD_RESET = 0;
        delay_ms(100);
        LCD_RESET = 1;       
  delay_ms(100);
       
        //************* Start Initial Sequence **********//
        LCD_WR_REG(0x11); //Sleep out
        delay_ms(120);              //Delay 120ms
        //************* Start Initial Sequence **********//
        /*  功耗控制B  */
        LCD_WR_REG(0xCF);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0xC1);
        LCD_WR_DATA8(0X30);
        /*  电源时序控制  */
        LCD_WR_REG(0xED);
        LCD_WR_DATA8(0x64);
        LCD_WR_DATA8(0x03);
        LCD_WR_DATA8(0X12);
        LCD_WR_DATA8(0X81);
        /*  驱动时序控制A  */
        LCD_WR_REG(0xE8);
        LCD_WR_DATA8(0x85);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x79);
        /*  功耗控制A  */
        LCD_WR_REG(0xCB);
        LCD_WR_DATA8(0x39);
        LCD_WR_DATA8(0x2C);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x34);
        LCD_WR_DATA8(0x02);
        /*  泵比控制  */
        LCD_WR_REG(0xF7);
        LCD_WR_DATA8(0x20);
        /*  驱动时序控制B  */
        LCD_WR_REG(0xEA);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);
        /*  帧速率控制(正常模式/全色模式)  */
        LCD_WR_REG(0xC0); //Power control
//        LCD_WR_DATA8(0x1D); //VRH[5:0]
                LCD_WR_DATA8(0x1b); //VRH[5:0]
        /*功耗控制2*/
        LCD_WR_REG(0xC1); //Power control
        //设置最佳的工作电压的升压因子,为了降低功耗,设置一个较小的因子
        //应该是0x01,不应该是0x11,此处貌似参考的野火的例程写的有问题
//        LCD_WR_DATA8(0x12); //SAP[2:0];BT[3:0]
        LCD_WR_DATA8(0x01); //SAP[2:0];BT[3:0]
       
        LCD_WR_REG(0xC5); //VCM control
        LCD_WR_DATA8(0x33);
        LCD_WR_DATA8(0x3F);
        /*VCOM控制2*/
        LCD_WR_REG(0xC7); //VCM control
        LCD_WR_DATA8(0x92);
       
        LCD_WR_REG(0x3A); // Memory Access Control
        LCD_WR_DATA8(0x55);
       
        LCD_WR_REG(0x36); // Memory Access Control
        if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x08);
        else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC8);
        else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x78);
        else LCD_WR_DATA8(0xA8);
        /*  帧速率控制(正常模式/全色模式)  */
        LCD_WR_REG(0xB1);
        LCD_WR_DATA8(0x00);
//        LCD_WR_DATA8(0x12);
                LCD_WR_DATA8(0x1a);
/*显示功能设置控制*/       
        LCD_WR_REG(0xB6); // Display Function Control
        LCD_WR_DATA8(0x0A);
        LCD_WR_DATA8(0xA2);

        LCD_WR_REG(0x44);
        LCD_WR_DATA8(0x02);
/*使能3G*/
        LCD_WR_REG(0xF2); // 3Gamma Function Disable
        LCD_WR_DATA8(0x00);
        /*伽马设置*/
        LCD_WR_REG(0x26); //Gamma curve selected
        LCD_WR_DATA8(0x01);
        /*正极伽马校正*/
        LCD_WR_REG(0xE0); //Set Gamma
                LCD_WR_DATA8(0x0F);
        LCD_WR_DATA8(0x2A);
        LCD_WR_DATA8(0x28);
        LCD_WR_DATA8(0x08);
        LCD_WR_DATA8(0x0E);
        LCD_WR_DATA8(0x08);
        LCD_WR_DATA8(0x54);
        LCD_WR_DATA8(0XA9);
        LCD_WR_DATA8(0x43);
        LCD_WR_DATA8(0x0A);
        LCD_WR_DATA8(0x0F);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);        
//        LCD_WR_DATA8(0x0F);
//        LCD_WR_DATA8(0x22);
//        LCD_WR_DATA8(0x1C);
//        LCD_WR_DATA8(0x1B);
//        LCD_WR_DATA8(0x08);
//        LCD_WR_DATA8(0x0F);
//        LCD_WR_DATA8(0x48);
//        LCD_WR_DATA8(0xB8);
//        LCD_WR_DATA8(0x34);
//        LCD_WR_DATA8(0x05);
//        LCD_WR_DATA8(0x0C);
//        LCD_WR_DATA8(0x09);
//        LCD_WR_DATA8(0x0F);
//        LCD_WR_DATA8(0x07);
//        LCD_WR_DATA8(0x00);
        /*负极伽马校正*/
        LCD_WR_REG(0XE1); //Set Gamma
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x15);
        LCD_WR_DATA8(0x17);
        LCD_WR_DATA8(0x07);
        LCD_WR_DATA8(0x11);
        LCD_WR_DATA8(0x06);
        LCD_WR_DATA8(0x2B);
        LCD_WR_DATA8(0x56);
        LCD_WR_DATA8(0x3C);
        LCD_WR_DATA8(0x05);
        LCD_WR_DATA8(0x10);
        LCD_WR_DATA8(0x0F);
        LCD_WR_DATA8(0x3F);
        LCD_WR_DATA8(0x3F);
        LCD_WR_DATA8(0x0F);        
//        LCD_WR_DATA8(0x00);
//        LCD_WR_DATA8(0x23);
//        LCD_WR_DATA8(0x24);
//        LCD_WR_DATA8(0x07);
//        LCD_WR_DATA8(0x10);
//        LCD_WR_DATA8(0x07);
//        LCD_WR_DATA8(0x38);
//        LCD_WR_DATA8(0x47);
//        LCD_WR_DATA8(0x4B);
//        LCD_WR_DATA8(0x0A);
//        LCD_WR_DATA8(0x13);
//        LCD_WR_DATA8(0x06);
//        LCD_WR_DATA8(0x30);
//        LCD_WR_DATA8(0x38);
//        LCD_WR_DATA8(0x0F);
/*行地址设置*/
        LCD_WR_REG(0x2B);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x01);
        LCD_WR_DATA8(0x3f);
        /*列地址设置*/
        LCD_WR_REG(0x2A);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0x00);
        LCD_WR_DATA8(0xef);         
       
        LCD_WR_REG(0x29); //Display on               
    LCD_Clear(GREEN);       
//        WDT_Restart();
//                LCD_Fill( 0, 0, 320, 240, GREEN);
}

微信截图_20220414141439.png
微信截图_20220414141301.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3380

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8609
金钱
8609
注册时间
2020-5-11
在线时间
4042 小时
发表于 2022-4-14 15:44:30 | 显示全部楼层
修改LCD_Fill,让它每发送一字节就延时10ms(或更长时间),看看这函数的效果。
专治疑难杂症
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2022-4-14 23:28:25 | 显示全部楼层
你这个看起来像是屏幕是个坏的啊。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2022-3-18
在线时间
13 小时
 楼主| 发表于 2022-4-17 10:55:21 | 显示全部楼层
正点原子 发表于 2022-4-14 23:28
你这个看起来像是屏幕是个坏的啊。。。

确认不是坏的
回复

使用道具 举报

2

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2022-3-18
在线时间
13 小时
 楼主| 发表于 2022-4-17 10:56:34 | 显示全部楼层
LcwSwust 发表于 2022-4-14 15:44
修改LCD_Fill,让它每发送一字节就延时10ms(或更长时间),看看这函数的效果。

谢谢,我下午试试!
回复

使用道具 举报

2

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2022-3-18
在线时间
13 小时
 楼主| 发表于 2022-4-25 20:19:16 | 显示全部楼层
问题还是没有解决,请大家帮帮忙!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2022-4-26 00:06:45 | 显示全部楼层

让卖家帮你看看吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-28 05:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表