STM8 学习笔记13:PWM

2023-10-26

PWM

Gitee 空间跳转:https://gitee.com/galoc/stm8.git

1 概述

PWM也叫脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。频率、周期、占空比。

1.1 PWM 频率

是指在 1 秒钟内,信号从高电平到低电平再回到高电平的次数,也就是说 1 秒钟 PWM 有多少个周期,单位 Hz。PWM信号的频率决定PWM完成一个周期的速度。

1.2 PWM 周期

T = 1/f,T是周期,f是频率。
如果频率为 50 Hz,也就是说一周期是 20 ms,那么 1s 钟就有 50 次 PWM 周期。

1.3 占空比

是一个脉冲周期内,高电平的时间与整个周期时间的比例,单位是 %(0% - 100%)一个周期的长度,如下图所示:
请添加图片描述

2 PWM 是如何让工作的?

在这里插入图片描述
ARR:自动重装载寄存器的值
CRRx:捕获/比较寄存器 x 的值
由上图可知,PWM 的周期或频率由 ARR 决定,PWM 占空比由 CCRx 决定

3 通用定时器输出比较部分框图介绍

在这里插入图片描述

3.1 捕获/比较通道1的主电路—输出部分

在这里插入图片描述
在比较模式下,预装载寄存器的内容被复制到影子寄存器中,然后影子寄存器的内容和计数器进行比较。

3.2 捕获/比较通道的输出部分(通道1)

在这里插入图片描述

4 相关寄存器

  1. TIMx_CR1.CEN 计数器使能(Counter enable)
    0:关闭计数器
    1:使能计数器
  2. TIMx_CCMR1.CCIS[1:0] 捕获/比较 1 选择(Capture/Compare 1 selection)
    00:CC1 通道被配置为输出;
    01:CC1 通道被配置为输入,IC1 映射在 TI1 上;
    10:CC1 通道被配置为输入,IC1 映射在 TI2 上;
    11:CC1 通道被配置为输入,IC1 映射在 TRC 上。(此模式仅工作在内部触发器输入被选中时,由 TIMx_SMCR 寄存器的 TS 位选择)
    作用:用于定义通道的方向(输入/输出),及输入脚的选择。
  3. TIMx_CCMR1.OC1M 输出比较 1 模式(Output compare 1 mode)
    110:PWM 模式 1,在向上计数时,一旦 TIMx_CNT < TIMx_CCR1 时通道 1 为有效电平,否则为无效电平。在向下计数时,一旦 TIMx_CNT > TIMx_CCR1 时 通道 1 为无效电平,否则为有效电平。
    111:PWM 模式 2,在向上计数时,一旦 TIMx_CNT < TIMx_CCR1 时通道 1 为无效电平,否则为有效电平。在向下计数时,一旦 TIMx_CNT > TIMx_CCR1 时 通道 1 为有效电平,否则为无效电平。
    :有/无效状态由 TIMx_CCER.CCxP 决定
    作用:用于确定 PWM 输出模式
  4. TIMx_CCER.CC1P 捕获/比较 1 输出极性(Capture/Compare 1 output polarity)
    CC1 通道配置为输出:
    0:OC1 高电平有效
    1:OC1 低电平有效
    作用:用于配置输出极性
  5. TIMx_CCER.CC1E 捕获/比较 1 输出使能
    CC1 通道配置为输出:
    0:关闭 — OC1 禁止输出
    1:开启 — OC1 信号输出到对应的输出引脚。
  6. TIMx_BKR.MOE OC 输出使能(Main output enable)
    作用:CCxE 使能位被设置,OC输出被启用
  7. TIMx_ARR 自动重装载值 (Auto-reload value)
    作用:用于设置自动重装载值,范围:0-65535
  8. TIMx_CCR 捕获/比较寄存器值(Capture/compare register value)
    作用:用于设置捕获/比较寄存器值,范围:0-65535

5 通用定时器 TIM3_PWM 输出实验配置步骤

需求:PWM输出频率为 1KHz,占空比为 50%
配置:选择内部高速时钟 16MHz,不分频,定时器3向上计数模式、分频系数为 128,ARR 为 124。

  1. 配置 CLOCK、GPIO
  2. 配置定时器基础工作参数
  3. 配置 PWM 模式/比较值
  4. 使能输出并启动计数器

相关函数介绍如下表:

函数 主要寄存器 主要功能
Pwm_Clock_Config CLK_SWR.SWI、CLK_CKDIVR.CKM、CLK_PCKENR1.PCKEN11 配置时钟源并使能相关外设时钟
Pwm_GPIO_Config Px_DDR.DDR[7:0]、Px_ODR.ODR[7:0]、Px_CR1.C1[7:0],Px_CR2.C2[7:0] 、SYSCFG_RMPCR3 配置 GPIO 并复用为 TIM3_Chn
Pwm_TimBase_Init TIMx_PSCR.PSC[2:0]、TIMx_CR1.DIR、TIMx_ARRH、TIMx_ARRL、TIMx_CCER.CC1E 配置定时器基础工作参数
Pwm_Cfg_Init TIMx_CCMR1.OC1M、TIMx_CCR1H、TIMx_CCR1L 、TIMx_CCER.CC1P 配置 PWM 模式/比较值
Pwm_Enable TIMx_BKR.MOE、TIMx_CR1.CEN、asm(“rim\n”) 使能输出并启动计数器

7 结果

gPwmDuty = 62; gPwmFreq = 124;
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM8 学习笔记13:PWM 的相关文章

  • VMWARE修改CPUID

    在cmd shell下执行wmic cpu get ProcessorId命令 可是查看机器的cpuID 但这个命令显示的只是2组ID 实际CPUID 有4组 通过更改虚拟机配置文件 vmx可是实现任意cpu序列号的指定 而且重启虚拟机后c
  • html怎么在网页中加滚动条,在html中如何加滚动条?滚动条的用法!

    随着经济和科技的发展 互联网的大趋势造就了很大的就业机会 而且在我们日常的生活中大家多多少少会去浏览一些网站和网页吧 那么今天呀 我们就来说说在html中如何加滚动条 和一些有关于滚动条的用法 的经验分享 1 首先我们打开我们的前端的开发工
  • Docker安装Elasticsearch的遇到的那些坑

    1 根据百度到的一篇文章 https segmentfault com a 1190000004376504下载其最新镜像 hangxin1940 docker elasticsearch cn v2 1 0 使用 docker run d
  • 工作笔记-关于安卓和ios兼容遇到的问题

    工作笔记 关于安卓和ios兼容 一 移动端开发 客户端的键盘bug 现象 当用户点击卡面的按钮 弹出密码验证框和客户端键盘 此时点击验证框的按钮 ios的弹窗和键盘消失 然而并无其他事发生 bug定位 安卓功能完好 ios出现 所以采用打印

随机推荐

  • Spring Boot + Vue的网上商城之客服系统实现

    Spring Boot Vue的网上商城之客服系统实现 在网上商城中 客服系统是非常重要的一部分 它能够为用户提供及时的咨询和解答问题的服务 本文将介绍如何使用Spring Boot和Vue js构建一个简单的网上商城客服系统 思路 在本教
  • 编程猫编程平台的使用介绍

    编程猫编程平台的使用介绍 编程猫是由深圳点猫科技有限公司自主研发的国内知名青少年编程教育平台 通过图形化编程 可以创作出游戏 软件 动画 故事等 编程猫编程平台的使用介绍 cnds123的专栏 CSDN博客
  • ChatGPT专业应用:小红书文案生成

    正文共 1263 字 阅读大约需要 5 分钟 内容运营 社媒运营必备技巧 您将在5分钟后获得以下超能力 快速撰写小红书文案 Beezy评级 B级 经过简单的寻找 大部分人能立刻掌握 主要节省时间 推荐人 nanako 编辑者 Linda 此
  • 使用unixODBC并发连接mysql数据库频繁SIGSEGV及SIGABRT崩溃

    使用unixODBC并发连接mysql数据库频繁SIGSEGV及SIGABRT崩溃 2013 05 18 15 18 19 分类 UnixODBC 标签 unixodbc 举报 字号 订阅 下载LOFTER 我的照片书 这几周在测试自己写的
  • 编译XT720 gingerbread

    在android根目录下执行 build envsetup sh 然后执行lunch 选择你要的套餐 然后直接make 编译中有3处错误 1 packages apps CMStats Android mk中 把LOCAL STATIC J
  • [数值计算-3]:误差的种类、误差传播、误差分析

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119790035 目录 第1章
  • 华为校招机试题- 新员工座位安排系统-2023年

    题目描述 工位由序列F1 F2 Fn组成 Fi值为0 1或2 其中0代表空置 1代表有人 2代表障碍物 1 某一空位的友好度为左右连续老员工数之和 2 为方便新员工学习求助 优先安排友好度高的空位 给出工位序列 求所有空位中友好度的最大值
  • 统计学习方法 例7.1 超详细求解过程

    例7 1 已知一个如图所示的训练数据集 其正例点是 x 1 3 3
  • C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

    本实例全部文章目录 一 功能概览 二 创建项目 注册热键 显示截图主窗口 三 托盘图标及菜单的实现 四 基本截图功能实现 五 针对拖拽时闪烁卡顿现象的优化 六 添加配置管理功能 七 添加放大镜的功能 八 添加键盘操作截图的功能 九 使用自定
  • HashMap实现原理, 扩容机制,面试题和总结

    文章目录 1 讲下对HashMap的认识 2 HashMap的一些参数 3 为什么HashMap的长度必须是2的n次幂 4 HashMap 为什么在获取 hash 值时要进行位运算 5 HashMap在JDK1 7和JDK1 8中有哪些不同
  • PHP实现读取指定目录下的所有文件

    在php中读取指定目录下的文件主要用到了opendir和readdir函数 一 opendir 打开目录句柄 1 语法 opendir path context 2 参数说明 参数 描述 path 必需 规定要打开的目录路径 context
  • 【傻瓜向装系统】电脑重装&&加固态硬盘

    市面上大部分PE制作工具都会在操作系统中内嵌广告或软件等 慎重使用 重装 顺序步骤 重要数据备份 备份到移动硬盘或其他设备 格式化U盘 至少8G 准备作为系统启动盘 安装PE制作工具 如老毛桃等 制作启动盘 下载对应操作系统放到U盘中 某个
  • 极大极小树

    博弈树作为传统AI领域的一个传统又经典的算法 有着广泛的应用 尤其是棋类AI 记得曾经刚学C语言的时候 用控制台写了一个五子棋的程序 后来突发奇想 给它增加可以人机对战的AI 设计了一个简单的根据当前局面判断最优落子的AI 但是只能想到两手
  • DNS、HTTP 与 HTTPS

    DNS HTTP与HTTPS DNS 域名的层级 查找过程 优化 常见的 DNS 攻击 使用的协议 CDN 路由解析 内容分发 HTTP 协议 HTTP 请求报文 GET 和 POST 有什么区别 幂等性和非幂等性 前后端传参 HTTP响应
  • Ubuntu 20.04 开启SSH服务

    更新软件下载源 sudo apt update 安装ssh服务 sudo apt install openssh server 开启防火墙ssh的服务端口 sudo ufw allow ssh 附 还可以查看或更改ssh服务的状态 查看ss
  • Javaweb实现增删改查操作操作

    Javaweb实现增删改查操作操作 一 准备工作 1 Idea编辑器 eclispe和myeclispe都可以 个人推荐使用idea 新建一个web项目 2 数据库mysql 3 需要提前了解的知识点 servlet el和jstl表达式
  • 怎么检测两张照片的相似度,两张图片相似度测试

    计算图像相似度的算法有哪些 SIM StructuralSIMilarity 结构相似性 这是一种用来评测图像质量的一种方法 由于人类视觉很容易从图像中抽取出结构信息 因此计算两幅图像结构信息的相似性就可以用来作为一种检测图像质量的好坏 首
  • 服务器盘符名称修改,linux下powerpath对盘与更改盘符名的教程

    PowerPath 软件在服务器上运行并管理服务器和存储系统中的虚拟磁盘之间的路径 如果一条路径出现故障 它可以将I O 转发到有效路径中 并提供负载平衡来平均分配各条路径中的I O 负载 另外这里的路径由HBA 硬件和驱动程序 光纤 两个
  • docker web mysql_在 Docker 中完整部署 Web 应用

    原标题 在 Docker 中完整部署 Web 应用 一个完整的 Web 应用包含前端页面 数据库 后台逻辑等 按照一般流程去构建需要配置 Nginx MySQL 以及后台服务器 运维涉及到的部分十分复杂 而 Docker 可以将这些东西 数
  • STM8 学习笔记13:PWM

    PWM Gitee 空间跳转 https gitee com galoc stm8 git 1 概述 PWM也叫脉冲宽度调制 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术 频率 周期 占空比 1 1 PWM 频率 是指在