×
单片机 > 单片机程序设计 > 详情

Delay.h头文件下载-AVR系列单片机的通用软件延时头文件

发布时间:2020-06-04 发布时间:
|

/*****************************************************************************

      文件名称:Delay.h

      文件标识:_DELAY_H_

      摘    要:AVR系列单片机的通用软件延时头文件

      当前版本:V1.0

*****************************************************************************/

#ifndef  _DELAY_H_

#define  _DELAY_H_


#include

#include


#ifndef  CRYSTAL

#define  CRYSTAL   8.0    //默认晶振频率为8.0MHz(可在主程序文件中修改)

#endif


/*****************************************************************************

以下三个宏是参数预修正宏,它们在任意设定的晶振频率下均能实现准确的延时

*****************************************************************************/

#define  delay_s(n)  delay_ms(1000*(n))

#define  delay_ms(n) wait_ms(((n)*CRYSTAL-0.017)/(CRYSTAL+0.006))

#define  delay_us(n) wait_us((n)>14.0/CRYSTAL?((n)*CRYSTAL-8.0)/6.0:1)


/*****************************************************************************

函数名称:wait_us

函数参数:n

描    述:延时 8+6*n 个时钟周期

*****************************************************************************/

void wait_us( UINT16 n )

{

   do{

      n--;

   }while(n);

}


/*****************************************************************************

函数名称:wait_ms

函数参数:n

描    述:延时 n 毫秒,约有 17+6*n 个时钟周期的正向误差

*****************************************************************************/

void wait_ms( UINT16 n )

{

   do{

      delay_us(1000);

   }while(--n);

}


#endif



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计