微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于延时函数 与 机器周期,问题请教。

关于延时函数 与 机器周期,问题请教。

时间:10-02 整理:3721RD 点击:
void Delay10ms(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=1;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}
130*38=4940 个机器周期,就是10ms?  4940个机器周期,应该是  4940us  吧?

void Lcd1602_Delay1ms(uint c)   //误差 0us
{
    uchar a,b;
        for (; c>0; c--)
        {
                 for (b=199;b>0;b--)
                 {
                          for(a=1;a>0;a--);
                 }      
        }
            
}

200 个机器周期,就是1ms?  200 个机器周期,应该是  200us  吧?

我HC6800ES V2.0的板子,12MHZ的晶振,书上说机器周期是1us呀。

你要从汇编指令的角度去算时间,不是根据C语言这里循环了几次来算时间的。不同的汇编指令需要的时间是不同的额,你自己去按照这个方向查一下资料。

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

网站地图

Top