嵌入式学习——使用定时器输出PWM波形,实现 LED呼吸灯的效果
目录
1. 任务要求
使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸灯的效果。
这里我使用的是TIM2和TIM4,不知道怎么回事,相同的做法TIM3就是不呼吸,可能玄学吧,所以换了一个定时器。
2 PWM波介绍,
2.1 什么是PWM(Pulse Width Modulation—脉冲宽度调制技术)
在一个周期波形中,高电平占整个周期的比例称之为占空比,而高电平宽度通常被称为脉冲宽度。当我们在控制占空比,从而控制电路导通或者关闭时间,从而控制导通的有效电压。由于这个特性,我们在需要控制LED灯时,经常会看到PWM。
在没有PWM的电路中,我们通常会在电路上加电阻(滑动电阻器),改变LED的电压,控制LED的亮度。但如果有PWM的话,我们就可以直接控制PWM的占空比,控制LED导通时间,从而控制LED的亮度。
1、PWM的频率
指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期),也就是说一秒钟PWM有多少个周期。
2、PWM的周期
T = 1 / f,周期 = 1 / 频率
如:50Hz = 20ms一个周期(如果频率为50Hz,也就是说一个周期20ms,那么一秒钟就有50次PWM周期)
3、占空比
是指一个脉冲周期内,高电平的时间与整个周期时间的比例
4、周期
一个脉冲信号的时间,1s内周期次数等于频率
5、脉宽时间
高电平时间,脉宽时间占总周期时间的比例,就是占空比
6、调节PWM
PWM就是通过脉冲宽度调制,通过调节占空比,就可以调节脉冲宽度(脉宽时间),而频率就是单位时间内脉冲信号的次数,频率越大,占空比越大。