找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9006|回复: 5
打印 上一主题 下一主题
收起左侧

单片机延时程序

[复制链接]
跳转到指定楼层
楼主
ID:2356 发表于 2008-6-7 19:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MOV R2,#10H
........
DELY:   PUSH 02H
DEL2:   PUSH 02H
DEL3:   PUSH 02H
DEL4:   DJNZ R2,DEL4    ;单片机延时程序
        POP 02H
        DJNZ R2,DEL3
        POP 02H
        DJNZ R2,DEL2
        POP 02H
        DJNZ R2,DELY
        RET
请问延时多长时间若晶振12MHZ
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:2006 发表于 2008-6-7 22:56 | 只看该作者
具体算起来要比较长式子,你不妨把延时程序拷贝进Keil C运行,把断点设置到RET处,很快就可得出延时时间,记住先设置好晶振
回复

使用道具 举报

板凳
ID:2330 发表于 2008-6-10 11:38 | 只看该作者

晶振为12MHZ则一个机器周期执行的时间为1微秒

DJNZ为双周期指令所以执行一次需要2个机器周期
执行一次DJNZ R2,DEL4需要10次才可以执行下一条指令
10*2*1微妙=20微秒
执行DJNZ R2,DEL3 10*10*2*1微秒
同理DJNZ R2,DEL2  10*10*10*2微秒
DJNZ R2,DELY     10*10*10*10*2*1微秒
所以总时间为
10*10*10*10*2*1+10*10*10*2+10*10*2*1+10*2*1
其实这也只是算出个 粗略的结果
要想得到精确的结果 还要把 所有的 PUSH和POP所用的时间给加上```

回复

使用道具 举报

地板
ID:2356 发表于 2008-6-10 12:13 | 只看该作者
谢谢 大白狐斑竹大人啊
回复

使用道具 举报

5#
无效楼层,该帖已经被删除
6#
ID:66501 发表于 2014-10-24 14:17 | 只看该作者
掘墓高手,专挖古墓,一挖一个坑,坑坑见墓。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表