打印

单片机延时程序怎么计算的?

[复制链接]
4226|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
297363727|  楼主 | 2012-10-7 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dqyubsh| | 2012-10-7 23:10 | 只看该作者
这个很粗略,你要看汇编代码,计算一共用了几个指令,每个指令多少个周期,才会比较准确。或者你用一个IO跳变来测量延时函数的时间。

使用特权

评论回复
板凳
阿南| | 2012-10-7 23:47 | 只看该作者
2楼的方法是正确的,还有一种比较笨也比较方便有效的方法是:将t设定成固定的值,如10000毫秒,然后一边调节for循环里的值,一边实际测量,至到满意的精确度为此。

使用特权

评论回复
地板
logokfu| | 2012-10-8 07:23 | 只看该作者
楼上说的都很好,不过,建议楼主要学会用定时器。采用查询的办法。这样效率高些,也好把握时间。

使用特权

评论回复
5
NE5532| | 2012-10-8 08:57 | 只看该作者
还建议楼主定时器和软件延时都学会,按需使用。

使用特权

评论回复
6
dlyt_test001| | 2012-10-8 08:58 | 只看该作者
长假已过,来冒个泡!不建议楼主用这样的延时!
一个程序中最好要有个定时器!然后用它做延时!

使用特权

评论回复
7
forgot| | 2012-10-8 09:56 | 只看该作者
按51常见的机器周期是12倍或者6倍的时钟周期来看
即使是机器周期大致延时
t的值也应该不能延时大致t毫秒

使用特权

评论回复
8
forgot| | 2012-10-8 09:57 | 只看该作者
在不精确延时效果来看,机器周期延时也是很有用的

使用特权

评论回复
9
NE5532| | 2012-10-8 19:07 | 只看该作者
在不精确延时效果来看,机器周期延时也是很有用的
forgot 发表于 2012-10-8 09:57


软件延时与定时器延时精度相等,详见我精华区的**。

使用特权

评论回复
10
297363727|  楼主 | 2012-10-8 21:22 | 只看该作者
9# NE5532
哦,我想学ARM所以现在在学51,不知道以后还需要学AVR不?

使用特权

评论回复
11
NE5532| | 2012-10-8 21:52 | 只看该作者
你直接学ARM就可以了,其实ARM跟51在理解的容易程度上差不多,欢迎学习AVR,但是学任何单片机都可以。

使用特权

评论回复
12
songhere| | 2012-10-8 22:17 | 只看该作者
让一个定时器做 时基,这样实时性好些。。。。

使用特权

评论回复
13
fskjhm| | 2012-10-23 14:08 | 只看该作者
远离51,珍惜脑浆

使用特权

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

本版积分规则

8

主题

33

帖子

1

粉丝