|
我的思路是在我按下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;
}
}
}
|
|