如题 for语句怎么算周期的!
我用示波器看过for(i=0;i<100;i++)p1=!P1 输出的脉冲是100微秒周期 高低各50微秒;很不解是怎么回事!晶振11.0592
如题 for语句怎么算周期的!
我用示波器看过for(i=0;i<100;i++)p1=!P1 输出的脉冲是100微秒周期 高低各50微秒;很不解是怎么回事!晶振11.0592
怎么可能呢?是怎么测出来呢?用的是数字示波器吗?很可能被其它代码干扰了吧,可以 使用反汇编工具计算时间 的啊:
用Keil C51中的反汇编工具计算延时时间,在反汇编窗口中可用源程序和汇编程序的混合代码或汇编代码显示目标应用程序。首先选择build taget,然后单击start/stop debug session按钮进入程序调试窗口,最后打开Disassembly window,找出与这部分循环结构相对应的汇编代码,具体如下:
可以看出,0x0003~0x0012一共10条语句,分析语句可以发现核心循环只有0x0005~0x0012共8条语句,执行取反一次也就是8~10微秒!