STM32单片机仿真开发实例 课件 4.5 呼吸灯_第1页
STM32单片机仿真开发实例 课件 4.5 呼吸灯_第2页
STM32单片机仿真开发实例 课件 4.5 呼吸灯_第3页
STM32单片机仿真开发实例 课件 4.5 呼吸灯_第4页
STM32单片机仿真开发实例 课件 4.5 呼吸灯_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.5呼吸灯能力目标:

理解并掌握STM32单片机PWM的使用方法,能利用PWM技术实现呼吸灯的程序设计。任务要求:仿真电路如图所示,D1为长亮LED,D2为呼吸灯,要求实现D2亮→灭→亮→灭……的渐变效果,一次变化周期为1秒。(图中最右侧为虚拟示波器)PWM技术概述(1)PWM技术

PWM(PulseWidthModulation,脉冲宽度调制),顾名思义就是对固定周期脉冲波形的高电平宽度进行调节。如图所示,脉冲周期固定为T,脉冲持续时间(高电平宽度)为τ,为了方便分析问题,我们定义一个物理量占空比(DutyRatio)D,它与周期T、高电平宽度的关系为:上图中,脉冲波形的平均电压与占空比D,电平电压U之间的关系为:简单来说,PWM技术就是通过调节输出脉冲的占空比来达到调节输出信号平均电压的目的,一般可用于直流电机调速、开关电源、LED亮度调节等领域。(2)定时器的PWM功能STM32F103系列单片机,除了基本定时器TIM6、TIM7之外,其余定时器都有输出PWM的功能,本次任务仅介绍普通定时器TIM3输出1路PWM实现LED呼吸灯效果的方法。4.5.2任务程序的编写首先是工程的图形化配置在如图所示定时器配置设定窗口中,“CounterSettings”(计数器设定)设定PSC为79,此时定时器的计数脉冲对象周期:设定ARR为99,此时定时器一次溢出时间:PWM占空比的设定如图所示。

值得注意的是,这里PWM的溢出周期为1ms,也就是说PWM的频率为1kHz。“PWMGenerationChannelx”(通道x的PWM生成,x=1,2,3,4)设定窗口中有“Mode”(模式)和“CHPolarity”(通道极性)两个选项可以用于构成互补逻辑。此时假设定时器TIMx当前计数值为CNT。“Mode”选项:①PWMmode1:CNT<CCRx时,输出有效电平;当CNT>CCRx时,输出无效电平②PWMmode2:CNT<CCRx时,输出无效电平;当CNT>CCRx时,输出有效电平“CHPolarity”选项,有些资料也称其为“有效电平”:①low:通道极性为低电平,也可以说是有效电平为低电平,此时高电平就是无效电平②high:通道极性为高电平,也可以说是有效电平为高电平,此时低电平就是无效电平

上图所示曲线表示的是一种选择①PWM模式1、②有效电平为低电平的PWM设定模式。本次任务需要用到的新的API函数:

定时器PWM启动函数HAL_TIM_PWM_Start例程://运行定时器TIM3,并由通道2输出PWMif(HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2)!=HAL_OK){Error_Handler();}需要用到的宏定义:

定时器设置比较值宏__HAL_TIM_SET_COMPARE例程://赋予定时器TIM3的CCR2寄存器的值为50__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_2,50

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论