英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: 几个简单的延时程序(C语言),希望大家设计时能用到 [打印本页]

作者: winnie    时间: 2009-3-13 14:50
标题: 几个简单的延时程序(C语言),希望大家设计时能用到
/*******************************************************************************/
//函数名:delay_tmr0()    4MHz
//功能描述:TMR0延时  50ms.最大延时65ms
//调用函数:无
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:TMR0
//设计者:李军建                              日期:2008.1.11
//修改者:                                    日期:
/*******************************************************************************/
void delay_tmr0()
{
OPTION=0X07;
for(;;)
{  
  if(TMR0==0XC3)
  { TMR0=0X00;
   break;
  }
}
}
/*******************************************************************************/
//函数名:delay_tmr1()    4MHz
//功能描述:TMR1延时  200ms.最大延时520ms
//调用函数:无
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:TMR1
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay_tmr1()
{
TMR1IE=0;   //关TMR1中断
T1CON=0X34;   //TMR1分频1:1,4分频24H,不同步外部时钟,选择内部时钟,关闭TMR1
TMR1H=0X3C;
TMR1L=0XB0;   //3CB0   就是200MS
TMR1ON=1;
   while(1)
   {  if(TMR1IF==1)
        break;
   }
TMR1IF=0;
TMR1ON=0;
}
/*******************************************************************************/
//函数名:delay_tmr2()    4MHz
//功能描述:TMR2延时  4ms.最大延时4ms
//调用函数:无
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:TMR2
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay_tmr2()
{
TMR2IE=0;     //关TMR2中断
T2CON=0X03;     //预分频16
TMR2=0X00;
TMR2ON=1;     //256*16=4096
   while(1)
   {  if(TMR2IF==1)
        break;
   }
TMR2IF=0;
TMR2ON=0;
}
/*******************************************************************************/
//函数名:delay_cpu()    4MHz
//功能描述:cpu软件延时  4ms.
//调用函数:无
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:无
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay_cpu()
{
int i,j;
for(i=0;i<200;i++)
{
for(j=0;j<200;j++);
}
}
/*******************************************************************************/
//函数名:delay()    4MHz
//功能描述:延时
//调用函数:delay_tmr2();
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:无
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay()
{
int dtm;
for(dtm=20;dtm>0;dtm--)
{
delay_tmr2();
}
}
/*******************************************************************************/
//函数名:delay_on()    4MHz
//功能描述:延时
//调用函数:delay_tmr1();
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:无
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay_on()
{
for(daa=mult;daa>0;daa--)
{
  delay_tmr1();
}
}
/*******************************************************************************/
//函数名:delay_oneoff()    4MHz
//功能描述:延时
//调用函数:delay_tmr1();
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:无
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay_oneoff()
{
for(daa=rate;daa>0;daa--)
{
  for(daa1=mult;daa1>0;daa1--)
  {
  delay_tmr1();
  }
}
}
/*******************************************************************************/
//函数名:delay_fouroff()    4MHz
//功能描述:延时
//调用函数:delay_tmr1();
//全局变量:无
//输入:无
//输出:无
//返回:无
//占用资源:无
//设计者:李军建                日期:2008.06.03               
//修改者:                                    日期:
/*******************************************************************************/
void delay_fouroff()
{
for(daa=rate-7;daa>0;daa--)
{
  for(daa1=mult;daa1>0;daa1--)
  {
   delay_tmr1();
  }
}
}
/*******************************************************************************/




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2