《嵌入式技术入门与实战(基于STM32)》 课件 6.2-定时器的应用 PWM.pptx

《嵌入式技术入门与实战(基于STM32)》 课件 6.2-定时器的应用 PWM.pptx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第6章STM32定时器应用实战《嵌入式技术入门与实战(基于STM32)》

3任务2定时器输出PWM脉冲第6章STM32定时器应用实战PartThree

案例引入PWM输出实验使用嵌入式芯片的定时器输出占空比可变的PWM波,用来驱动LED灯,从而达到LED亮度由暗变亮,又从亮变暗,如此循环,即呼吸灯的效果。

目录实验内容分析定时器PWM输出原理介绍PWM输出相关寄存器

定时器PWM输出原理介绍

背景知识脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术STM32的定时器除了TIM6和7。其他的定时器都可以用来产生PWM输出。高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。通用定时器也能同时产生多达4路的PWM输出,这样,STM32最多可以同时产生30路PWM输出!

STM32PWM工作过程

PWM占空比输出比较器可输出脉冲,可随时调占空比和频率。输出比较器主要用于步进电机、伺服电机的控制。PWM只能调占空比,也是可以通过程序调频率,但不方便随时调脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号

占空比计算公式:Duty=(Ton/Period)x100%

PWM输出相关寄存器

STM32PWM工作过程(通道1为例)TIMx捕获/比较寄存器CCR1:捕获比较(值)寄存器(x=1,2,3,4):设置比较值。TIMx捕获/比较模式寄存器CCMR1:OC1M[2:0]位:对于PWM方式下,用于设置PWM模式1【110】或者PWM模式2【111】TIMx捕获/比较使能寄存器CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效。CC1E位:输入/捕获1输出使能。0:关闭,1:打开。

寄存器TIMx_CCMR1的OC1M[2:0]位

PWM模式PWM模式OC1M取值向上计数场景向下计数场景PWM模式1110CNTCCR1时,通道1便为有效状态,否则为无效状态。CNTCCR1时,通道1为无效状态(OC1REF=“0”),否则为有效状态(OC1REF=“1”)。PWM模式2111CNTCCR1时,通道1便为无效状态,否则为有效状态。CNTCCR1时,通道1便为有效状态,否则为无效状态。输出模式下捕获/比较1输出极性CC1P的取值含义为:“0”-OC1高电平有效“1”-OC1低电平有效

实验内容分析

硬件设计本次任务选用PF9引脚连接的LED灯,PF9引脚复用功能连接TIM14_CH1,因此需要对TIM14的通道1进行配置,使其输出占空比可变的PWM信号,驱动LED灯的亮度的变化。

软件设计

PWM输出HAL库函数说明lHAL_TIM_PWM_ConfigChannel()功能:初始化定时器的输出通道,返回HAL状态值。该函数由开发工具自动生成。函数原型:HAL_StatusTypeDefHAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef*htim,TIM_OC_InitTypeDef*sConfig,uint32_tChannel)lHAL_TIM_PWM_Start()功能:在轮询方式下启动PWM信号输出,返回HAL状态值。该函数在定时器初始化完成之后调用,且需要由用户调用,用于启动定时器的指定通道输出PWM信号。函数原型:HAL_StatusTypeDefHAL_TIM_PWM_Start(TIM_HandleTypeDef*htim,uint32_tChannel)l__HAL_TIM_SET_COMPARE功能:设置捕获/比较寄存器TIMx_CCR的值。在PWM输出时,用于改变PWM信号的占空比。该函数是宏函数,进行宏替换,不发生函数调用。函数原型:#define__HAL_TIM_SetCompare__HAL_TIM_SET_COMPARE

实验要求下载代码到实验板,观察结果是否符合预期撰写实验报告思考题:1、实验板上的其他LED灯是否也能采用定时器PWM的方式来实现呼吸灯的效果,请说明理由,如果可以,请通过代码实现。2、结合输入捕获和输出PWM两个实验,将输出PWM信号引脚通过杜邦线连接到输入捕获的引脚,通过输入捕获测量PWM脉宽,并实时打印到串口调试助手上。

单击此处添加副标题内容谢谢聆听21

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档