STM32 PWM驱动LED呼吸灯

PWM (Pulse Width Modulation) 它是一种用数字信号模拟模拟信号的技术,就是通过在固定周期内改变高电平时间(脉冲宽度)来控制输出信号的平均电压或功率。

在 STM32 中的功能作用:PWM 通常由 定时器(TIM) 生成,每个定时器可以输出多路 PWM 信号。

常见用途:

  1. 电机控制(直流电机速度调节、舵机角度控制)

  2. LED 亮度调节(呼吸灯效果)

  3. 模拟信号输出(通过低通滤波将 PWM 转成模拟电压)

  4. 通信(IR 红外遥控信号、简单的音频输出)

  5. 功率控制(开关电源、加热控制)

STM32 中的 PWM 实现原理:

STM32 定时器有一个 自动重载寄存器(ARR) 和一个 比较寄存器(CCR):

ARR 决定周期:周期 = (ARR + 1) × 定时器时钟周期

CCR 决定占空比:高电平时间 = (CCR + 1) × 定时器时钟周期

当计数器从 0 计数到 ARR 时,比较单元会比较计数器值和 CCR 值:

小于 CCR → 输出高电平

大于等于 CCR → 输出低电平

循环实现PWM占空比从0%逐渐增加到100%,再从100%逐渐减小到0%

周期(Period):PWM 信号重复一次的时间,频率 = 1 / 周期。

  • 占空比(Duty Cycle):高电平时间占整个周期的百分比。

  • 占空比 0% → 始终低电平

  • 占空比 100% → 始终高电平

  • 占空比 50% → 高低电平各占一半时间

使能TIM2定时器和GPIOA的时钟

配置GPIOA的Pin0为复用推挽输出(用于PWM信号输出)

设置TIM2定时器参数:

预分频系数(PSC):720-1,将72MHz系统时钟分频为100kHz

自动重装载值(ARR):100-1,使PWM周期为1ms(频率1kHz)

配置TIM2的通道1为PWM1模式,初始占空比为0

通过TIM_SetCompare1函数设置捕获比较寄存器(CCR)的值,控制PWM占空比

相关推荐
曾浩轩9 分钟前
跟着江协科技学STM32之5-1EXTI外部中断
科技·stm32·嵌入式硬件
qq_4017004122 分钟前
MOS管开关电路上下拉电阻的作用
单片机·嵌入式硬件
南棱笑笑生22 分钟前
20260113给飞凌OK3588-C开发板适配Rockchip原厂的Android14系统时点亮飞凌的7寸屏时适配CTP触摸屏FT5X06
单片机·嵌入式硬件·rockchip
独处东汉24 分钟前
AI辅助Stm32l031项目开发基础准备
人工智能·stm32·嵌入式硬件
麒qiqi31 分钟前
51单片机核心外设知识点总结:GPIO、按键、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
Q_219327645532 分钟前
基于单片机的电梯模拟运行系统
单片机·嵌入式硬件
尼喃35 分钟前
面向双节串联锂电池的高效充电解决方案,5V升压至8.4V/2A充电芯片PW4253及其系列选型指南
单片机·51单片机·芯片
上大科技蔡生38 分钟前
FP5207兼容替代芯片CS5717:2.7V-36V宽输入,单节锂电池适用,异步升压DCDC
单片机·嵌入式硬件·dcdc
v先v关v住v获v取1 小时前
磁性数据线吸力测试装置设计8张cad+三维图+设计说明书
科技·单片机·51单片机
Q_21932764551 小时前
基于STM32的Buck变换器设计与控制系统
单片机·嵌入式硬件