1微控制器综合设计与实训实验名称:实验八PWM输出实验2实验八:PWM输出实验1实训任务(1)开启TIM时钟,配置定时器通道对应10口为复用输出;(2)利用定时器的PWM输出功能产生波;(3)通过调节占空比调节LED的亮度
1.1实验说明脉冲宽度调制(PWM),是英文“PulseWidthModulation,啲缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术
简单一点,就是对脉冲宽度的控制
STM32的定时器除了TIM6和7
其他的定时器都可以用来产生PWM输出
其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出
而通用定时器也能同时产生多达4路的PWM输出
要使STM32的通用定时器TIMx产生PWM输出,除了上一实验的寄存器外,我们还会用到3个寄存器,分别是:捕获/比较模式寄存器(TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器(TIMx_CCR1〜4)
本实验仅利用TIM3的CH2产生一路PWM输出
通过重映射TIM_CH2到PB5上,由TIM_CH2输出PWM来控制LED1的亮度
1.2实验步骤⑴在实训平台上将PB5连接LED灯;(2)编写timer
c与timer
h文件,实现通过重映射TIM_CH2到PB5上,由TIM_CH2输出PWM来控制LED1的亮度
(3)编写main文件,编译成功;(4)程序编译无误后下载到实训平台,观察LED亮度的变化:通过示波器观察输出的波形
2程序设计(1)新建文件夹并命名为PWM输出实验,复制粘贴上一章的实验文件,将工程3文件改名为PWM
uvprojx
(2)timer
h文件只需再添加TIM3_PWM_Init的声明即可
(3)编写timer
开启TIM3时钟以及复用功能时钟置,配置PB5为复用输出要使用TIM3,必须先开