电路用P3口直接对地接8个按键,P3端口设置为开漏形式,外部接上拉电阻, 下面是一个等待按键松开的程序,可是它就是不会等待,不知怎么回事;下面的while死循环根本就好像没起作用;用其它端口接了个LED指示灯观察其效果。 void key_off(void)//等待按键松开 { uchar key_temp; while (1) { delay_ms(50);//延时
P3=0xff;//P3端口置高电平
key_temp=P3;//读入P3端口状态
if(key_temp==0xff)//按键全松开时退出循环 { key_flag=0;//清除按键是否一直按住标志
return;//退出死循环 } } }
还试过下面的程序,一样不会有所谓的循环等待现象作用
while(P3==0xff) { key_flag=0; }
|