2017-07-02 123 views
0

我正在使用一个for循环,它将从0增加到30000,以便在led开/关状态之间进行一些延迟。如何找到for循环的确切延迟。该代码用于具有11.0592 MHZ振荡器频率的微控制器AT89C51ED2。我也尝试过一些程序员偏好的延迟函数。但我看不到LED闪烁。如何计算在keil c中执行指令所花费的时间c

+0

你的代码是否可以执行? LED是亮起,熄灭还是半亮?当您确定LED的范围时会发生什么?你的调试器是否显示循环正在执行?你必须调试 - 我们根本无法提供你所告诉我们的,或者根本不可能有硬件问题:( – ThingyWotsit

+0

是的,它已经成功编译并且.hex文件也被创建了。我选择了P1.0的LED闪烁在调试模式下,我可以看到P1.0使用外设 - > I/O端口 - >端口1闪烁。但在硬件中不是。 – userrp1519825

回答

1

要么你去,你使用Dissassembly窗口来查看您的循环指令,并计算周期数为每个指令为你的3000次循环或...

..go调试,开放Registers窗口有States参数,它告诉你代码中特定步骤需要多少个周期。

调试时,移动到循环开始,保存状态,然后转到循环后再次检查。减去值并且你有多个状态。

相关问题