标题: 这个延时怎么算? [打印本页]

作者: 二九九    时间: 2015-10-3 21:09
标题: 这个延时怎么算?
本帖最后由 二九九 于 2015-10-3 21:11 编辑
  1. void Delay10ms(void)  
  2.    {
  3.        unsigned char a,b,c;
  4.        for(c=1;c>0;c--)
  5.        for(b=38;b>0;b--)
  6.        for(a=130;a>0;a--);
  7.   }
复制代码

是我在教程里看到的,不明白怎样算出时间。[qq]730516657[/qq]
作者: 15年的51菜鸟    时间: 2015-10-4 10:13
1乘38乘130,大概是38毫秒。延时时间比较短
作者: 二九九    时间: 2015-10-4 11:45
15年的51菜鸟 发表于 2015-10-4 10:13
1乘38乘130,大概是38毫秒。延时时间比较短

谢谢,1*38*130 怎么来的?
作者: zycsz    时间: 2015-10-5 13:13
总的循环次数
作者: answer_hdz    时间: 2015-10-6 10:49
1*38*130*单条指令时间周期
作者: aiwang51    时间: 2015-10-6 12:05
在keil里面仿真,在这段语句前后设置断点,看这条语句执行的时间。
作者: 小强强    时间: 2015-10-11 20:55

下载器可以生成延时函数。
作者: 小强强    时间: 2015-10-11 21:00
刚刚上传不了图片

llll.jpg (172.55 KB, 下载次数: 177)

llll.jpg

作者: touchingheart    时间: 2015-10-12 12:02
对,直接在keil里面仿真,设置断点,计算执行所需时间,这种软件延时,用c写的计算大多不准,都是大概的,直接调试最准。
作者: zuzuxia    时间: 2015-10-14 21:16
38*130*单条指令时间周期
作者: pureblack    时间: 2015-10-14 21:22
直接设置断定测试一下时间看看
作者: eward    时间: 2015-10-16 11:51
1*38*130*单条指令时间周期
作者: 3bbh    时间: 2015-10-16 17:03
不错 不错。   




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1