这个是看你用什么单片机了,不同单片机速度不一样的,而且想用理论计算的话,就必须反汇编一下(我只知道这样),因为只有每条的汇编语句才知道要多少时钟周期,才好计算。如果想要结果呢就简单了,用KEILC里面的仿真,选好片子和晶振,前后打上断点运行,旁边有时间记录的
keil 可以看仿真时间的,
计算的话我只知道51单片机的
假设晶振频率为x
那么用_nop_()精确延时
执行一条_nop_()需要的时间为t=12/x;
编译完成后,点击keil菜单栏里的红色B标志,进入仿真。在主函数里,写
void main()
{
delay(10);
}
在delay(10);上设置断点,测设就可以了
#include
void main()
{ int i;
scanf("%d",i);
sleep(i);
}
这样可以延长时间i为几 暂停几秒
用仿真来计算