if判斷怎么不靈,按一次按鍵LED都全亮了,IF判斷無效樣的,那問題?
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned int ID=0;
sbit k1=P2^0; //按鍵1
sbit k2=P2^1; //按鍵2
sbit LED1=P2^2; //LED1
sbit LED2=P2^3; //LED2
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//------------延時-----------------
void key_control()
{
if(k1==0)
{
delay(5);
if(k1==0)
{
ID=ID+1;//每按一次按鍵,ID加1
}
}
if(ID==8) //判斷ID是不是等于8,是就運行下面,2個LED燈點亮
{
ID=0;
LED1=0;
LED2=0;
}
}
void main()
{
while(1)
{
key_control();
}
}
|