打印
[应用方案]

单片机的几种精确延时

[复制链接]
楼主: 51xlf
手机看帖
扫描二维码
随时随地手机跟帖
21
weifeng90| | 2024-5-6 08:15 | 只看该作者 回帖奖励 |倒序浏览
要实现精确延时功能,肯定还是得定时器。

使用特权

评论回复
22
qiufengsd| | 2024-5-6 09:03 | 只看该作者
使用循环函数延时,如void delay1ms(void),可以较为精确地控制延时时间。但是,这种延时方式会一直占用CPU,导致在延时期间CPU无法执行其他任务,降低了CPU的使用效率。

使用特权

评论回复
23
timfordlare| | 2024-5-6 09:54 | 只看该作者
定时器工作在不同模式下,如方式2,可以实现极短时间内的精确延时。

使用特权

评论回复
24
kkzz| | 2024-5-7 08:08 | 只看该作者
使用中断方式进行长时间延时,通过适当的循环结构实现几秒甚至更长时间的延时。

使用特权

评论回复
25
weifeng90| | 2024-5-7 08:10 | 只看该作者
精确延时肯定还是得定时器

使用特权

评论回复
26
cashrwood| | 2024-5-7 08:53 | 只看该作者
单片机的延时精确性依赖于其内部时钟的稳定性。如果使用内部RC振荡器,由于温度和电源电压的影响,其频率可能会有所漂移。

使用特权

评论回复
27
zerorobert| | 2024-5-7 11:24 | 只看该作者
单片机系统的时钟频率会影响延时的精度。例如,常用的11.0592 MHz晶振可以容易地产生各种标准的波特率,而12 MHz或6 MHz的晶振也常用于单片机系统。选择一个合适的晶振对于实现精确延时至关重要。

使用特权

评论回复
28
wwppd| | 2024-5-7 12:11 | 只看该作者
使用定时器/计数器实现精确延时。

使用特权

评论回复
29
hilahope| | 2024-5-7 20:44 | 只看该作者
配置单片机的定时器产生固定时间间隔的中断。
在中断服务函数中设置标志位或执行需要的操作。
主循环检查标志位,根据需要进行延时或执行其他任务。

使用特权

评论回复
30
digit0| | 2024-5-9 06:43 | 只看该作者
使用了单片机制造商提供的特殊延迟库功能

使用特权

评论回复
31
10299823| | 2024-5-9 17:30 | 只看该作者
如果选择使用定时器/计数器来实现精确延时,需要根据单片机的内部资源和定时器的可用模式来配置合适的定时器。

使用特权

评论回复
32
朝生| | 2024-5-10 07:54 | 只看该作者
如果延迟函数可能被中断或其他任务中断,那么您需要确保它是可重入的,也就是说,在中断返回之后执行可以正确地继续。

使用特权

评论回复
33
chenqianqian| | 2024-5-10 08:02 | 只看该作者
精确延时肯定还是硬件延时

使用特权

评论回复
34
albertaabbot| | 2024-5-10 13:24 | 只看该作者
需要高精度延时的场合使用定时器中断,而在对延时精度要求不高的场合使用软件延时循环。

使用特权

评论回复
35
pmp| | 2024-5-10 16:52 | 只看该作者
对于较长的延时,通常使用软件循环实现;对于较短的延时,可以使用定时器中断来实现

使用特权

评论回复
36
AIsignel| | 2024-5-10 23:54 | 只看该作者
检查库函数的实现细节,以了解它们的准确性和可能的局限性。

使用特权

评论回复
37
鹿鼎计| | 2024-5-15 14:39 | 只看该作者
如果计时器位的数量受到限制,当计数达到最大值时将发生溢出。因此,正确处理溢出事件。

使用特权

评论回复
38
天天向善| | 2024-5-20 19:28 | 只看该作者
延迟函数的精度受到晶体振荡器频率的影响。当使用12兆赫的晶体振荡器时,每条指令的周期是1微秒,这很容易计算。

使用特权

评论回复
39
LinkMe| | 2024-5-21 17:35 | 只看该作者
定时器在不同的模式下工作,例如模式2,以便在非常短的时间内实现精确的延迟。

使用特权

评论回复
40
Pretext| | 2024-5-22 22:53 | 只看该作者
使用中断模式进行长时间延迟,采用适当的环路结构可以实现几秒钟甚至更长的延迟。

使用特权

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

本版积分规则