目录

1.任务要求

2.PWM介绍

关于PWM的定义

分频-计数时钟

计数器

定时器输出PWM的原理

定时器的初始化

3.配置STM32CubeMX

4.keil5的代码

5.运行结果

6.心得与体会

1.任务要求

使用TIM3和TIM4,分别输出一个PWM波形,由于PWM的占空比随时间变化,去驱动外接的LED以及最小开发板上已经焊接的LED,实现2个LED呼吸灯的效果。

2.PWM的介绍

关于PWM的定义

PWM控制即脉冲宽度调制技术,就是通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形(含形状和幅值), PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,广泛应用在从测量、通信到功率控制与变换的许多领域中。

其基本原理是控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。

按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。

在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。

分频-计数时钟

计数器实质是对输入的驱动时钟进行计数,所以计数器在某种意义上讲,等同于对时钟进行分频。例如一个最大计数长度为N=2^n(从0计数到N-1)的计数器,也就是寄存器位数位n,那么寄存器最高位的输出为N=2^n分频,次高位为N/2分频...

定时器时钟提供较高的频率,计数器不需要这么高的频率来计数,所以会进行降频,使用一个合适的低频时钟来计数。
定时器时钟经过PSC预分频器之后,即CK_CNT,用来驱动计数器计数。

计数器

计数是一种最简单基本的运算。计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。它主要的指标在于计数器的位数,常见的有3位和4位的。很显然,3位数的计数器最大可以显示到999,4位数的最大可以显示到9999。

定时器输出PWM原理

假设定时器工作模式设置为向上计数PWM模式,且当CNT<CCRx时,输出1,当CNT>=CCRx时输出0,则:

  1. 当CNT值小于CCRx的时候,IO输出高电平(1)
  2. 当CNT值大于等于CCRx的时候,IO输出低电平(0)
  3. 当 CNT 达到 ARR 值的时候,重新归零,然后重新向上计数,依次循环。

定时器的初始化

在使用8051 系列单片机的定时器/计数器前,首先要对TMOD 和TCON 寄存器进行初始化,同时还必须计算定时的时间(重点)。
(1) 确定T/C 的工作方式:配置TMOD 寄存器。
(2) 计算T/C 的计数初值,并赋值给TH 和TL。
(3) 若T/C 中断方式工作时,必须配置IE 寄存器内ET0 与ET1 的值。
(4) 启动定时器/计数器。

3.配置STM32cubeMX

新建工程文件参考此博客

http://t.csdn.cn/UwJrL

新建好之后,打开System core,点击RCC设置为外部时钟源,如图:

然后点击下面的SYS,选择串行通信serial wire,如图:

打开下面的Timer,然后选择定时器(这里我选择的是TIM2、TIM4),具体参数如图所示:

这是TIM2的配置,TIM4同TIM2一样。

4.keil5中代码的编写

打开生成的工程文件,在图中所示位置添加一个变量用来储存占空比,如图:

然后在下图位置添加执行呼吸灯程序的代码,如图:

5.运行效果

波形会呈现出一快一慢的规律性变化,如下图:

6.总结

通过在STM32上进行PWM的配置,我对于PWM产生原理和配置方法以及使用领域有了更加深刻的了解和认识,PWM对于我们学习和使用STM32以及其他单片机起着非常重要的作用。

嵌入式学习--使用定时器输出PWM波形,实现LED呼吸灯的效果相关推荐

  1. 嵌入式学习——使用定时器输出PWM波形,实现 LED呼吸灯的效果

    嵌入式学习--使用定时器输出PWM波形,实现 LED呼吸灯的效果 目录 嵌入式学习--使用定时器输出PWM波形,实现 LED呼吸灯的效果 1. 任务要求 2 PWM波介绍, 2.1 什么是PWM(Pu ...

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

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

  3. STM32输出PWM波形并实现呼吸灯

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

  4. 输出一个PWM并实现 LED呼吸灯的效果

    前言 本篇博客使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸 ...

  5. 嵌入式学习——使用定时器同时实现串口通信和LED流水灯

    一.定时器的概念以及作用 1.定时器的概念以及作用 在芯片中使用晶振作为计时单位,通过对晶振的计数来实现计时,当时间达到定时器设定的时长后,会跳入对应的函数执行对应的操作. 定时器的主要作用是产生一个 ...

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

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

  7. 嵌入式——使用定时器输出PWM波形,实现 LED呼吸灯的效果

    一.实验要求: 使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼 ...

  8. STM32F103C8T6核心开发板下,通过TIM3和TIM4输出PWM波形实现2个 LED呼吸灯的效果

    使用TIM3和TIM4,分别输出一个PWM波形,驱动一个外接的LED灯以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸灯的效果 文章目录 使用TIM3和TIM4 ...

  9. stm32F051系列 单片机引脚定时器输出pwm波形控制风扇转速

    概述:stm32的每个引脚都有其自带的特殊功能,有定时器输出功能的引脚可以输出pwm.如果没有的也可以io口模拟输出,如果非要较真的话,理论上可以算是每个引脚都能输出PWM,但一般我们都使用带定时器输 ...

最新文章

  1. 百分点大数据技术团队:数据治理“PAI”实施方法论
  2. MongoDB启动报错
  3. Shebang来Java了吗?
  4. python c4.5完整代码_python实现c4.5/Id3自我练习
  5. mysql 5.6 生产my.cnf_一个生产可用的mysql参数文件my.cnf
  6. IDEA:vue中缺少vue-quill-editor富文本插件
  7. 山东工业大学计算机及应用,彭玉旭副教授
  8. [Unity] GameFramework 学习记录 1
  9. php larval 项目部署,Laravel项目部署到线上需要注意的问题
  10. 什么网了解c语言,什么是c语言?
  11. linux内核源码目录结构
  12. linux vi指令回退,Linux命令 vi vim
  13. IO编程——文件复制操作
  14. 在线文本加密解密工具
  15. 3.图灵学院-----阿里/京东/滴滴/美团整理----高频JVM调优篇
  16. Java语言程序设计与数据结构(进阶篇)梁勇课后题ex——19
  17. 怎么找网图本人_如何通过一张照片找到一个人的位置?https://www.zhihu.com/zvideo/1312521748374917120...
  18. 游戏背景音乐的两个特殊类型
  19. Z80 CPU资料调查
  20. Ubuntu下安装配置TAU分析mpich和openmp程序性能

热门文章

  1. SOLIDWORKS钣金折弯参数设置技巧
  2. 【PTA】跟奥巴马一起画方块
  3. 创客版人脸识别迎宾套件介绍
  4. Go语言Github包依赖环境的安装
  5. 高精度① 洛谷P1480
  6. C语言实现单色位图的放大
  7. C++之求循环小数循环节
  8. pheatmap绘制热图
  9. 题解 | The Biggest Water Problem
  10. 邮件营销相关技术知识