单片机如何实现精确延时?
答案:1 悬赏:0
解决时间 2021-01-24 06:04
- 提问者网友:末路
- 2021-01-23 19:35
单片机如何实现精确延时?
最佳答案
- 二级知识专家网友:青灯有味
- 2021-01-23 20:44
单片机的精确延时主要取决于两个方面:
一、系统时钟的准确性和稳定性。(晶振或晶体或内部振荡或其他外部时钟源)
二、单片机执行延时的实现方法。
一不做讨论,但显然与精度密切相关。要求精确的延时时间越长,当然误差越大。假设时钟与标称值的系数为x,延时误差是下面分析误差的x倍。
二主要分两种:
A:NOP延时,或其它无聊指令。统称指令延时。是以执行的次数且无中断打断来确定延时的。这种方法消耗单片机运行速度和代码资源,但相对准确。如果延时时间较长,误差也会加大。
B:定时器应用。定时器的中断标志产生是严密的,最大误差为计数频率的倒数。置为最高优先后,到响应你所要的延时后动作,还有若干系统时钟误差:主要用于中断响应的过程(固定),中断保护栈操作时间(不定),延时需要执行的动作所花时间(程序确定)。
一、系统时钟的准确性和稳定性。(晶振或晶体或内部振荡或其他外部时钟源)
二、单片机执行延时的实现方法。
一不做讨论,但显然与精度密切相关。要求精确的延时时间越长,当然误差越大。假设时钟与标称值的系数为x,延时误差是下面分析误差的x倍。
二主要分两种:
A:NOP延时,或其它无聊指令。统称指令延时。是以执行的次数且无中断打断来确定延时的。这种方法消耗单片机运行速度和代码资源,但相对准确。如果延时时间较长,误差也会加大。
B:定时器应用。定时器的中断标志产生是严密的,最大误差为计数频率的倒数。置为最高优先后,到响应你所要的延时后动作,还有若干系统时钟误差:主要用于中断响应的过程(固定),中断保护栈操作时间(不定),延时需要执行的动作所花时间(程序确定)。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯