单片机 延时 控制LED

[复制链接]
 楼主| 微机与危机 发表于 2021-5-28 23:42 | 显示全部楼层 |阅读模式
哪位单片机大佬帮帮我,单片机中如何用延时程序控制不同频率的LED同时闪烁。这做得到吗?只控制一个LED闪烁我会,但是三个不同频率的LED灯同时闪烁,我尝试过,但是实现不了,

评论

tyw
采用公共时标(例如1秒),同时对多个计数器计数(例如A,B2个计数器,A=3,B=4),哪个计数溢出就处理一下操作.这样就能同时处理了.说是同时,其实是串行分时.根椐最高那个频率,再乘10来设定时标.例如最高1秒,时标设0.1秒,这样就能确保采集到所有信息了.  发表于 2021-5-29 08:04
lyjian 发表于 2021-5-29 00:02 | 显示全部楼层
设个时间短的基准延时(或者用中断方式的话就设个时间短的中断),设三个减计数器,每次基准延时减一个数,哪个减到0了就重置计数初始值同时取反对应LED,如此反复...
tyw 发表于 2021-5-29 09:39 | 显示全部楼层
定时中断设100ms,定时中断到,在定时中断里将标志置"1"并重置定时器,在主程序里检查标志,=1,则分别把A,B,C...计数器加1,有溢出则操控关联LED灯,无溢出则检查B,...全部查完,则把标置清"0".
a406916285 发表于 2021-5-29 12:33 | 显示全部楼层
状态机思想去考虑
cjseng 发表于 2021-5-29 13:43 | 显示全部楼层
取几个LED闪烁周期的最大公约数,作为定时器周期,之后定时周期到了,就是判断要不要闪的问题,就是个数学问题。
henangongda123 发表于 2021-5-30 11:48 | 显示全部楼层
这就是算法、解决问题的思路,上面的建议是一种方法,有的单片机自带PWM输出,可以用单片机自带的硬件PWM去实现
lyjian 发表于 2021-5-31 12:34 | 显示全部楼层
henangongda123 发表于 2021-5-30 11:48
这就是算法、解决问题的思路,上面的建议是一种方法,有的单片机自带PWM输出,可以用单片机自带的硬件PWM去 ...

PWM主要控占空比,非频率(很多单片机自带的多路PWM输出共用周期)。
GlenX 发表于 2021-5-31 20:06 | 显示全部楼层

单片机 延时 控制LED

同一个定时器是同一个时钟,但不同的定时器可以单独设置。搜索
复制

 楼主| 微机与危机 发表于 2021-6-4 10:54 | 显示全部楼层
谢谢各位大佬,问题已经解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

0

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