STM32实验:利用PWM输出制作呼吸灯

文章详细介绍了如何使用STM32的定时器通过PWM脉冲宽度调制来控制LED0实现类似手机呼吸灯的闪烁效果。首先解释了PWM的工作原理,然后阐述了设置PWM周期、输出比较模式以及重映射功能的过程。接着展示了相关的C语言代码实现,包括初始化函数和主函数中的PWM值动态调整。最后,文章提到了实验完成后的PWM波形。
摘要由CSDN通过智能技术生成

​脉冲宽度调制(Pulse width modulation,即PWM)是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。

 实验要求为利用定时器输出的PWM脉冲,控制LED0进行类似手机呼吸灯的闪烁。

首先我们要确定PWM脉冲的周期由以下公式确定Tout=(ARR+1)*(PSC+1)/Ft(单位为us,我们最好转化为ms),即我们之前的定时器的周期公式。Ft为我们定时器的时钟信号来源APB1的72MHz,PSC为预分频系数,ARR为我们的自动装载系数。后两个参数是需要我们自己编写的。举个例子,比如我们需要输出一个2kHz的PWM方波,则我们的ARR设置为499,PSC设置为71,最后计算所得的周期时间为500us,转化为频率便是2kHz。

接下来我们设置输出比较模式,设置为PWM模式1、通道输出极性为低电平有效。对于LED0的PB5串口,我们可以看到对应的定时器通道为TIM3的通道2。

 

然后我们在检查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值