AVR单片机延时程序

时间:2013-03-19来源:网络

AVR单片机延时程序:

1.毫秒级的延时

延时1ms;

void delay_1ms(void)

{

unsigned int i;

for(i=1;i(unsigned int)(xtal*143-2);i++)

;

}

在上式中,xtal为晶振频率,单位为MHz. AVR 延时程序

当晶振频率为8M时,延时函数软件仿真的结果为1000.25μs.当晶振频率为4M时,延时函数软件仿真结果为999.5μs. AVR 延时程序

如果需要准确的1ms延时时间,则本计算公式只供参考,应通过软件仿真后,再确定循环的次数及循环初值,并且循环中还必须关闭全局中断,防止中断影响延时函数的延时时间。

下面的函数可以获得1ms的整数倍的延时时间:

void delay(unsigned int n)

{

unsigned int i;

for(i=0;i

delay_1ms();

}

如果需要准确的延时时间,则本计算公式只供参考,应通过软件仿真后,再确定循环的次数及循环初值. AVR 延时程序

2.微秒延时

晶振4M,编辑器ICCAVR,芯片mega16

//最大延时时间131.072ms

void delay(unsigned int i) //延时时间T=2*(i+1)us其中1=

{

while(--i);

}

1 2

关键词: AVR 单片机 延时程序

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版