共2条
1/1 1 跳转至页
keil 在keil C中如何查看程序的仿真时间?
问
在keil C中如何查看程序的仿真时间?
多谢! 答 1: 就在左边的 工程窗口中,那个psw上面那个sec的值就是了。 答 2: 有疑问。。。比如想知道while(P1_0)仿真所用的机器周期数,我找到了如下程序
#include<at89x51.h>
main()
{ while(P1_0)
{P1_0=0;}
while(!P1_0)
{P1_0=1;}
}
好像每次全速执行随意点停止键时,sec里面的数值不是固定不变的。 答 3: sec显示的是从开始运行到你停止时,所花费的总时间。 答 4: 请看:网友的一个问题:
******问while(p1_0)的执行时间?*******
假设,P1_0为单片机P1口的第一脚,请问,
while(P1_0)
{
P1_0=0;
}
while(!P1_0)
{
P1_0=1;
}
以上代码,在KEIL C中,需要多长时间,执行完。能具体说明while(P1_0)的执行时间吗?
******有人这样回答的:“仿真运行看看就知道了,我仿真了试了一下,大约14个周期”***************
@@@@@我就是想知道这个回答的人是怎么知道这个“14个周期”的?
答 5: 使用单步运行。看states中的数值变化。 答 6: 您方便帮我运行一下吗?非常感谢您不厌其烦的指导,但我是个新手,还有些问题搞不懂。
如果您方便的话,可否帮我运行一下,为什么执行完该程序后,如果我继续单步运行,就开始执行STARTUP.A51中的程序了呢?那么通过运行,能从states中值的变化说明while(P1_0)的执行时间是14个周期么? 答 7: 我运行了一下,用了7个周期while(P1_0)
{
P1_0=0;
}
这一段用了7个周期,
while(!P1_0)
{
P1_0=1;
}
这一段也用了7个周期,
所以加起来是14个周期。 答 8: 多谢! 答 9: 但还有些事相求如果我运行完14周期以后,即执行完主程序,
倘若我继续单步运行,就开始执行STARTUP.A51中的程序了。
能帮我解释这是什么原因么?可否简单介绍下STARTUP.A51?我一点都不了解它!!
非常感谢啊!! 答 10: 你的程序没有主循环,跑飞了……#include<at89x51.h>
void main(void)
{
while(1)
{
while(P1_0)
{
P1_0=0;
}
while(!P1_0)
{
P1_0=1;
}
}
}
这样就不会跑到那里去了。 答 11: thank you very much! 答 12: 非常感谢!
多谢! 答 1: 就在左边的 工程窗口中,那个psw上面那个sec的值就是了。 答 2: 有疑问。。。比如想知道while(P1_0)仿真所用的机器周期数,我找到了如下程序
#include<at89x51.h>
main()
{ while(P1_0)
{P1_0=0;}
while(!P1_0)
{P1_0=1;}
}
好像每次全速执行随意点停止键时,sec里面的数值不是固定不变的。 答 3: sec显示的是从开始运行到你停止时,所花费的总时间。 答 4: 请看:网友的一个问题:
******问while(p1_0)的执行时间?*******
假设,P1_0为单片机P1口的第一脚,请问,
while(P1_0)
{
P1_0=0;
}
while(!P1_0)
{
P1_0=1;
}
以上代码,在KEIL C中,需要多长时间,执行完。能具体说明while(P1_0)的执行时间吗?
******有人这样回答的:“仿真运行看看就知道了,我仿真了试了一下,大约14个周期”***************
@@@@@我就是想知道这个回答的人是怎么知道这个“14个周期”的?
答 5: 使用单步运行。看states中的数值变化。 答 6: 您方便帮我运行一下吗?非常感谢您不厌其烦的指导,但我是个新手,还有些问题搞不懂。
如果您方便的话,可否帮我运行一下,为什么执行完该程序后,如果我继续单步运行,就开始执行STARTUP.A51中的程序了呢?那么通过运行,能从states中值的变化说明while(P1_0)的执行时间是14个周期么? 答 7: 我运行了一下,用了7个周期while(P1_0)
{
P1_0=0;
}
这一段用了7个周期,
while(!P1_0)
{
P1_0=1;
}
这一段也用了7个周期,
所以加起来是14个周期。 答 8: 多谢! 答 9: 但还有些事相求如果我运行完14周期以后,即执行完主程序,
倘若我继续单步运行,就开始执行STARTUP.A51中的程序了。
能帮我解释这是什么原因么?可否简单介绍下STARTUP.A51?我一点都不了解它!!
非常感谢啊!! 答 10: 你的程序没有主循环,跑飞了……#include<at89x51.h>
void main(void)
{
while(1)
{
while(P1_0)
{
P1_0=0;
}
while(!P1_0)
{
P1_0=1;
}
}
}
这样就不会跑到那里去了。 答 11: thank you very much! 答 12: 非常感谢!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |