显示屏如何实现定时翻页功能
因为身边材料有限,只有一个1602LCD显示屏,因此希望能够实现显示屏翻页,从而能够尽可能多的实现数据的显示。不过在实践中发现效果并不理想,用了delay( )+lcd.clear( ),没法将此前的数据刷新掉,不知道大家有什么建议么? 原本想用以下的代码进行编译编译的,不过发现加入变量之后就出现了一些问题,测出的变量不能实时显示在lcd屏幕上,不知道有木有大神能够帮我解决一下这个问题?
lcd.print("V1=");
lcd.setCursor(0,2);
lcd.print("V2=");
lcd.setCursor(3,0);
lcd.print(vin1);
lcd.print(" V");
delay(500);
lcd.setCursor(3,1);
lcd.print(vin2);
lcd.print(" V");
delay(5000);
lcd.clear();
lcd.print(ohm);
lcd.print(" Ohm");
delay(5000);
lcd.clear();
用lcd.clear( )来清屏,或者直接写满整个屏,空位用空格代替。
定时翻页可以用定时时中断实现,参考这个贴子 http://www.geek-workshop.com/forum.php?mod=viewthread&tid=4021 文少 发表于 2013-5-24 16:10 static/image/common/back.gif
用lcd.clear( )来清屏,或者直接写满整个屏,空位用空格代替。
定时翻页可以用定时时中断实现,参考这个贴 ...
先谢过,我在看了,如果有问题再问 文少 发表于 2013-5-24 16:10 static/image/common/back.gif
用lcd.clear( )来清屏,或者直接写满整个屏,空位用空格代替。
定时翻页可以用定时时中断实现,参考这个贴 ...
我礼拜一再去试一下,板子没带回家,没法实践。。。哎,蛋疼 文少 发表于 2013-5-24 16:10 static/image/common/back.gif
用lcd.clear( )来清屏,或者直接写满整个屏,空位用空格代替。
定时翻页可以用定时时中断实现,参考这个贴 ...
后来试了试还是不行,不太清楚LCD的定时时间如何设定 定义个变量alt,当alt小于5时显示一个屏,大于5时显示另一个,大于9时回0
我就是这样做的,请参考
if(alt++ < 5){
lcd.clear(); //the first screen
lcd.setCursor(0,0);
lcd.print("T:");
lcd.print(temp);
lcd.setCursor(9,0);
lcd.print("H:");
lcd.print(humi);
lcd.setCursor(0,1);
lcd.print("P:");
lcd.print(pm25);
lcd.setCursor(9,1);
lcd.print("L:");
lcd.print(light);
}else{ //the second screen
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BP:");
lcd.print(bp);
lcd.setCursor(0,1);
lcd.print("Al:");
lcd.print(altitude);
}
if(alt >9) alt = 0; lemodd 发表于 2013-6-4 16:02 static/image/common/back.gif
定义个变量alt,当alt小于5时显示一个屏,大于5时显示另一个,大于9时回0
我就是这样做的,请参考
alt可以换成时间变量然后进行操作么
之前用的是delay(),发现在delay的阶段CPU处于停滞状态,不能对外部数据进行处理 mussBAschaffen 发表于 2013-6-4 16:13 static/image/common/back.gif
alt可以换成时间变量然后进行操作么
之前用的是delay(),发现在delay的阶段CPU处于停滞状态,不能对外 ...
可以用millis()获得时间,你可以试下 lemodd 发表于 2013-6-4 16:16 static/image/common/back.gif
可以用millis()获得时间,你可以试下
嗯,好的
我去试试看,希望多个屏幕的翻转不会出现问题
页:
[1]