在单片机编程中,12M晶振,延时1ms,常用for(i=0;i<120;i++);谁能帮我解释一下,为什么这个语句就是1ms?
答案:4 悬赏:30 手机版
解决时间 2021-03-26 23:56
- 提问者网友:遮云壑
- 2021-03-26 08:17
在单片机编程中,12M晶振,延时1ms,常用for(i=0;i<120;i++);谁能帮我解释一下,为什么这个语句就是1ms?
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-03-26 08:29
这个是for循环是一个软件延时,意思就是单片机执行for循环耗费的时间大约在1ms左右,并不准确的,这个for循环没有人能计数出来单片机在执行它能耗费多少机器周期,都是通过仿真看到的。
这个for循环也是别人在仿真时候测试CPU执行空i--指令耗费大约在1ms.
这个for循环也是别人在仿真时候测试CPU执行空i--指令耗费大约在1ms.
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-03-26 09:28
做任务,谢谢
- 2楼网友:荒野風
- 2021-03-26 09:07
恩,谁说这个是1ms呢。呵呵不过你看加一个也许是10个时钟周期呢,然后120个大约就是1ms。精确定时使用定时器吧
- 3楼网友:洒脱疯子
- 2021-03-26 08:53
这个没有特别的标准,是根据指令周期累加的时间,然而现实情况就比较复杂,
函数调用时间没有考虑
现在很多单片机都流水作业,指令周期比传统51短的多,而且受跳转程序影响,跳转后流水线作废
受中断影响
死等延时不是个好方法,移植性差。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯