|
本帖最后由 lmn2005 于 2023-8-1 17:47 编辑
从某鱼上购买的2.2寸160120单色屏,驱动芯片为ST7586,17引脚,接线图如下:
按卖家提供的程序可以点亮,但在试用中发现一个问题,就是冷开机时通过显示会异常,像是某些显示点不对位的样子,大约过了二三分钟后再重启电源,便有可能会正常。异常和正常的对比视频如下:
https://www.bilibili.com/video/BV1s14y167h3/
不知道是什么原因,请各位高手赐教,谢谢!
附:屏幕初始化的代码:
- void init_LCD() // 初始化屏幕
- {
- _RST = 1;
- _RST = 0;
- delay_ms(100);
- _RST = 1;
- delay_ms(1000);
- SdCmd(0x01); // 软件复位
- delay_ms(10);
- SdCmd(0x11); // 设置睡眠模式
- // SdCmd(0x28);//显示关
- SdCmd(0xc0); // 设置VOP
- SdData(0x3f); // 1f
- SdData(0x01); // 01
- delay_ms(20);
- SdCmd(0xc3); // 设置BIAS
- SdData(0x02);
- delay_ms(2);
- SdCmd(0xc4); // 设置升压级别
- SdData(0x03);
- delay_ms(2);
- SdCmd(0xd0); // 启用模拟电路
- SdData(0x1d);
- // SdCmd(0x37); //设置显示起始行S =00H->9FH
- // SdData(0x00); //此处不要设置,否则第0行会常亮
- // delay_ms(2);
- SdCmd(0x39); // 设置显示模式0x38为4级灰度模式,0x39为单色模式
- SdCmd(0x3a); // 启用DRAM接口
- SdData(0x02); // 0x02为单色模式与4级灰度模式;0x03为16阶灰度模式(本模块不支持16级灰度模式)
- // SdCmd(0x2b); // 行地址区域设置
- // SdData(0x00);
- // SdData(0x00);
- // SdData(0x00);
- // SdData(0x9f);//160
- /*
- SdCmd(0x2a); //列地址区域设置
- SdData(0x00);
- SdData(0x00); //起始
- SdData(0x00);
- SdData(0x36); //截止0x37=55 55*3=165>160
- SdCmd(0x2b); //行地址区域设置
- SdData(0x00);
- SdData(0x00);//起始
- SdData(0x00);
- SdData(0x77); //截止0x78=120>114
- */
- SdCmd(0xb0); // 设定显示值DT = 03h~9Fh
- SdData(0x78); // 72
- SdCmd(0x36); // 设置扫描方向
- SdData(0x00); // SEG383->SEG0 COM159->COOM0
- SdCmd(0x20); // 反显关
- SdCmd(0xb3); // 设置FOSC分频比
- SdData(0x00);
- SdCmd(0xf1); // 帧率
- // delay_ms(5);
- //
- SdData(0x06);
- SdData(0x0b);
- SdData(0x0d);
- SdData(0x12);
- // SdCmd(0xf2);//自动帧率
- // SdData(0x1e);
- // SdData(0x32);
- // SdData(0x42);
- // SdCmd(0xf4); // 温度补偿
- // SdData(0x7f);
- // SdData(0x22);
- // SdData(0x11);
- // SdData(0x02);
- // SdData(0x00);
- // SdData(0x32);
- // SdData(0x82);
- // SdData(0xb6);
- SdCmd(0x29); // 显示开
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|