网站大量收购闲置独家精品文档,联系QQ:2885784924

单元十二呼吸灯上海城建职业04课件讲解.pptx

单元十二呼吸灯上海城建职业04课件讲解.pptx

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

单元十二呼吸灯主讲人:***上海城建职业学院

本单元内容PWM基本概念配置STM32PWM输出编程现实LED的呼吸灯效果

教学目标了解PWM的工作原理熟悉STM32的PWM功能设置掌握通过改变PWM占空比实现呼吸灯效果

12.1PWM基本概念

PWM介绍PWM概念PWM基本概念PWM定义:脉冲宽度调制(PulseWidthModulation,PWM)简称脉宽调制。通俗讲,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。占空比定义:占空比就是高电平所占整个周期的时间,如下图所示第一个PWM波,周期为10ms,高电平的时间为4ms,所以占空比为40%,同理第二个PWM波为60%,第三个为80%。

PWM介绍PWM概念PWM基本概念STM32没有专门的PWM引脚,所以使用IO口的复用模式。首先确认PWM功能的输出管脚,使用定时器8。从下面的框图中得知,timer8有四个输出通道,所以timer8能输出四路PWM。

基本概念PWM概念配置定时器的PWM功能在STM32F103数据手册中的Altenatefunctionmapping图片中,timer8的两个通道分别可以复用为PC6,PC7,PC8和PC9。

基本概念PWM概念下图中的①部分,在第11章已经讲解过了,重点在②部分,捕获/对比通道讲解,其中STM32的PWM就是利用对比通道实现的。配置定时器的PWM功能

基本概念PWM概念脉冲宽度调制模式可以生成一个信号,该信号频率由TIMx_ARR寄存器值决定,其占空比则由TIMx_CCRx寄存器值决定。从下图可以看出,当CCR寄存器和CNT计数器数值一样时,会产生动作(改变通道对应的GPIO电平)。由于CNT溢出时,重载值由TIMx_ARR寄存器值决定的。所以说TIMx_ARR寄存器值决定周期,而TIMx_CCRx寄存器值决定CNT溢出时,经过多久会产生动作(改变通道对应的GPIO电平),也就是决定了占空比。配置定时器的PWM功能

基本概念PWM概念以向上计数为例,重载值为ARR,比较值为CRRx。上图可以看出:0-t1段,定时器计数器TIMx_CNT值小于CCRx值,输出低电平。t1-t2段,定时器计数器TIMx_CNT值大于CCRx值,输出高电平。当TIMx_CNT值达到ARR时,定时器溢出,重新向上计数...循环此过程至此一个PWM周期完成。信号频率由TIMx_ARR寄存器值决定占空比则由TIMx_CCRx寄存器值决定配置定时器的PWM功能

12.2配置STM32PWM输出

配置步骤STM32输出PWMSTM32输出PWM的过程1、首先配置GPIO,配置定时器,具体参考一下代码。2、捕获/比较通道使能比较通道。上图看到,①寄存器名字为:Capture/Compare1register。可以选择从②处输入捕获,也可以选择从从③中输出,也就是我们需要的PWM输出功能。选择捕获通道,还是选择比较通道,在框图中没有找到具体的说明,但在TIMx_CCMR1寄存器CC1S[1:0]控制位使能。

配置步骤STM32主机通过IIC与SHT20通信时序3、使能完输出,就要配置PWM输出了STM32输出PWM

配置步骤STM32主机通过IIC与SHT20通信时序①TIMx_CCMR1寄存器的OC1M[2:0]位,设置输出模式控制器110:PWM模式1,111:PWM模式2。②计数器值TIMx_CNT与通道1捕获比较寄存器CCR1进行比较,通过比较结果输出有效电平和无效电平。OC1REF=0无效电平,OC1REF=1无效电平。③通过输出模式控制器产生的信号。TIMx_CCER寄存器的CC1P位,设置输入/捕获通道1输出极性。0:高电平有效,1:低电平有效。④TIMx_CCER:CC1E位控制输出使能电路,信号由此输出到对应引脚。0:关闭,1:打开。总结下来:模式1:CNTCCR为无效电平//(OC1REF=0)模式2:CNTCCR为有效电平//(OC1REF=1)CC1P:0:高电平有效1:低电平有效STM32输出PWM

12.3编程实现PWM呼吸灯

应用编程呼吸灯配置STM32初始化定时器8的PWM功能首先配置GPIO配置定时器捕获/比较通道使能比较通道

应用编程呼吸灯配置改变输出高

文档评论(0)

学海无涯苦做舟 + 关注
实名认证
内容提供者

职业教育

1亿VIP精品文档

相关文档