这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 周期数计算的疑惑

共4条 1/1 1 跳转至

周期数计算的疑惑

助工
2008-05-05 10:46:47     打赏

  测试程序如下:

  mov.b #2eh,hr1       ;<10MHz
  mov.b #01h,hr0       ;enable high-speed on-chip oscillator
  nop                            ;wait for oscillator stable
  nop
  nop
  nop
  mov.b #03h,hr0       ;select high-speed on-chip oscillator
  mov.b #10h,cm1     ;low-speed on-chip oscillator off
                                     ;set cpu clock as Fosc
                                     ;set P4_6,P4_7 as input and low drive capacity
  mov.b #2ch,cm0     ;no external clock
                                     ;stop peripheral funtion clock in wait mode
  mov.b #0ch,ocd      ;disable oscillation stop detection.Confirmed:disable
                                     ;main oscillor stopped
                                     ;select internal oscillor

;下面的为循环,测试周期
loop:
  mov.b 501h,503h              ;3个指令周期 X 10行
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  mov.b 501h,503h
  bnot p04                       ;取反P04口,用示波器观察周期,3个指令周期
  jmp.b loop                   ;4个指令周期

理论计算高/低电平的时间应当小于4us,实际测量居然近13us,为什么???




关键词: 周期数     期数     计算     疑惑     mov.b501h    

助工
2008-05-05 13:18:40     打赏
2楼
保护我知道,先前是打开的
我以前测试过1+us的翻转
编译后的代码和我写的相同

助工
2008-05-05 16:39:02     打赏
3楼
谢谢你的解答

我不是用指令精确延时
只是发现中断响应时间比理论计算的结果要长很多
写这段程序验证一下
理论计算和实际相差太多。。。。

就算有软件等待,那也不至于相差这么多啊,3倍多啊




助工
2008-05-05 21:08:19     打赏
4楼
这部分我也看了
还有那个图
只是不敢相信会差距这么大
手册也没给出更相信的计算方法

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]