while(1) //while循环语句 1就是真(条件成立),0就是假(条件不成立)
//while(1) 永远都是真,如果内部没有跳出语句,那就是个死循环。
{
//car_in
if(car_in==0) // if条件判断语句 (car_in=0,就是p1^0端口低电位时)
{
ms_delay(10); //延时消抖 后再次判断条件是否成立
while(!car_in); //判断按键完全释放?
num--; //条件成立,总数减1,也就是99-1
}
//car_out
if(car_out==0)// if条件判断语句 (car_out=0,就是p1^1端口低电位时)
{
ms_delay(10); //延时消抖 后再次判断条件是否成立
while(!car_out); //判断按键完全释放?
num++; //条件成立,总数加1,也就是99+1
}
//
if(num>99) //判断总数 num是否大于99
{
num=99; //如果总数num大于99,总数num赋值99,就是最大值就是显示99
}
else if(num<0) //判断总数 num是否小于0
{
num=0; //如果总数小于0,总数num赋值0,就是最小值就是显示0
}
display(num);// 显示总数
}
//if(car_out==0)// if条件判断语句 (car_out=0,就是p1^1端口低电位时)
{
ms_delay(10); //延时消抖 后再次判断条件是否成立
if(car_out==0)//你这里的方法不妥当。单片机处理速度很快,这样肯定会一按下去判断很多 //次了,我这上面这里做了小修改,你试试
{
num++; //条件成立,总数加1,也就是99+1
}
}