[求助] 新手请教LCD1602的光标移动问题

chnldq   2011-1-19 22:25 楼主

新手请教LCD1602的光标设置的问题,谢谢了

想实现以下功能:显示四个数值,光标停在第一个数下面闪动,按1号键右移一位,光标在第二位数位置闪,按2号键光标位置数值加1。

 

定位到第一个数下面并让数字闪动实现了,但是光标移位怎么都出不来结果,我按了2号键它跳动的位数不是一位,而是一个不确定的位数,求大侠解答!

世界因我更美好!

回复评论 (3)

你是如何读按键的呢?
会不会是你2号键的抖动比较厉害
点赞  2011-1-20 01:02

回复 楼主 chnldq 的帖子

你去看一下你位加时那个地方的函数,估计是那个地方没有去抖,而是一个长按的效果,然后你按得时间长增加的值就会大,而按键时间短值就会小。在那个地方做一个特殊处理就应该可以了。感觉应该是楼主的按键驱动写得有问题。
点赞  2011-1-20 08:41

谢谢两位的热心帮助!

 

不是按键的去抖的问题。

我最后发现,数值之所以不断加是因为按键值定义为的全局变量,读取后没有清零,在主循环里总是执行加1的程序。

 

keyvalue = key_scan();
      keyval = 0;                    //这一句很关键

世界因我更美好!
点赞  2011-1-24 10:21
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复