当前位置:首页 > 嵌入式 > 嵌入式单片机MCU开发
[导读]作者在上期已经讲解完端口输出高低电平,这章建立实例来讲解PWM输出,在所用的芯片有个为PWM输出,就写个PWM例程,方便大家快速上手。 这里选用8PIN的单片机进行开发,引脚如下图所示,PWM引脚为5。

概述

作者在上期已经讲解完端口输出高低电平,这章建立实例来讲解PWM输出,在所用的芯片有个为PWM输出,就写个PWM例程,方便大家快速上手。 这里选用8PIN的单片机进行开发,引脚如下图所示,PWM引脚为5。 

PMS171B之PWM配置

 


tm2b寄存器是用来配置PWM的占空比的,0-7位代表数值为0-255。


  


tm2s寄存器是用来配置PWM的分频,7位代表PWM分辨率,6-5为预分频器,4-0位为Timer时钟分配器。  


tm2c寄存器是Timer2控制寄存器,如果需要输出PWM,3-2位应该设置为10让Timer选择PA3,1位设置为1选择为PWM模式。

PWM计算与配置

 


在本文中我们设置输出为1K,30%占空比的PWM,根据上图公式,Y=tm2[7:4],我们选择CLK(系统时钟),即0001。



/*单片机内部RC震动时钟为 IHRC默认为16M,因此,IHRC/4=4M,系统时钟为4M*/
    .ADJUST_IC    SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;


在上篇配置IO口中,我们已经如上图代码所示,设置时钟为4M,所以Y=4M。 此时我们设置预分频器为16,即tm2s[6:5]设置为10,根据:输出频率=Y÷[256S1(S2+1)]可以得知S2配置为0;输出频率=4M÷[25616(0+1)]=976Hz。tm2s配置如下所示:



tm2s=0b0_10_00000; //  8-bit PWM ,预分频=16,分频 = 0



设置30%占空比则为tm2b=255*30%=77,tm2b如下所示:


tm2b = 0x4d;//占空比 30%4d 50%7f 70%b4


设置完之后需要打开PWM模式,tm2c设置如下所示:


tm2c = 0b0001_10_1_0; // 系统时钟,输出 =PA3,PWM 模式

PWM输出完整代码


#include    "extern.h"//是程序的头文件。
BIT   PWM     :PA.3;  //端口定义
void    FPPA0 (void)//相当于程序的 main() 函数。
{
 /*单片机内部RC震动时钟为 IHRC默认为16M,因此,IHRC/4=4M,系统时钟为4M*/
    .ADJUST_IC    SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;
/*********PWM*********************/
tm2ct = 0x0; 
tm2b = 0x4d;//占空比 30%4d 50%7f 70%b4
//S1= tm2s[6:5] : 预分频器设定值(1, 4, 16, 64)
//S2 = tm2s[4:0] : 分频器值(十进制,0 ~ 31)
//输出频率 =4MHz÷ (   256 *   S1 (16) * (S2+1)1)  =  976Hz
tm2s = 0b0_10_00000; //  8-bit PWM ,预分频 = 16 ,分频 = 0
tm2c = 0b0001_10_1_0;  //  系统时钟,输出 =PA3 , PWM 模式
    while (1)
    {
        .delay 4000*500;
    }
}

演示效果


声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

开关电源LLC是一种高效的电源转换技术,被广泛应用于各种电子设备中。它结合了谐振电路和PWM(脉宽调制)控制的优点,实现了高效率和低电磁干扰的性能。本文将详细阐述开关电源LLC的原理,包括其工作原理、控制策略以及应用优势...

关键字: 开关电源 LLC PWM

开关电源是一种高频化电能转换装置,是电源供应器的一种。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。

关键字: 开关电源 PWM

脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。 开关电源利用输入电压的变化,使输出电压的脉冲宽度发生变化的调制方式,称为脉冲宽度调制方式,简称脉宽式,英文简示PW...

关键字: PWM PWM开关电源

那么,哪种 PWM 技术最适合您的电机控制应用?当然有很多选择可供选择,每一种都具有独特的优点和缺点。在关于该主题的最后一篇文章中,我们将讨论直流和交流电机的再生。由于电动和混合动力汽车的普及,这在过去十年中已成为一个更...

关键字: 电机驱动 PWM

那么,哪种 PWM 技术最适合您的电机控制应用?希望到现在为止,您已经了解 PWM 过程的用途有多么广泛,以及该过程中的细微变化如何对电机性能产生巨大影响。在之前有关该主题的文章中,我仅讨论了适用于 H 桥中直流电机的技...

关键字: 电机驱动 PWM

那么,哪种 PWM 技术最适合您的电机控制应用?到目前为止,您可能已经猜到没有“一种”PWM 技术对所有应用都是最佳的。但是我们今天要讨论的技术非常接近。它被称为单极 4 象限 PWM 技术(形式 II)。

关键字: 电机驱动 PWM

那么,哪种 PWM 技术最适合您的电机控制应用?到目前为止,我们已经研究了三种不同的 PWM 技术。有些可以将能量再生回直流电源,有些则不能。但它们都有一个共同特征:单极电压波形。换句话说,对于任何给定的 PWM 周期,...

关键字: 电机驱动 PWM

PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无...

关键字: 电机驱动 PWM

最近一款项目开发,需要用到PWM输入信号采集电路。一般来说,PWM输出比较多,比如驱动LED,电机,风扇等等,输入则相对较少。这种情况下,没有这方面的硬件设计经验,接下来怎么办呢?

关键字: PWM 单片机 工程师

前几天测试电源负载跳变的时候,用到了555定时器,主要用来产生频率并控制占空比,好久没看这部分电路,也忘的差不多了,去网上搜了一下相关知识,就和大家聊聊。这是一款利用NE555进行调光的电路,如下图所示,R1、R2、R3...

关键字: 555定时器 PWM 占空比
关闭