文章目录

  • 一、环境配置
  • 二、PWM简介
  • 三、使用STM32CubeMX配置工程
  • 四、使用Keil配置代码
  • 五、运行效果
  • 六、用Keil自带的逻辑仿真器观察占空比
  • 七、总结
  • 八、参考资料

一、环境配置

软件:STM32CubeMX:6.6.1
Keil 5.31
mcuisp
硬件:STM32F103C8T6核心板

二、PWM简介

PWM含义:
PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;它是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。

PWM基本原理:
PWM就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也可以这样理解,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。只要带宽足够,任何模拟值都可以使用 PWM 进行编码。

PWM优点及应用范围:
由于其控制简单、灵活和动态响应好等优点而成为电力电子技术应用最广泛的控制方式,其应用领域包括测量,通信, 功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器,因此学习PWM具有十分重要的现实意义。

三、使用STM32CubeMX配置工程

1、新建工程,进行基本配置。通过点击“ACCESS TO MCU SELECTOR”来创建一个新的工程:

2.搜索型号,选择合适的型号进行工程建立

3.设置RCC

4.设置SYS

5.配置定时器3。如图:

6.配置定时器4。如图:

7.先点击“Clock Configuration”页面,按照下面红色框中的值,从左到右进行配置即可。

8.在工程管理页面“Project Manager”,先点击“Code Generator”,选择如下配置:

9.再点击 “Project” ,进行如下配置:

四、使用Keil配置代码

打开main.在如下图地区分别添加指定代码:

uint16_t duty_num1 = 10;
uint16_t duty_num2 = 20;

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);

while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_Delay(50);duty_num1=duty_num1+10;duty_num2=duty_num2+20;if(duty_num1>500){duty_num1=0;}__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_2,duty_num1);if(duty_num2>500){duty_num2=0;}__HAL_TIM_SetCompare(&htim4,TIM_CHANNEL_2,duty_num2);}

五、运行效果

TIMER_PWM

六、用Keil自带的逻辑仿真器观察占空比

配置这里不再讲解,可参考另一篇博客:
https://blog.csdn.net/qq_55894922/article/details/127232999?spm=1001.2014.3001.5501
观察结果:

TIMER_PWM占空比变化

七、总结

本次实验成功完成了用STM32CubeMX完成输出PWM波形并实现呼吸灯。了解到了很多关于PWM的知识,又积累了一点嵌入式的知识。

八、参考资料

http://www.mcublog.cn/stm32/2021_01/stm32cubemx-pwm-huxideng/
https://blog.csdn.net/qq_45237293/article/details/111997424
https://blog.csdn.net/zmhDD/article/details/111942507
https://blog.csdn.net/qq_55894922/article/details/127232999?spm=1001.2014.3001.5501

STM32输出PWM波形并实现呼吸灯相关推荐

  1. STM32输出PWM波形及LED呼吸灯

    目录 一.PWM的介绍 1.概述 2.优点 3.主要产生方法 SPWM法 1.等面积法 2.硬件调制法 3.软件生成法 4.PWM电路图 5.PWM基本原理 二.cubemx项目的建立 1.选择芯片S ...

  2. 使用STM32输出PWM波形LED呼吸灯的效果

    文章目录 前言 一.PWM简介 1.1 关于PWM 1.2 使用步骤 二.使用STM32CUBEMX实现2个 LED呼吸灯的效果 2.1.配置环境 2.2 代码配置 2.3.输出PWM波形 2.4 呼 ...

  3. STM32输出PWM波形以及实现LED呼吸灯

    目录 一.PWM的简介 1.PWM的定义 2.PWM的优点 3.PWM的几种控制方法 (1)等脉宽PWM法 (2)随机PWM (3)SPWM法 4.PWM的主要参数 (1)PWM占空比 (2)PWM的 ...

  4. 使用STM32输出PWM波形实现2个 LED呼吸灯

    目录 一.PWM简介 二.STM32配置PWM输出 三.keil仿真 四.烧录运行 五.现象 六.总结 七.参考链接 一.PWM简介 含义 PWM(Pulse Width Modulation)即脉冲 ...

  5. 使用STM32输出PWM波形并驱动LED呼吸灯

    目录 前言 一.PWM 二.工程代码 1.用STM32CubeMx创建工程 创建新项目 配置RCC和SYS 配置定时器TIME3 配置定时器TIM4 配置时钟 生成项目 2.用Keil编写代码 3.硬 ...

  6. 【STM32】【STM32CubeMX】STM32CubeMX的使用之六:定时器配置输出PWM,实现变色呼吸灯

    文章目录 0.前言 1.硬件设计 2.CubeMX配置 3.软件设计   下载工程文件:   https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l ...

  7. 嵌入式实验(四):用STM32输出PWM波形/DAC功能完成波形输出

    0 实验目标 用STM32F103输出一路PWM波形,建议采用定时器方法.野火和网上大多数资源采用此方法,有完整源码.用示波器观察输出波形. 用STM32F103的DAC功能完成以下波形输出,用示波器 ...

  8. 使用STM32输出PWM波形

    一.关于PWM 1.含义及原理 PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制.它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术:它是一种模拟控制 ...

  9. STM32输出PWM波形

    简单介绍一下PWM PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编 ...

最新文章

  1. C++中友元函数和友元类
  2. TCP 的那些事儿(下)
  3. cocos2d-x CCParticleSystem粒子系统
  4. 完整的中英文词频统计
  5. BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
  6. Socket编程:必须要了解的网络字节序和转换函数
  7. ibm服务器 p5 硬盘,IBM虚拟化实战之p5服务器逻辑分区解读
  8. Bootstrap3 滚动监听插件的事件
  9. 【Angular专题】 (3)装饰器decorator,一块语法糖
  10. bzoj2208: [Jsoi2010]连通数
  11. leapmotion 初识
  12. 恒强制版系统980_恒强制版软件操作答疑
  13. 计算机的数字符号化是什么,电脑输入数字变成符号怎么办
  14. MPSK 通信系统的 Monte Carlo 仿真
  15. 【Java例题】3.6 计算arcsin(x)的值
  16. 基于NT98530的多目VR摄像机方案,多sensor同步,多sensor防抖,PTP校时,实景SLAM数字孪生的最佳搭档。
  17. openstack 无法创建实例之消息队列问题
  18. java生成excel表格
  19. h5活动是什么意思_浅谈什么是H5页面,怎么制作h5页面
  20. 林氏物语.朝花夕拾之恨逢卿晚

热门文章

  1. python常用的表达式有关系表达式_数学关系式 表示成正确的 Python表达式为_________。_学小易找答案...
  2. MySQL第41题怎么评分_MYSQL练习题54道(包含尽可能多的解决方法及思路)
  3. 不可不知的七大统计模型
  4. ArcBlock 创始人冒志鸿应邀在猎豹移动演讲
  5. 网安、ctf常用网址
  6. Android Service之设备存储空间监控
  7. 【自动化】自动化工厂需要的十大工控产品
  8. 极路由设置虚拟服务器,HiWiFi极路由手机设置教程
  9. js通用获取本周起始日期
  10. aspectj框架切入点表达式