STM8 学习笔记13:PWM

article/2025/9/20 10:08:12

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_ConfigCLK_SWR.SWI、CLK_CKDIVR.CKM、CLK_PCKENR1.PCKEN11配置时钟源并使能相关外设时钟
Pwm_GPIO_ConfigPx_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_InitTIMx_PSCR.PSC[2:0]、TIMx_CR1.DIR、TIMx_ARRH、TIMx_ARRL、TIMx_CCER.CC1E配置定时器基础工作参数
Pwm_Cfg_InitTIMx_CCMR1.OC1M、TIMx_CCR1H、TIMx_CCR1L 、TIMx_CCER.CC1P配置 PWM 模式/比较值
Pwm_EnableTIMx_BKR.MOE、TIMx_CR1.CEN、asm(“rim\n”)使能输出并启动计数器

7 结果

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


http://chatgpt.dhexx.cn/article/IxfZc4Yj.shtml

相关文章

Xming X Server 配置和使用

Xming X Server 配置和使用 Linux以及各种Unix like的操作系统现在都用基于X Window图形界面. 这个东西虽然块头比较大, 效率不太高, 导致Linux的3D游戏一直没什么动静, 但是, 它接口良好, 扩展性和可移植性都很好, 最重要的是具有网络透明性, 所以我们就可以很方便的远程启动…

【Ubuntu20.04 LTS】WSL1+Xming配置图形界面

文章目录 一、配置1、 win10上 安装 Xming2、WSL1上 Bash安装 Xfce4 二、应用1、点击win10左下角搜索XLaunch2、WSL1的终端中输入以下命令启动bash 一、配置 1、 win10上 安装 Xming https://sourceforge.net/projects/xming/ https://jaist.dl.sourceforge.net/project/xmin…

windows 命令行ssh + Xming打开虚拟机的图形界面应用

windows中使用OpenSSH提供的ssh作ssh client&#xff0c;使用xming作Xserver。 ubuntu虚拟机运行了ssh server。 执行如下命令&#xff0c;一直失败。 ssh -X snowflakes192.168.150.132 查阅发现ssh中貌似会自动设置DISPLAY为localhost:10.0 那么使用如下命令重新启动xmin…

win10+Xming+Xshell显示远程linux服务器的图形程序窗口

第一步&#xff1a;安装Xshell 破解版安装教程&#xff1a; Xshell的下载与使用 - 知乎 第二步&#xff1a;安装Xming 1. 在bing页面搜索Xming&#xff0c;进入官网 2. 直接download 3. 下载完毕&#xff0c;点开安装包&#xff0c;直接按默认设置一路点击next完成安装。 …

容器docker(CentOS8)使用SSH配合Xming显示图形GUI界面

Xshell7安装在win7x64里,容器CentOS8的宿主机是ubuntu18.04(安装在VMware里) docker search cobaltstrike docker pull xrsec/cobaltstrike 在ubuntu里启动docker: setsid docker run -it --name cs45 -e passwd"admin888" -e server_ip"127.7.7.2" -e s…

xming+shell启动linux应用程序注意事项(xming不能启动)

xming和xshell组合起来显示linux服务器的界面网上教程很多&#xff0c;大家可以自行查找&#xff0c;但是这里有部分细节大多数文章都没有提到。当多个用户工作在同一个linux server下&#xff0c;以下设置需要修改&#xff0c;否则xming不能启动。 注意上方的Display number&a…

xming登录linux图形中文乱码,putty+xming远程登录Linux图形界面

Linux 本身是没有图形化界面的&#xff0c;所谓的图形化界面系统只不过中 Linux 下的应用程序。这一点和 Windows 不一样。Windows 从 Windows 95 开始&#xff0c;图形界面就直接在系统内核中实现了&#xff0c;是操作系统不可或缺的一部分。Linux 的图形化界面&#xff0c;底…

Pycharm、xshell、xming连接远程服务器图形界面显示

Pycharm、xshell、xming连接远程服务器图形界面显示 1.配置远程接释器 这个网上好多教程都是可用的&#xff0c;不再多说&#xff0c; 2.xshell连接到远程主机 使用xshell连接到远程主机&#xff0c;使用echo $DISPLAY查看本机显示端口。不出意外本机打开的第一个xshell连接…

xming2

转载于:https://www.cnblogs.com/243920934qq/p/6074700.html

Vscode+Xming连接远程服务器图形化界面GUI

本机配置 首先在本机安装Xming Xming配置 安装后启动XLaunch&#xff0c;设置Display number 将远程服务器的IP添加进X0.hosts文件 VS code配置 安装插件Remote X11和Remote X11 (SSH) 打开SSH配置文件 添加 ForwardAgent yesForwardX11 yesForwardX11Trusted yes远程服…

XMing + XShell 打开Linux服务器网页界面

1、修改X0.hosts文件 修改为服务器的ip地址 2、打开XLaunch、XMing 打开XLaunch后一路 下一步>下一步>完成 打开XMing 3、XShell连接服务器 连接服务器的时候SSH->隧道&#xff0c;√上转发X11连接到&#xff0c;选择X DISPLAY&#xff0c;点击确定 4、XShell命…

Xming连接无桌面linux,[转帖]windows+xshell+xming访问非桌面版Linux服务器

1、Linux服务器 (1)安装Firefox&#xff0c;目录为&#xff1a;/usr/local/firefox (2) 配置ssh #vi /etc/ssh/sshd_config 取消下面一行的注释——如果没有这一行则手动添加之&#xff1a; X11Forwrding yes 这样配置的作用就是允许SSH的X转发。 从SourceForge下载Xming-setup…

Xming + SecureCRT 在Windows下远程Linux主机的X11图形转发

1. 在windows上安装Xming(下一步下一步即可)&#xff0c;一般安装完会自动开启&#xff08;右下角有个Xming的图标&#xff09; 2. 关掉Xming&#xff08;右击图标退出&#xff09; 3. 打开XLaunch&#xff0c;点击下一步 ——> 下一步&#xff0c;把No Access Contro…

vscode 通过 X11/Xming 转发显示远程 GUI 窗口

Xming安装配置 一、vscode 通过 X11/Xming 转发显示远程 GUI 窗口1.1 Xming 安装1.2 配置1.2.1 客户端配置1. 安装 X11 插件2. vscode 中对 X11 进行相关设置 1.2.2 服务器配置 二、vscode 有关 python 的 launch.json 配置文件三、相关问题及解决办法 一、vscode 通过 X11/Xmi…

Xshell+Xming使用心得

安装步骤&#xff1a; –> 执行Xming-6-9-0-31-setup.exe&#xff0c;并且默认下一步到结束 配置XLaunch&#xff1a; –> 运行Xming安装包下的XLaunch&#xff0c;除第一步需注意外&#xff0c;其他可直接默认下一步。 –> 1.建议选择Fullscreen或者One window&…

putty xming进入linux桌面,Xming PuTTY 远程登录linux桌面

使用Xming PuTTY远程登录linux gnome桌面 关于X window的原理&#xff0c;无须多讲&#xff0c;请看http://www.doczj.com/doc/191ffecb5fbfc77da269b1f8.html&#xff0c;资料一大堆。 Xming是一个小巧的X server。也不多讲&#xff0c;baidu一下你就明白。 PuTTY用来远程登录…

linux 显示时钟 xming,【Linux】WSL+Xming实现gui显示

Loading... # 0x00 WSL(Windows Subsystem for Linux)配合Xming实现显示图像界面 # 0x01 安装 百度谷歌一下Xming下载并安装 安装过程使用默认就好(一直“下一步”) 安装好后在开始菜单打开XLaunch&#xff0c;选择你要的显示方式&#xff1a; - Multiple windows&#xff1a;为…

使用Putty+Xming登录Linux图形化界面

有些Linux程序需要依赖图形界面才能启动&#xff0c;例如Kettle的配置页面。之前都是使用VNC&#xff0c;通过在服务器和客户端分别安装VNCServer和VNCViewer来完成。今天介绍另外一种方式&#xff0c;在客户端利用PuttyXming登录服务器的图形界面。 Xming Xming是一个在 Micro…

配置putty+Xming

配置puttyXming 安装和使用 puTTY安装 Xming在 puTTY 中 Enable X11 转发出现过的问题 安装和使用 puTTY https://www.chiark.greenend.org.uk/~sgtatham/putty/ 安装过程一直next&#xff0c;安装完成后启动&#xff0c;测试功能。 打开puTTY&#xff0c;点击 “Session” …

Xming窗口大小调整和多窗口设置

在Microsoft Windows 操作系统或者Apple Macintosh 操作系统上,视窗是集成在操作系统内部的,开机后,任何的点击操作都会打开一个窗口,一个典型的例子就是查找文件并查看,点击文件夹,弹出文件夹窗口,点击文件,弹出文件内容窗口。 而在Linux或者Unix系统上,视窗是独立于…