LCD显示闪烁问题

[复制链接]
2325|2
 楼主| gaohq 发表于 2009-6-23 22:20 | 显示全部楼层 |阅读模式
uchar code str1[]="aaaaaaaaaaaa";
uchar code str2[]="bbbbbbbbbbbb";
uchar code str3[]="cccccccccccc";
uchar code str4[]="dddddddddddd";
sbit KEY1=P1^1;
sbit KEY2=P1^2;
main()
{
  uchar stat=1;
  lcd_init();
  while(1)
  {
    switch(stat)
    {
      case 1:lcd_write_string(str1);
             if(KEY1==0){while(KEY1==0);stat=2;}
             if(KEY2==0){while(KEY2==0);stat=1;}
             break;
      case 2:lcd_write_string(str2);
             if(KEY1==0){while(KEY1==0);stat=3;}
             if(KEY2==0){while(KEY2==0);stat=1;}
             break;
      case 3:lcd_write_string(str3);
             if(KEY1==0){while(KEY1==0);stat=4;}
             if(KEY2==0){while(KEY2==0);stat=2;}
             break;
      case 4:lcd_write_string(str4);
             if(KEY1==0){while(KEY1==0);stat=1;}
             if(KEY2==0){while(KEY2==0);stat=3;}
             break;
      default:break;


    }
   }
}
按KEY1,KEY2 是能实现上下翻显示,但显示不稳,不停的闪,如何解决?
walnutcy 发表于 2009-6-25 00:43 | 显示全部楼层

按键防抖错误

假如没的按键按下,会是什么情况?

你会不停地重写当前界面
ayb_ice 发表于 2009-6-25 11:32 | 显示全部楼层

LCD显示一般不会闪烁

因为驱动芯片都有缓冲区,是否是没有设置好,或是硬件问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

378

主题

3767

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部