Talsinpo 发表于 2012-10-27 16:46:47

关于单片机延时执行任务的方法?

本帖最后由 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);}

devcang 发表于 2012-10-27 21:56:30

定时器中,只管累加

主函数中判断和重置


按键点亮的代码,没有,不表示。
页: [1]
查看完整版本: 关于单片机延时执行任务的方法?