打印

延时时间怎么算?

[复制链接]
3183|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenho|  楼主 | 2010-7-29 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
沙发
gongche| | 2010-7-29 20:44 | 只看该作者
你的程序呢?

使用特权

评论回复
板凳
chenho|  楼主 | 2010-7-29 20:58 | 只看该作者
DELAY:
LDI CT1,09H
LDI CT0,0EH
SBIM CT0,01H
BC $-1
SBIM CT1,01H
BC $-4
RTNI

使用特权

评论回复
地板
gongche| | 2010-7-29 21:03 | 只看该作者
首先要知道每条指令的时间

使用特权

评论回复
5
chenho|  楼主 | 2010-7-29 21:06 | 只看该作者
是32.768KHZ,约为122US吧

使用特权

评论回复
6
huwr| | 2010-7-29 21:09 | 只看该作者
1+9+9*15*2+9*2+1=299

使用特权

评论回复
7
chenho|  楼主 | 2010-7-29 21:10 | 只看该作者
1+9+9*15*2+9*2+1=299
huwr 发表于 2010-7-29 21:09

怎么理解?

使用特权

评论回复
8
huwr| | 2010-7-29 21:11 | 只看该作者
这还不好理解?第1个"1"为第一条指令的执行次数

使用特权

评论回复
9
huwr| | 2010-7-29 21:12 | 只看该作者
9为第二条指令执行次数

使用特权

评论回复
10
huwr| | 2010-7-29 21:12 | 只看该作者
9*15*2为第3,4条指令的执行次数

使用特权

评论回复
11
huwr| | 2010-7-29 21:12 | 只看该作者
9*2为第5,6条指令的执行次数

使用特权

评论回复
12
huwr| | 2010-7-29 21:13 | 只看该作者
1为最后一条指令的执行次数

使用特权

评论回复
13
huwr| | 2010-7-29 21:13 | 只看该作者
延时程序的总指令数乘以每条指令的时间即为延时的时间.

使用特权

评论回复
14
chenho|  楼主 | 2010-7-29 21:17 | 只看该作者
多谢楼上

使用特权

评论回复
15
chenho|  楼主 | 2010-7-29 21:17 | 只看该作者
SBIM  DELAY_0, 01H
       BC    $+2
       RTNI
       LDI   CT0, 0FH;??
       SBIM  CT0, 01H
       BNZ   $-1
       JMP   DELAY
其中DELAY-0,在主程序中已经定义LDI  DELAY_0, 0FH;?????
上述程序中?部分的0FH是否可以改FFH呢?

使用特权

评论回复
16
chenho|  楼主 | 2010-7-29 21:18 | 只看该作者
除了循环嵌套增加延时时间外,有没有别的延时方法,延时的时间长点

使用特权

评论回复
17
huwr| | 2010-7-29 21:19 | 只看该作者
你写成FFH是错误的

使用特权

评论回复
18
huwr| | 2010-7-29 21:20 | 只看该作者
这是4位机,数据最大为16,即FH

使用特权

评论回复
19
chenho|  楼主 | 2010-7-29 21:21 | 只看该作者
哦,一般在程序中习惯写成0FH

使用特权

评论回复
20
huwr| | 2010-7-29 21:22 | 只看该作者
其实除了指令延时外,你也可以用定时器来做定时。

使用特权

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

本版积分规则

748

主题

9853

帖子

5

粉丝