C51:怎样用Keil粗略地看代码运行时间

Binzo 2010-12-11 08:28:28
求指点,谢谢。
...全文
632 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamjack 2010-12-13
  • 打赏
  • 举报
回复
可以使用Keil的反汇编功能,从汇编语言看,比较精确
「已注销」 2010-12-12
  • 打赏
  • 举报
回复
很简单,进入软件仿真状态,在你要测试的那段代码的起始和终止处各设一断点,程序全速跑到第一个断点,记下屏幕下面状态栏上t1的值,然后再全速跑到第二个断点,再记下t1的值,这两个值相减就是你这段代码跑的时间.
lbing7 2010-12-12
  • 打赏
  • 举报
回复
1.在OPTION里设置你的时钟
2.编译,进入软件仿真状态
3.VIEW->PERFORMANCE ANALYXER
4.右键PERFORMANCE ANALYXER窗口内部,选择SETUP PA,如果用C,系统会把你的函数自己列到右框中,你只需要双击想要查看的函数名,然后点击DEFINE按钮即可添加相应的函数,完成后关闭此窗口
5。全速运行程序,系统会在PERFORMANCE ANALYXER窗口内自动生成函数的占用MCU的百分比图。
6.单击窗口中的函数名,在此窗口中状态栏处会更新该函数具体的信息,相应的函数如下:
Min:该段程序执行所需的最短时间;
Max:该段程序执行所需的最长时间;
Avg:该段程序执行所花平均时间;
Total:该段程序到目前为目总共执行的时间;
%:占整个执行时 间的百分比;
count:被调用的次数。
Binzo 2010-12-11
  • 打赏
  • 举报
回复
请问2楼的while 大概多久? Xtal=11Mhz
Binzo 2010-12-11
  • 打赏
  • 举报
回复
我现在会用了,不过觉得调试技巧不过关。
while(counter<=20)
{
SetServoAngle(0);//舵机打角为0
PWMOut(0,0);//电机输出为0
counter++;
}
一个main的整个循环大概1~2毫秒。
lbing7 2010-12-11
  • 打赏
  • 举报
回复
KEIL自带性能分析工具,在OPTION里设置相应的时钟频率

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧