您的位置 首页 软件

ATmega128(ICC7.22 “delay.h“)

//********************************************************************/*函数名:delay_us编译环境:ICCAVR7.16A

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

/*函 数 名:delay_us
编译环境:ICCAVR7.16A
函数效果:微秒级的延时程序
说 明:7.3728M晶振下
********************************************************************/
void delay_1us(void);
void delay_3us(void);
void delay_10us(void);
void delay_50us(void);
void delay_100us(void);
void delay_n100us(unsigned char n100us);
void delay_1ms(void);
void delay_nms(unsigned int nms);
void delay_ns(unsigned char ns);

void delay_1us(void) //1us延时函数,不能接连调用,
{
asm(“nop”); //1时钟周期
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”); //1T
asm(“nop”);

}
void delay_3us(void) //3us延时函数,,可重复调用不影响精度
{

asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
asm(“nop”);
}

void delay_10us(void) //10us延时函数,,可重复调用不影响精度
{
delay_3us();
delay_3us();
delay_3us();
}

void delay_50us(void) //48us延时函数,,可重复调用不影响精度
{
delay_10us();
delay_10us();
delay_10us();
delay_10us();
}
void delay_100us(void) //exactly 98us延时函数,,可重复调用不影响精度
{
delay_50us();
delay_50us();
}
void delay_n100us(unsigned char n100us)
{
while(n100us–)
delay_100us();
}
/*delay_n100us(2) 250us
delay_n100us(3) 360us
delay_n100us(4) 470us
delay_n100us(5) 580us
delay_n100us(6) 690us
delay_n100us(7) 800us
delay_n100us(8) 900us 主要是因为函数声明及while,,,大约6us

*/
void delay_1ms()
{
delay_100us();
delay_100us();
delay_100us();
delay_100us();
delay_100us();
delay_100us();
delay_100us();
delay_100us();
delay_100us();
delay_100us();
}
/********************************************************************
函 数 名:Delay_ms
树立日期:2010年1月28日
修正日期:
函数效果:毫秒级的准确延时程序
说 明:
********************************************************************/
void delay_nms(unsigned int nms)
{
while(nms–)
delay_1ms();
}
void delay_ns(unsigned char ns)
{
while(ns–)
delay_nms(1000);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/276126.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部