通过6个按键输入阿拉伯数字,并在lcd12864上显示出来

[复制链接]
2845|4
 楼主| prodream 发表于 2013-10-14 09:50 | 显示全部楼层 |阅读模式
有6个按键,上,下,左,右,确定,返回。编写3级菜单,通过lcd12864显示出来,比如其中有一项子菜单命令为“输入手机号码”,我现在就是想知道用这6个键怎么输入阿拉伯数字的手机号码。

按上下键输入数字,同时这个数字的在闪烁,按右键后,刚刚修改的那位不闪动,第二位数字闪动,按上下键数字变动,依次类推,完成最后一个数字输入后,按确认键,数据设置成功。

退出此子菜单,在进入其他子菜单,再输入另一传阿拉伯数字,比如年龄,28,又要用到上下左右,这里面变量怎么定义,初始化等。数字的位数都是固定的,比如手机号码就是11位,年内就是2位。

菜单我自己搞定了,就是输入手机号码不好搞,也就是说用上下左右4个键输入阿拉伯数字的问题。而且这里面的上下又和菜单操作的上下扯在一起,自己做的很繁琐,很多标志位,变量。

请问,大家有没有做过这方面的应用,能不能指点一二,或者抛个代码,或者给个链接过来,或者提供些资料,谢谢!
tyw 发表于 2013-10-14 10:03 | 显示全部楼层
上,下键作数字增减,左右键作位选,确定键作最后认可发送,返回键退出
 楼主| prodream 发表于 2013-10-16 09:48 | 显示全部楼层
tyw 发表于 2013-10-14 10:03
上,下键作数字增减,左右键作位选,确定键作最后认可发送,返回键退出

这样做达到了初步的效果,但现在遇到了个问题,关于12864的数字显示的
比如我想显示         接通时间:34秒        但是显示成     接通时间:3 4 秒
就是阿拉伯数字占用了一个中文字符的宽度,这个怎么解决的。
tyw 发表于 2013-10-16 10:47 | 显示全部楼层
本帖最后由 tyw 于 2013-10-16 11:01 编辑

字母,数字都选用8X16的ASCII字库的就瘦了












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
orangelxlf 发表于 2013-10-16 12:44 | 显示全部楼层
用状态机
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

6

帖子

0

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