本帖最后由 wjzhongshi 于 2012-10-6 20:23 编辑
搞了好几天了总是不行,高手帮我写一个定时器延时吧
具体情况是:两个按键控制三个led,按键一按一下LED1亮延时0.5秒后LED2亮延时0.5秒后LED2灭,LED1延时15秒后LED1灭,
按键二按一下LED1亮延时0.5秒后LED3亮延时0.5秒后LED3灭,LED1延时15秒后灭,在LED1亮的时候无论是按下按键一还
是按键二LED1延时要重新开始计算15秒后灭。
主要是重新开始计算这一块总是弄不好,高手帮一下吧
忘了单片机用的是stc12c2052ad 12M晶振。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
加个标志位就OK了
按键1按下 标志flag1为1 直到运行状态1结束LED1熄灭后 标志位才清零
然后期间可这样判断 if((KEY1==0)&&(flag1==1)) time=0; // 标志位为1时 按键按下 LED1亮的时间清零
按键2同理 flag2=1........
按键按下要锁定状态。。
if((KEY1==0)&&(key1flag==0))
{
if(key_time_1ms_ok) //1ms
{
key_time_1ms_ok=0;
key1_press_i++;
if(key1_press_i>50) //50ms
{
if(KEY1==0)
{
key1flag=1;
key1count=1;//按键第一次按下 。。
}
}
}
}
else if(KEY1==1) { key1flag=0;key1_press_i=0; }
一周热门 更多>