winnie 发表于 2009-5-22 09:41:55

用c语言实现n秒延时的程序

以下的例程可得到10MS,1S,1MIN,1H(可扩展)
#pragma interrupt_level 1
interrupt adint(void)
      {
      if(TMR1IF==1)
      {
      TMR1IF=0;
      TMR1H=0b11011001;
      TMR1L=0b00001111;
      msbit=1;//得到一个10MS的基本记时
}
}
/////////////////////////////////
mstest( )
{
msbit=0;
      ms=ms+1;//10MS记时
      if(ms==100)
      {
      ms=0;
      secbit=1;
      }
}
//////////////////////////////
sectest( )
{
if(secbit==1)
      {//秒计时
      secbit=0;
      secount++;
      if(secount==60)
      {
      mincount++;//分钟记时
      secount=0;
}
if(mincount==60)
{
hcount++;//小时记时
mincount=0;
}
}
}
/////////////////////////////
main( )
{
         while(1)
{
      mstest( );
      sectest( );
task1( );
task2( );
.
.
.
.
taskn( );
}
}
页: [1]
查看完整版本: 用c语言实现n秒延时的程序