IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32输出PWM波形并实现呼吸灯 -> 正文阅读

[嵌入式]STM32输出PWM波形并实现呼吸灯

一、环境配置

软件: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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:42:58  更:2022-11-05 00:45:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:49:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码