这是我写的程序:参考一下吧!判按键是第几次按下+按键去抖+相应的灯亮!<br />#include<reg52.h><br />#define uchar unsigned char<br />#define uint unsigned int<br />uchar num;<br />sbit key=P1^0;<br />void delay(uint z);<br />void main()<br />{<br /> while(1)<br /> {<br /> if(key==0)<br /> {<br /> delay(10);<br /> if(key==0)<br /> {<br /> while(!key);<br /> num++;<br /> if(num==5)<br /> num=1;<br /> switch(num)<br /> {<br /> case 1:P1=0xfc;break;<br /> case 2:P1=0xfa;break;<br /> case 3:P1=0xf6;break;<br /> case 4:P1=0xee;break;<br /> }<br /> }<br /> }<br /> }<br />}<br /><br />void delay(uint z)<br />{<br /> uint x,y;<br /> for(x=z;x>0;x--)<br /> for(y=110;y>0;y--);<br />}
|