打印

NEC单片机

[复制链接]
6005|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
datreexia|  楼主 | 2009-6-30 08:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
lelee007| | 2009-6-30 09:27 | 只看该作者

指令周期 * 指令条数,然后加总

使用特权

评论回复
板凳
lyjian| | 2009-6-30 09:50 | 只看该作者

指令周期 * 指令条数,然后加总

如果是循环执行,这样算就不对了

使用特权

评论回复
地板
lelee007| | 2009-6-30 13:23 | 只看该作者

循环执行的,当然得把循环过的都加上

加总并非简单的加和

使用特权

评论回复
5
datreexia|  楼主 | 2009-6-30 14:52 | 只看该作者

我也是这样算的

程序长了就太麻烦了,有没有别的方法,或者软件设置一下

使用特权

评论回复
6
yewuyi| | 2009-6-30 15:59 | 只看该作者

如果发生中断算作几个周期?!

使用特权

评论回复
7
datreexia|  楼主 | 2009-6-30 17:33 | 只看该作者

不算中断

  呵呵,我说的不严密,是在不发生中断的情况下,

  俺正学 时间片和状态机结合的编程方法,个人感觉时间片的大小以及状态机中状态的个数与该程序段运行时间有关,所以想确定一下。

  俺没实际用过51,是不是keil提供这种统计时间的功能?NEC提供的软件没有统计时间的功能(或者没有找到),现在只能用笨法子。

使用特权

评论回复
8
datreexia|  楼主 | 2009-7-2 08:18 | 只看该作者

同感

小日本的东西真不好用,但是公司和NEC合作,没办法啊

使用特权

评论回复
9
WilliamL| | 2009-7-2 10:56 | 只看该作者

可以这样试试看

在程序的开头把一个不用的端口置1,在程序的结尾把这个端口置0,然后连接示波器检测这个端口,高电平的持续时间就是这段程序的执行时间。

使用特权

评论回复
10
datreexia|  楼主 | 2009-7-2 11:08 | 只看该作者

是个办法

不过不准确。
  经你提醒倒是可以使用定时器,但还是麻烦,因为有些分支、循环在不同的条件下有不同的路径,执行时间也就不定了。
  数数最准确。

使用特权

评论回复
11
zljzlj| | 2009-7-2 22:15 | 只看该作者

用工具栏中的timer

用工具栏中的timer

1.建议用硬件的IDC 或qb仿真器
2.K0 K0s都一样
3.在要计算程序时间的开始和结尾分别设断点
4.打开timer 选择break方式
5.运行程序,会在第一个断点处停下来
6.在点运行会在第二个断点处停,这时屏幕右侧显示的时间就是程序运行的时间
7.这个时间不是很精确,但是对于一般的调试足够用了
8.用sm+时注意设置好所用晶体,晶体决定了相应语句所耗的clock数

注意:这时观察两个断点之间的耗时,可以在两个顺序语句中做个试验
*SM是软件仿真,过短的程序时间可能显示的不太准,建议用硬仿真

使用特权

评论回复
12
datreexia|  楼主 | 2009-7-3 07:47 | 只看该作者

谢谢大侠

谢谢大侠细心讲解,我的经验太少了,这方面的资料也不好找,以后可能还要请教您。21ic真好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

91

帖子

0

粉丝