|
我的思路是在我按下K1時,經過消抖后led1亮起,然后我松手,結束這個if語句,此時led1繼續亮起,待我按下K2時,led熄滅,不過當我實踐起來時,按下K1確實亮起,松手依然亮,但是按下K2卻不會熄滅,并且按其他的(比如K1)沒有反應,沒有專門學過C語言,直接入手的單片機,感覺有常識性問題,求各位大佬指點。
#include <REGX52.H>
void Delay1ms(unsigned int xms) //@12.000MHz
{
unsigned char i, j;
while(xms--)
{ i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
void main()
{
while(1)
{
if(P3_1==0)
{ Delay1ms(20);
P2_0=0;
}
if(P3_2==0)
{
Delay1ms(20);
P2_0=1;
}
}
}
|
|