01前 言
在开发指南(三)中,我们简单介绍了lcd显示的基本用法,本章我们介绍一下pwm功能的相关内容,更多细节内容参考sd93f115应用手册第21章节。
02pwm结构框图
pwm又称脉宽调制器,通过配置相应寄存器可以输出一个周期和占空比可调的脉冲信号,其结构框图如图1。
图1. pwm结构框图
从图中我们可以看到,整体结构包含时钟源选择、使能位控制、分频选择和输出模式控制等,而周期和占空比由不同的寄存器分别设置,因此要确定输出方波的周期时,要先确定pwm的时钟源和分频选择,再写入周期寄存器,最后根据周期寄存器的结果计算相应的占空比码值。
03pwm输出
接下来我们通过对pwm1模块(sd93f115有2路pwm资源)的初始化函数简单了解下快速计算pwm1周期寄存器值和占空比寄存器值(见图2),第一步还是先开启外设时钟源,然后我们先将pwm1时钟源设定为ihrc = 24mhz,时钟进行2分频,假定输出一个频率约为2khz的方波,周期即为0.0005s,那么周期寄存器值=(ihrc / 2)* 0.0005 = 6000,转为十六进制数即为0x1770,然后选择输出模式为pwm输出,最后假定占空比要设为25%,则占空比寄存器值为周期寄存器值*25%,即为0x05dc,还可以选择占空比输出的电平状态,我们默认保持高电平,最后将pwm1使能打开,如此便能控制pwm1输出一个频率为2khz,占空比为25%的方波了。
图2. pwm初始化函数
pwm1初始化完成后,我们再做个简单的功能验证(见图3),在保持输出频率2khz的情况下,不断将占空比设置从0%逐一递增至100%,并将占空比码值显示在lcd屏上。
图3.pwm测试函数
在明确输出频率是2khz的情况下,我们就能算出每1%的占空比对应60个码值了,所以我们直接调用库函数快速设置占空比,并将占空比码值显示在lcd屏上,最终我们可以用示波器观察pwm1引脚的输出和lcd屏上显示的码值变化。
04开发问题简析
开发阶段使用pwm功能要重点关注时钟源与分频的设置,计算清楚周期和占空比的码值。
05总 结
本文简单介绍了pwm功能的使用以及周期和占空比码值的计算方法,具体的配置要根据实际方案的需求进行合理的选择。
联合育碧、网易、Oasis Games发布7款VR新游,诚意满满的Vive
实时测试(RTT)技术的演变进程
苹果建议创造无线缆的头显 可使用无线基站来负责图形处理
奥维云网:海信激光电视75L9FL荣膺中国线下市场最畅销机型
TD-HSDPA网络规划及组网策略
带32位MCU和高精度ADC的SoC产品(四)
Custom MMIC驱动器放大器的主要特性以及应用
小米汽车屏幕供应商曝光
Ashling为兆易创新GD32 RISC-V MCU提供高效RiscFree™ C/C++工具链
基于PC的温度测量系统的参考设计
中国电信正在各地积极开展5G创新研发工作推进整个5G产业的成熟
PA1000单相功率分析仪的性能特点及应用范围
深圳某电池厂的厂景图展示
变电站五防系统的组成和存在哪些危险因素
TFT中Gamma的调试原理
针对C语言编程者的Verilog开发指南实例
行业知识 | 安全光幕如何确定安装距离?
华为Mate30系列保护壳曝光 Mate30或保留耳机孔Pro版则无保留同时取消音量键
人工智能创新:方向比努力更重要
微宏动力超级工厂PACK成组完全实现了智能自动化