打印

编写很长时间的编程

[复制链接]
1186|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renyaq|  楼主 | 2011-12-17 13:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么编写时间延时程序如一个小时 十个小时  一天甚至更长
沙发
pengf| | 2011-12-17 13:56 | 只看该作者
用定时器编写就能实现。

使用特权

评论回复
板凳
llljh| | 2011-12-17 13:59 | 只看该作者
中断里边定义个变量

ulong Counter = 0,DelayTime;
sbit TimeFlag = 0;
void Timer0(void) interrupt 1
{         
         Counter++;
         if(Counter == DelayTime)TimeFlag = 1;
}

delay(ulong i)
{
        EA = 0;
        TimeFlag = 0;
        DelayTime = Counter+i+1;
        EA = 1;
}

void main(void)
{
       delay(10);
       while(1)
       {
              ..............
              ..............
              if(TimeFlag)break;
       }
}

使用特权

评论回复
地板
栩栩如生| | 2011-12-17 14:03 | 只看该作者
这个比较简单,就是在计时器中断里定义几个全局变量,每次中断加一,一直到你想要的时间就跳出来

使用特权

评论回复
5
renyaq|  楼主 | 2011-12-17 14:06 | 只看该作者
越看越晕

使用特权

评论回复
6
renyaq|  楼主 | 2011-12-17 14:09 | 只看该作者
我还是自己找找材料学习吧,结贴了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝