微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > c51延时程序 没看懂 求高手进来看一哈!!

c51延时程序 没看懂 求高手进来看一哈!!

时间:10-02 整理:3721RD 点击:
void Delay(unsigned int t)
{
while(--t);
}
void DelayMs()
{
while(--t)
{
  //大致延时1ms
  Delay(245);
  Delay(245);
}
}

我想知道这个1ms的延时是怎么算出来的  我用的晶振是1m的

我想知道这个1ms的延时是怎么算出来的  我用的晶振是12m的

每运行一条指令会经过几个机器周期我忘了,反正1个机器周期等于12个晶振周期,

首先,你用的是12M的晶振,时钟周期也就是每一次的晶振时间是1/12微秒,而一个机器周期包括12个时钟周期。其次,单片机每执行一条指令的时间称为指令周期,它包括1~4个机器周期,你的单片机指令周期应该是两个机器周期。最后,1/12微秒 x 12 x 2 x 245(第一条指令) + 1/12微秒 x 12 x 2 x 245(第二条指令)=490+490=980微秒.

看看,学习学习

谢谢大神们

除了楼上说的那些,还有调用函数的机器周期,等。

说的好啊 !真清楚!

很不错,,说的很好。

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

网站地图

Top