atmega16的延时程序 请各位大侠分析一下1356是怎么算出来的? void delay_us(unsigned int n) //N us延时函

atmega16的延时程序 请各位大侠分析一下1356是怎么算出来的?
void delay_us(unsigned int n) //N us延时函数
{
unsigned int i=0;
for (i=0;i<n;i++)
asm("nop");
}
void delay_ms(unsigned int n) //N ms延时函数
{
unsigned int i=0,j=0;
for (i=0;i<n;i++){for (j=0;j<1356;j++){}}

}

第1个回答  2012-06-30
这个你如果你用keil在线调试的话,在寄存器(Register)窗口里点开Sys->sec , 进行单步调试时根据sec值的变化,可以知道执行一次循环所用的时间,根据这个就可以算出1ms大概要循环多少次了。
第2个回答  2012-07-03
和你选择的晶振有关系
相似回答
大家正在搜