51单片机延时程序的延迟时间是怎么计算的
时间:10-02
整理:3721RD
点击:
/*******************************************************************************
* 函 数 名 : Delay10ms
* 函数功能 : 延时函数,延时10ms
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Delay10ms(unsigned int c) //误差 0us
{
unsigned char a, b;
//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
求大神解释下延迟时间是怎么计算的
* 函 数 名 : Delay10ms
* 函数功能 : 延时函数,延时10ms
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Delay10ms(unsigned int c) //误差 0us
{
unsigned char a, b;
//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
求大神解释下延迟时间是怎么计算的
延时准确的计算式看你的晶振,然后计算出周期,然后计算出一条命令的时间,你的延时程序转化为汇编后,按汇编命令挨个的计算时间,最后就出来了,最后的结果是以汇编的命令计算出来的
精确要是用定时器