xytTYX 发表于 2026-2-6 21:31:26

我对软件模拟pwm模块的些许想法

经过一天的煎熬,我钻研了几种实现呼吸灯的法子(有些是邪修或者说瞎搞的),请大佬们指正。


1,用定时器中断 ,通过降低几个灯的频率,实现呼吸灯的视觉效果。
2,根据stc官网的定时器周期调度教程,这样可使led周期性亮起和熄灭。
3,结合代码包中的pwm教程,整合出真正的呼吸灯形式,(这是真正有占空比的程序)

lcwswust 发表于 2026-2-7 09:36:12

有想法就去尝试一下。(主要是我没看懂楼主的想法{:4_200:})
关于软件模拟PWM,我的做法是用定时器,每个周期的波形需要两次中断:
1.在中断里让IO输出高电平、设定h微秒后中断;
2.在中断里让IO输出低电平、设定(T-h)微秒后中断。
这个我是验证过的,用于驱动舵机。
呼吸灯建议PWM频率尽量高些,让人眼察觉不到频闪为好。

_奶咖君_ 发表于 2026-2-7 11:00:43

也不算邪修吧...再没有PWM的单片机上就是用普通的定时器去实现。只不过现在有了更好用的PWM来实现。
剩下的第2点,也还是利用了定时器。只不过套了一层壳儿。

猫虎的 发表于 2026-2-7 11:56:14

首先楼主的第一点,用改变频率来实现呼吸灯的效果是不可取的,因为要让灯亮度改变,主要还得靠改变占空比
剩下的就是渐变的快慢,可以用定时器的中断来定时改变占空比来实现

xytTYX 发表于 2026-2-8 23:07:22

猫虎的 发表于 2026-2-7 11:56
首先楼主的第一点,用改变频率来实现呼吸灯的效果是不可取的,因为要让灯亮度改变,主要还得靠改变占空比
...

这个确实不可取,这不是正道,只能说勉强在人眼中完成目标。但是这个入门是以此来进行知识学习的,我舍本逐末了

xytTYX 发表于 2026-2-8 23:08:53

lcwswust 发表于 2026-2-7 09:36
有想法就去尝试一下。(主要是我没看懂楼主的想法)
关于软件模拟PWM,我的做法是用定时器,每个周期的波形 ...

讲到人眼就很搞笑了,我第一点搞得这个所谓呼吸灯,我调了频率以后人眼看的像缓慢的呼吸灯,但是我拍视频给朋友看的时候看的到灯在闪烁,后来改了手机相机的帧率,才好一点
页: [1]
查看完整版本: 我对软件模拟pwm模块的些许想法