打印

跑表为啥不能测这段延时小程序?

[复制链接]
2443|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AS1   MOVLW  .20 ;此处180是13秒
      MOVWF  YS1  
ASP   CLRF  1
      MOVLW  07H
      OPTION
ASP1  MOVLW  .255
      SUBWF  1,0
      SKPZ
      GOTO  ASP1
      DECFSZ  YS1,1
      GOTO  ASP
;==================
以上延时程序在硬件上执行正常,为了得到精确的延时时间,我用MPLAB的跑表功能测试,结果却不行。为啥?
沙发
DDDDGGGG|  楼主 | 2012-4-28 07:51 | 只看该作者
AS1   MOVLW  .20 ;此处180是13秒
      MOVWF  YS1  
ASP   CLRF  1
         MOVLW  07H
         OPTION
ASP1  MOVLW  .255
          SUBWF  1,0
          SKPZ
          GOTO  ASP1
          DECFSZ  YS1,1
          GOTO  ASP
;==================
以上延时程序在硬件上执行正常,为了得到精确的延时时间,我用MPLAB的跑表功能测试,结果却不行。为啥?
发出以上贴来发现不便阅读,整理一下顺便问:是否与MPLAB的版本高低有关?

使用特权

评论回复
板凳
Ryanhsiung| | 2012-4-28 08:32 | 只看该作者
mplab有跑表功能?怎么弄,教我一下,谢谢

使用特权

评论回复
地板
yewuyi| | 2012-4-28 09:22 | 只看该作者
1、在MPLAB的软件仿真方式下有跑表功能,在其它方式下,该功能菜单应该是显示灰色。
2、在软件仿真方式下,在需要确定执行时间的代码首尾各设置一个断点,然后全速执行到第一个断点,再全速执行到第二个断点,两次的时间差即为当前代码段执行的时间。
如果在这个过程中产生了中断,则中断时间也会被计算入这个时长内。
3、使用这个还有一些小技巧,你可以自己去摸索摸索,在此就不再赘述。

使用特权

评论回复
5
Light_David| | 2012-4-28 19:28 | 只看该作者
话说俺以前很喜欢跑表功能的,(因为不同版本的编译器编译结果运行时间是不同的)
但是也会有不少BUG,最好还是信任示波器.

使用特权

评论回复
6
DDDDGGGG|  楼主 | 2012-4-29 17:46 | 只看该作者
我虽然不太同意5楼的朋友的说法,但也不否定版本的不同,可能有一两个时钟周期的误差。
看来,MPLAB的跑表是不能测这种硬件延时程序的。
我觉得:MPLAB要增加测这种硬件延时的跑表功能,只要增加一些运算程序就能实现。
我用的是7.3版本,不知道更高的版本是否增加了这个功能。

使用特权

评论回复
7
DDDDGGGG|  楼主 | 2013-3-12 07:55 | 只看该作者
结贴了

使用特权

评论回复
8
youss| | 2013-3-12 08:15 | 只看该作者
DDDDGGGG 发表于 2012-4-29 17:46
我虽然不太同意5楼的朋友的说法,但也不否定版本的不同,可能有一两个时钟周期的误差。
看来,MPLAB的跑表 ...

跑表很准呵

跑表.JPG (120.64 KB )

跑表.JPG

使用特权

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

本版积分规则

28

主题

184

帖子

1

粉丝