微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 52单片机,帮忙看看这两个程序的延时时间不相等

52单片机,帮忙看看这两个程序的延时时间不相等

时间:10-02 整理:3721RD 点击:
我用的52单片机,晶振是24MHZ的,但这两个延时程序的延时时间不相等,什么原因啊?
1.
void delay(void)
{
        unsigned int i;
        for(i=0;i<37500;i++);
}

2.
void delayms(void)
{
  unsigned int i,j;
  for(i=300;i>0;i--)
    for(j=125;j>0;j--);        
}

你真没想明白么。指令执行也是需要时间的。你上面是一个for循环执行。下面是2个for嵌套执行,下面的延时会长点

真的没有明白,不过我用单片机跑出来,是用两个for循环延迟较短,一个for循环延迟很长。我也很纳闷这个事情啊

C语言程序很不好说,

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

网站地图

Top