本帖最后由 binsea 于 2011-2-9 15:56 编辑
单片机的键盘扫描程序网上很多,我找了一个用。
现在的问题是:我要把两次按键的值赋给一个变量供其他程序使用。
举个例子:我按下8和9后,把8和9取得,组合成89,然后赋给变量key怎么弄?
while(1)
{
if (当按键被按下)
{
执行键扫描;
把得到的键值赋给key;
}
}
键扫描程序不分第几次按键,按一次有一次的值。我现在就是不知道怎么把两次按键的值取出来,然后组合?
***********************************************************
我用了个计数器来判断第几次按键,但是最后得到的数据是错的。
k=0;
if (当按键被按下)
{
k=k+1;
if (k==1表示第一次按键)
{
执行键扫描;
把得到的键值赋给key1;
}
if (k==2第二次按键)
{
键扫描;
把得到的值赋给key2;
}
}
这样把两次按键所得到的值赋给key1和key2好像不对,但是矩阵键盘扫描程序没办法区分并得到两次按键的值。 |