关于单片机延时执行任务的方法?
本帖最后由 Talsinpo 于 2012-10-27 16:55 编辑关于单片机延时执行任务的方法,比如案件按下,等两秒点亮LED。我一直使用下面的代码,我想知道有没有更简洁的办法?比如直接在if(keydown)语句行LED = 1; 这样看起来更加简洁。
unsigned int cout0 = 0;bit counter_swvoid Timer() interrupt1 using 3{ ...... if(cout0 < delay_count && counter_sw) { cout0++; } ......}int main(){ while(1) { if(keydown)//如果案件按下 { counter_sw = 1; } ......
if(cout0 == delay_count) { LED = 1; delay_count = 0; counter_sw = 0; } } return(0);}
定时器中,只管累加
主函数中判断和重置
按键点亮的代码,没有,不表示。
页:
[1]