麻烦各位帮我看一下m16的按键程序
按键是接了PORTA的第四位,有外加上拉电阻。IO配置
PORTA = 0xFF;
DDRA= 0x00;
按键程序
void key_scan(void)
{
unsigned char current_key,last_key;
current_key=PINA&0x0f;
if(current_key!=0x0f)
{
if(last_key==0x0f)
{
switch(current_key)
{
case 0x0e:
if(set_voltage<=3590) set_voltage+=10;
else set_voltage=3600;
break;
case 0x0d: if(set_voltage>=3010) set_voltage-=10;
else set_voltage=3000;
break;
case 0x0b: if(set_voltage<=3500) set_voltage+=100;
else set_voltage=3600;
break;
case 0x07: if(set_voltage>=3100) set_voltage-=100;
else set_voltage=3000;
break;
default: break;
}
}
}
last_key=current_key;]
}
这个程序哪里出错了,麻烦各位大侠帮我找一下。 上面打错字了,是‘按键是接了PORTA的低四位,有外加上拉电阻’ last_key 在这里是局部变量,不会保存上次的值;
//这样定义
static unsigned char last_key; xiaowu191 发表于 2013-8-1 20:29 static/image/common/back.gif
last_key 在这里是局部变量,不会保存上次的值;
//这样定义
一点即中!{:smile:} 谢啦!
页:
[1]