×

avr延时头的c语言程序

消耗积分:0 | 格式:doc | 大小:48KB | 2014-09-30

chenlingLAL

分享资料个

avr延时头的c语言程序

#ifndef _DELAY_1M_H

#define _DELAY_1M_H

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

/*函 数 名:delay_us

建立日期:2010年1月28日

编译环境:ICCAVR7.16A

函数作用:微秒级的延时程序

说 明:1M晶振下

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

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延时函数,实测8us

{

asm(“nop”); //1时钟周期

}

void delay_3us(void) //3us延时函数,实测8us

{

asm(“nop”);

}

void delay_10us(void) //10us延时函数,实测9us

{

asm(“nop”);

asm(“nop”);

}

void delay_50us(void) //47us延时函数

{

delay_10us();

delay_10us();

delay_10us();

delay_10us();

delay_10us();

}

void delay_100us(void) //96us延时函数

{

delay_50us();

delay_50us();

}

void delay_n100us(unsigned char n100us)//几百us延时

{

while(n100us--)

delay_100us();

}

/*delay_n100us(2); // 224us

delay_n100us(3); // 326us

delay_n100us(4); // 428us

delay_n100us(5); // 530us

delay_n100us(6); // 632us

delay_n100us(7); //734us

delay_n100us(8); // 836us

*/

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日

修改日期:

函数作用:毫秒级的精确延时程序

说 明:

********************************************************************

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !