如何用4*4矩阵键盘实现多位输入

2019-07-15 16:56发布

我需要用4*4矩阵键盘输入位数最多为四位的多位数。我要实现输入0-9时,键盘可以继续输入,液晶1602保持不变,输入10-15时,液晶1602显示我所输入的数值。我写了键盘扫描程序,但是组合起来就不会写了,尝试了很多方法,总是不能成功,以下是我的部分代码,大神能否帮我看看。我觉得主要是逻辑的问题。
void count()
{
        uchar sn;
        uint num1=0;
        sn=key1();//这是键盘扫描程序,16个按键分别返回0-15
        while(sn<10)//当输入0-9时,键盘可以继续输入
        {
                num1=num1*10+sn;
                sn=key1();
        }
        write_f(num1);//输入10-15将我输入的多位数送到1602显示,write_f()是显示函数。
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
Aidaohuakai
1楼-- · 2019-07-15 21:30
1.把num1改为全局变量
2.把while(sn<10)改为if(sn<10)
3.把sn=key1()去掉
4.把write_f(num1)放到if里面
这样输入一位就显示一位,输入n位就显示n位
武力戡乱
2楼-- · 2019-07-15 22:28
 精彩回答 2  元偷偷看……
Aidaohuakai
3楼-- · 2019-07-16 03:00
武力戡乱 发表于 2015-6-1 23:57
实话,我没看懂他问的什么?

我也看不明白!
武力戡乱
4楼-- · 2019-07-16 04:26
Aidaohuakai 发表于 2015-6-2 09:03
我也看不明白!

Aidaohuakai
5楼-- · 2019-07-16 09:24
武力戡乱 发表于 2015-6-2 09:28

我是觉得楼主为什么要全部输入了才显示!
wenzizaigaoge
6楼-- · 2019-07-16 10:29
Aidaohuakai 发表于 2015-6-2 09:03
我也看不明白!

就是跟计算器差不多,能输入多位数,多位数最高位数为四位,输完多位数后弄一个确定键,确定键按下后将这个输入的数送到1602显示出来,我的矩阵键盘16个键分别返回值是0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,我的要求是0-9作为输入键,10-15中随便一个都可以当做确定键。。这样能看懂吗��……

一周热门 更多>