找回密码
 注册
搜索
查看: 1288|回复: 6

[讨论] 延时时间的计算

[复制链接]
发表于 2007-11-26 11:01:12 | 显示全部楼层 |阅读模式
请各位帮忙看看下面对应的汇编和C语言延时程序的时间计算方法:
汇编程序如下:
DELAY: MOV R5,#20
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
C语言程序如下:
void delay(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}

谢谢各位!!
 楼主| 发表于 2007-11-26 12:15:25 | 显示全部楼层
为什么没人留言呢??
大家帮个忙
谢谢
!!!
点评回复

使用道具 举报

发表于 2007-11-26 21:57:50 | 显示全部楼层
你的晶震是多少频率呢?
点评回复

使用道具 举报

 楼主| 发表于 2007-11-27 09:20:03 | 显示全部楼层
12MHz的
点评回复

使用道具 举报

发表于 2008-8-24 08:34:54 | 显示全部楼层
去查一下51 单片机书
点评回复

使用道具 举报

发表于 2008-8-25 09:29:43 | 显示全部楼层
根据每个指令需要的指令周期来确定,1/12。
实在不行,用仿真器也可以计算出这段程序的执行时间。
点评回复

使用道具 举报

发表于 2008-10-22 17:16:59 | 显示全部楼层
不是程序执行时间而是执行完此程序可达到多少延时时间。
先算出一条指令执行的时间,然后把后面的值转换为十进制再乘以指令执行时间就可以,循环相加
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 03:31 , Processed in 0.047017 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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