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();
}
}
|