当前位置:首页 > 单片机 > 单片机
[导读]调试通过.key_scan_p2() //定时器,或者主程序扫描{uchar x,y,z;P2=0x0f; x=P2&0x0f;P2=0xf0;y=P2&0xf0;z=x|y; if(z!=key_value1) key_value1=z; //如果两次结果不同 else { if(key_value1 == 0xff) key_release=0; e

调试通过.

key_scan_p2() //定时器,或者主程序扫描
{uchar x,y,z;
P2=0x0f;
x=P2&0x0f;
P2=0xf0;
y=P2&0xf0;
z=x|y;
if(z!=key_value1) key_value1=z; //如果两次结果不同
else
{
if(key_value1 == 0xff) key_release=0;
else
{
if (key_release==0) //所有按键已经松开了吗?
{
key_release = (z ^ 0xFF);
key_val = z;

switch(key_val)
{
case 0xe7:LED1=~LED1;break;
case 0xd7:LED2=~LED2;break;
case 0xb7:LED3=~LED3;break;
case 0x77:LED4=~LED4;break;
case 0xeb:LED5=~LED5;break;
case 0xdb:LED6=~LED6;break;
case 0xbb:LED7=~LED7;break;
case 0x7b:LED8=~LED8;break;
case 0xed:LED9=~LED9;break;
case 0xdd:LED10=~LED10;break;
case 0xbd:LED11=~LED11;break;
case 0x7d:LED12=~LED12;break;
case 0xee:LED13=~LED13;break;
case 0xde:LED14=~LED14;break;
case 0xbe:LED15=~LED15;break;
case 0x7e:LED16=~LED16;break;
default: break;
}
}
}
}


/* P2 = 0XFF;
if(P2!=key_value1) key_value1=P2; //如果两次结果不同
else
{
if(key_value1 == 0xff) key_release=0;
else
{
if (key_release==0) //所有按键已经松开了吗?
{
key_release = (P2 ^ 0xFF);
key_val = ~P2;

switch(key_val)
{
case 0x01: LED1=~LED1;
break;
case 0x02: LED2=~LED2;
break;
case 0x04: LED3=~LED3;
break;
case 0x08: LED4=~LED4;
break;
case 0x10: LED5=~LED5;
break;
case 0x20: LED6=~LED6;
break;
case 0x40: LED7=~LED7;
break;
case 0x80: LED8=~LED8;
break;

default: break;
}
}
}
} */
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭