[PIC®/AVR®/dsPIC®产品] PWM学习笔记

[复制链接]
 楼主| dongnanxibei 发表于 2024-12-9 20:21 | 显示全部楼层 |阅读模式

在MCC里配置PWM的引脚,生成库函数
解下密分析
方便计算,设置系统时钟源为内置8MHz时钟源,不分频,就是1

这样一个时钟周期就是1/8M
先简单配置一下PWM初始化设置,选择系统时钟,也就是刚才那个没分频的值8MHz

接下来使用生成的库函数随便配置一下
  1. PWM1_16BIT_WritePeriodRegister(10000);
  2.     PWM1_16BIT_SetSlice1Output1DutyCycleRegister(5000);
  3.     PWM1_16BIT_SetSlice1Output2DutyCycleRegister(5000);
  4.     PWM1_16BIT_LoadBufferRegisters();
为了方便计算,周期设置为10K,输出1设置为5K,输出2也设置为5K,方便计算。
编译,通过示波器观测波形,并测量周期,
得到周期为800Hz方波
那么刚才设置的周期值10K就对应实际上的800Hz,看看是如何得到的。
首先刚才的时钟品啦8MHz,那么计数10K次就是PWM波形的周期T=((1/8M)*10K)
而PWM波形的F=1÷T
带入上述T
得到F=8M/10K =800Hz
对上了
就是这么算。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

时钟的选择至关重要,所有的外设都是在时钟下运行。  发表于 2025-1-20 10:24
 楼主| dongnanxibei 发表于 2024-12-9 20:28 | 显示全部楼层
大家说说如何让PWM输出受到控制呢?就是给个开关,让它波形可以按照一定的频率调制输出
小灵通2018 发表于 2024-12-15 20:43 来自手机 | 显示全部楼层
有了这个工具,配置太容易了
xinpian101 发表于 2024-12-15 20:49 来自手机 | 显示全部楼层
总结的不错,从时钟配置计算到pWM的周期,以及占空比
jiekou001 发表于 2024-12-16 08:38 来自手机 | 显示全部楼层
如果把那些选项介绍一下会更好
598330983 发表于 2025-1-12 18:16 | 显示全部楼层
真是用起来简单好看啊。
天灵灵地灵灵 发表于 2025-1-14 16:57 | 显示全部楼层
百分比的这种会影响PWM的分辨率,使用寄存器配置比较好,不过可以利用MCC先生成后,修改函数参数
 楼主| dongnanxibei 发表于 2025-1-18 20:12 | 显示全部楼层
真不错,又有被推荐的了。
稳稳の幸福 发表于 2025-1-19 20:21 | 显示全部楼层
dongnanxibei 发表于 2024-12-9 20:28
大家说说如何让PWM输出受到控制呢?就是给个开关,让它波形可以按照一定的频率调制输出 ...

修改占空比也是可以的啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

223

主题

3840

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部