可以的,假如键盘扫描程序是
#include
#define uchar unsigned char
uchar key()
{
//键盘扫描
}
main()
{
uchar keycode[2],i=0,x;
uchar a;
while(1)
{
x=key;
if(x<10)
{
keycode[i]=x;
if(i==1)a=keycode[0]*10+keycode[1];
}
i++;
i&=0x01;
}
}
设置其中的一个按键,定为标志位
如果没有按下标志位 则
a=a*10+key ; //key为按键值
具体实现要看矩阵键盘和单片机的接口。
实现思路为:
变量a = 0
if( 数字按键 )
(
if( a < 100 ) //还未成为两位数
a *= 10;
a += 数字按键对应值;
)
else if( 删除按键 )
{
a /= 10;
}
if( a > 10 && a < 100 ) //判断为两位数
return a;