使用TIM3和TIM4,实现2个 LED呼吸灯的效果

本文介绍了如何使用STM32的TIM3和TIM4实现两个LED呼吸灯效果。首先解释了PWM的概念和原理,包括频率、周期和占空比的影响。接着详细讲述了在STM32中设置RCC、SYS、定时器以及时钟的具体步骤,同时提供了keil代码编写过程,包括在main.c文件中配置PWM通道和在while循环中调用的代码。文章还提到烧录运行的流程,并对实验过程进行了总结,强调了接线稳定性和对PWM技术进一步学习的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、PWM相关介绍

1.PWM含义

PWM:Pulse Width Modulation,脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

可以将PWM理解为:对脉冲信号的处理技术,这里的“处理”指就的是改变占空比,从而改变最后呈现的效果。

既然是针对的是脉冲信号,肯定会有以下这些概念(关于脉冲就是不断跳跃的波,而PWM脉冲信号是矩形波):

PWM的频率:是指1秒钟内,信号从高电平到低电平再回到高电平的次数,也就是说一秒钟PWM有多少个周期。
单位:Hz

一般人眼睛对于80Hz以上刷新频率则完全没有闪烁感(因人而异)。
频率太小的话看起来就会闪烁,那么我们平时见到的LED灯,当它的频率大于50Hz的时候,人眼就会产生视觉暂留效果,基本就看不到闪烁了,而是一个常亮的LED灯。
频率很高时,看不到闪烁,占空比越大,LED越亮(平均电压越大);频率很低时,可看到闪烁,占空比越大,LED越亮。
所以,在频率一定下,可以用不同占空比改变LED灯的亮度,使其达到一个呼吸灯的效果。

PWM的周期:T=1/f
如果频率为50Hz,也就是说一个周期是20ms,那么一秒钟就有50次PWM周期。

占空比:在一个周期内,高电平的时间占整个周期时间
duty=t1/T
单位:% (0%-100%)

脉宽时间:高电平时间。

2.PWM的原理

以STM32单片机为例,其IO口只能输出高电平和低电平。
假设高电平为5V、低电平则为0V,那么要输出不同的模拟电压就要用到PWM。通过改变IO口输出的方波的占空比,从而获得使用数字信号模拟成的模拟电压信号。
电压是以一种脉冲序列被加到模拟负载上去的,接通时是高电平1,断开时是低电平0。接通时直流供电输出,断开时直流供电断开。通过对接通和断开时间的控制,理论上来讲,可以输出任意不大于最大电压值5V的模拟电压。
比方说,占空比为50%那就是高电平时间一半,低电平时间一半。在一定的频率下,就可以得到模拟的2.5V输出电压。那么75%的占空比,得到的电压就是3.75V,也就是说,在一定的频率下,通过不同的占空比即可得到不同大小的输出模拟电压,PWM就是通过这种原理实现数字模拟信号转换的。

3.呼吸灯的实现

一般人眼睛对于80Hz以上刷新频率则完全没有闪烁感,那么我们平时见到的LED灯,当它的频率大于50Hz的时候,人眼就会产生视觉暂留效果,基本就看不到闪烁了,而是误以为是一个常亮的LED灯。
由于频率很高时看不到闪烁,占空比越大LED越亮,占空比越小LED越暗,相关呼吸灯实例:STM32中PWM的配置与应用详解。所以,在频率一定时,可以用不同占空比改变LED灯的亮度,使其达到一个呼吸灯的效果。

二、ST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值