找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10046|回复: 3
打印 上一主题 下一主题
收起左侧

请问 如何解决LCD12864闪烁问题?

[复制链接]
跳转到指定楼层
楼主
ID:81283 发表于 2015-9-5 12:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. void Display_Time(cTime *p)
  2. {
  3.         uint8 Date[] = {"20__年__月__日"};
  4.         uint8 Time[] = {"__时__分__秒"};
  5.        
  6.           Time[0] = '0' + ((*p).hour >> 4);
  7.           Time[1] = '0' + ((*p).hour & 0x0f);
  8.           Time[4] = '0' + ((*p).min >> 4);
  9.           Time[5] = '0' + ((*p).min & 0x0f);
  10.           Time[8] = '0' + ((*p).sec >> 4);
  11.           Time[9] = '0' + ((*p).sec & 0x0f);
  12.           
  13.     Date[2] =  '0' + ((*p).year >> 4);
  14.           Date[3] =  '0' + ((*p).year & 0x0f);
  15.           Date[6] =  '0' + ((*p).month >> 4);
  16.     Date[7] =  '0' + ((*p).month & 0x0f);       
  17.           Date[10] = '0' + ((*p).date >> 4);
  18.           Date[11] = '0' + ((*p).date & 0x0f);
  19.        
  20.           clear_display();
  21.           print_str(1,0,Date,NULL); //第二行显示日期
  22.           print_str(2,0,week[(*p).week - 1],6); //第三行显示星期
  23.           print_str(3,0,Time,NULL); //第四行显示时间       
  24. }
复制代码


如果在更新前不清屏,又会有一些残点或者残线时不时闪一下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

地板
ID:81283 发表于 2015-9-8 20:35 | 只看该作者
已经解决问题,谢谢高手的回答。通过对12864的对比度的调节,那些残点残线已经看不见了。留下有效内容。 清屏再刷新一定会闪烁的,因为延时需要5ms以上,不然清屏无效。清屏再刷新的话,这个过程需要时间,所以会闪烁。
回复

使用道具 举报

板凳
ID:63997 发表于 2015-9-5 23:27 | 只看该作者
若你的  Display_Time 函数在主循环不停的循环的话 这个肯定是会闪烁的!建议进行定时刷新,200ms刷一次 这样可能就不会闪烁了  
回复

使用道具 举报

沙发
ID:74784 发表于 2015-9-5 13:31 | 只看该作者
每次刷新前必须要清屏~~~~~~~~~~~
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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