微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 51单片机延时程序的延迟时间是怎么计算的

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--);
                }
        }      
}
求大神解释下延迟时间是怎么计算的

延时准确的计算式看你的晶振,然后计算出周期,然后计算出一条命令的时间,你的延时程序转化为汇编后,按汇编命令挨个的计算时间,最后就出来了,最后的结果是以汇编的命令计算出来的

精确要是用定时器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top