c51延时程序 没看懂 求高手进来看一哈!!
时间:10-02
整理:3721RD
点击:
void Delay(unsigned int t)
{
while(--t);
}
void DelayMs()
{
while(--t)
{
//大致延时1ms
Delay(245);
Delay(245);
}
}
我想知道这个1ms的延时是怎么算出来的 我用的晶振是1m的
{
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微秒.
看看,学习学习
谢谢大神们
除了楼上说的那些,还有调用函数的机器周期,等。
说的好啊 !真清楚!
很不错,,说的很好。