[家电应用] 延时函数的原理是什么

[复制链接]
4613|80
burgessmaggie 发表于 2025-12-7 11:53 | 显示全部楼层
推荐使用NOP()空指令或简单循环,避免启动定时器的开销。
wwppd 发表于 2025-12-7 13:36 | 显示全部楼层
晶振频率直接影响指令执行速度,需根据实际频率调整循环次数
iyoum 发表于 2025-12-7 15:25 | 显示全部楼层
根据实现方式,分为软件延时和硬件定时器延时两类,前者简单但精度低,后者精准且不占用 单片机,是工程主流方案。
maudlu 发表于 2025-12-7 17:27 | 显示全部楼层
通过让 单片机 循环执行 “空操作” 或 “无意义的循环指令”,利用循环次数 × 单次循环的指令耗时,累积出目标延时时间。
beacherblack 发表于 2025-12-7 19:33 | 显示全部楼层
软件延时依赖单片机空转,适合简单场景;硬件定时器利用外设资源,精度高且不阻塞单片机
robincotton 发表于 2025-12-7 21:31 | 显示全部楼层
软件空循环延时              
i1mcu 发表于 2025-12-9 08:27 | 显示全部楼层
单片机延时函数的核心原理是利用单片机执行无意义指令或硬件定时器计数,消耗固定时间以实现程序暂停,主要分为软件延时和硬件延时两种方式。
ulystronglll 发表于 2025-12-9 12:05 | 显示全部楼层
单片机延时函数的核心思想是“用已知时间的 单片机 操作来填充等待时间”。
vivilyly 发表于 2025-12-10 12:55 | 显示全部楼层
总延时时间 ≈ 循环次数 × 单次循环耗时
sdlls 发表于 2025-12-10 14:58 | 显示全部楼层
单片机延时函数的核心原理是通过消耗时间资源实现程序暂停
mmbs 发表于 2025-12-10 16:50 | 显示全部楼层
延时函数主要有三种实现方式:基于循环的软件延时、基于硬件定时器的延时 和 基于操作系统的非阻塞延时。
elsaflower 发表于 2025-12-10 18:48 | 显示全部楼层
单片机延时函数的核心原理是通过控制 单片机 执行指令的时间累积,或利用硬件定时器的计数周期,让程序在指定时间内暂停执行后续代码
jonas222 发表于 2025-12-11 10:40 | 显示全部楼层
// 延时约1ms(8MHz晶振,1机器周期=1.5μs)
void Delay_ms(uint16_t ms) {
    uint16_t i, j;
    for(i = ms; i > 0; i--)        // 外层循环:ms次
        for(j = 114; j > 0; j--);  // 内层循环:114次(单次内层≈1.5μs×114≈171μs?需校准)
}
yorkbarney 发表于 2025-12-11 12:43 | 显示全部楼层
通过让单片机执行无实际功能的空循环,消耗一定数量的时钟周期,从而达到延时目的
pentruman 发表于 2025-12-11 14:46 | 显示全部楼层
利用单片机内置的定时器/计数器模块,通过配置寄存器设定定时时长,在定时器溢出时触发中断或标志位,实现精准延时
timfordlare 发表于 2025-12-11 16:41 | 显示全部楼层
尽量避免使用软件延时              
tpgf 发表于 2025-12-12 17:38 | 显示全部楼层
简单场景选软件延时;工业控制/通信协议必须用硬件定时器;多任务系统首选RTOS延时机制
未来AI 发表于 2025-12-13 08:24 | 显示全部楼层
延时函数通过计算执行特定操作所需的时间,来暂停程序的执行,从而实现延迟效果。
线稿xg 发表于 2025-12-14 01:11 | 显示全部楼层
晶振不稳定和指令执行耗时都会干扰精确计时。
灵犀幻影 发表于 2025-12-14 19:15 | 显示全部楼层
晶振误差对延时的影响很大,如果晶振频率有偏差,那么延时的误差也会相应放大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0