上文学习了PWM的基本概述,和PWM的各种参数,本文 学习使用PWM信号去驱动LED实现呼吸灯的效果。
1、PWM驱动LED呼吸灯
1.1介绍
目标:单片机输出一个PWM信号,驱动LED呼吸亮灭。PWM占空比高,则LED更亮;PWM占空比低,则LED更暗;
如下图为实物连接图,在PA0引脚输出PWM信号。
1.2程序运行思路分析:
1)打开时钟(TIM和GPIO的时钟)
2)初始化GPIO(指定某个引脚输出PWM信号)
3)初始化定时器时基单元,(为了设置定时器参数,如频率,计数模式,ARR自动重装值,PSC预分频器等)
4)初始化定时器输出比较,(配置某个定时器的某个通道,模式,极性,使能,和CCR捕获比较寄存器)
5)开启定时器
6)函数调用
1.3程序
下图的程序为输出50%占空比PWM 信号。使用时,直接在主函数,调用PWM_Init ();
void PWM_Init (void)
{
RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM2,ENABLE);
RCC_APB2