在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 5878|回复: 24

请教一个延时程序问题

[复制链接]
发表于 2009-3-22 14:09:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人用的STC89C52单片机 有一个延时程序如题:
unsigned char i;
for(i = 0; i < n; i++);

请问每执行一次for循环用时多少啊?我查过资料 有的资料说是8.83us ;  有的说是2us ................
发表于 2009-3-27 09:07:33 | 显示全部楼层

eetop

51单片机的每条汇编指令的执行时间是可计算,您需要确认这个延时语句编译成什么汇编语句,再根据单片机的型号和选用的晶振进行计算。
另外,您还得考虑如果有中断的话,延时可能被中断打扰。

或者您干脆通过IO输出方波,用示波器测量。

[ 本帖最后由 icanfly0000 于 2009-3-27 09:09 编辑 ]
发表于 2009-3-28 17:26:16 | 显示全部楼层
支持!!!!!!!!!!!!!!!!!!
发表于 2009-3-29 10:56:17 | 显示全部楼层
对的,就是应该用汇编写,这样更容易计算时间
发表于 2009-4-4 14:38:10 | 显示全部楼层
你这是软件延时,不是很准确的!
延时的方法有:内部定时器T0 T1 T2 (最准确)
                        硬件延时如555构成的触发器(时基电路)
                        可编程芯片(片外扩张)
                        再有就是你这样的软件定时(不占用硬件资源,当是延时不准,CPU的执行效率低)
发表于 2009-4-6 20:35:38 | 显示全部楼层
执行一条FOR语句是1微秒
发表于 2009-4-7 16:22:56 | 显示全部楼层
在仿真环境下跑一边就知道啦,选对晶振,查看一下时间就行。
发表于 2009-4-7 21:54:58 | 显示全部楼层
软件里面仿真可以看出来。或者干脆汇编.
发表于 2009-4-7 23:42:55 | 显示全部楼层
执行后看看就知道了
发表于 2009-5-10 21:43:30 | 显示全部楼层
你练频率度没给,怎嘛算
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 08:48 , Processed in 0.027761 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表