多按键设计的标准思路

在刚接触按键的时候,一直以为在硬件上不支持的情况下,是不能实现将冗余时间减小的。但是,下边的这种却是能实现的:标准思路就是每一个if语句是一个矛盾体,判断的并不是状态,而是按键的变化。

int flag=0;//注意这个标志一定要是(全局变量)
if(flag==0)
{
	if(key==1) 
	{
 	   delay();
	    if(key==1)flag=1;
		else flag=0;
	}
}
else {			//这还是一个按键的延续
	if(key==0) 
	{
 	   delay();
	    if(key==0)flag=0;
		else flag=1;
	}
}

一个键对应一个标志

键按下,标志置1,键弹起,标志位归0。

在标志为1的时候,判断键弹起,在标志位为0的时候,判断键按下。最终的目的就是判断键的变化,而不是判断键此时的状态。



版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2014-03-12 00:17  qlip  阅读(315)  评论(0编辑  收藏  举报