如题所述
å¯ä»¥çï¼åå¦é®çæ«æç¨åºæ¯
#include<reg51.h>
#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;
}
}
#include<reg51.h>
#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;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-04-13
设置其中的一个按键,定为标志位
如果没有按下标志位 则
a=a*10+key ; //key为按键值
如果没有按下标志位 则
a=a*10+key ; //key为按键值
第2个回答 2012-08-14
具体实现要看矩阵键盘和单片机的接口。
实现思路为:
变量a = 0
if( 数字按键 )
(
if( a < 100 ) //还未成为两位数
a *= 10;
a += 数字按键对应值;
)
else if( 删除按键 )
{
a /= 10;
}
if( a > 10 && a < 100 ) //判断为两位数
return a;
实现思路为:
变量a = 0
if( 数字按键 )
(
if( a < 100 ) //还未成为两位数
a *= 10;
a += 数字按键对应值;
)
else if( 删除按键 )
{
a /= 10;
}
if( a > 10 && a < 100 ) //判断为两位数
return a;