sbit s1=P1^0;
unsigned char key1=1;
void keyscan()
{
if(s1!=key1)
{
delay(10);//延时10 ms
if(s1==0)
{
day++;
}
key1=s1;
}
}
你看我这样理解对不对
当按键按下时,s1为0,而key1为1,所以为真,然后执行下面的语句,当执行key1=s1时,将s1的值赋给key1,然后再去执行if(s1!=key1)进行判断表达式是否为真。
你这个按键消抖写的就有问题
if(s1!=key1)应该是