当前位置:首页 > 单片机 > 单片机
[导读]每次点一下按键,就改变一次占空比主程序:/******************************************************************************* *File: Main.c *功能: 使用PWM6输出PWM信号,通过滤波电路实现DAC转换.由KEY1控制PW

每次点一下按键,就改变一次占空比

主程序:

/*******************************************************************************
*File: Main.c
*功能: 使用PWM6输出PWM信号,通过滤波电路实现DAC转换.由KEY1控制PWM占空比,每按一次
* 按键将会改变一次PWM的占空比
*******************************************************************************/
#include "config.h"
#define KEY1 0x00004000 /*P0.14引脚连接KEY1*/

/*******************************************************************************
*名称: WaitKey()
*功能: 等待一个有效按键,有去抖功能
*******************************************************************************/
void WaitKey(void)
{ uint32 i;

while(1)
{ while((IO0PIN&KEY1)!=0); //等待KEY1键按下
for(i=0;i<50;i++); //延时去抖
if((IO0PIN&KEY1)==0)break;
}
while((IO0PIN&KEY1)==0); //等待KEY1键放开
}
/*******************************************************************************
*名称: main()
*功能: 使用PWM6输出占空比可调的PWM波形
*******************************************************************************/
int main(void)
{ uint32 pwmdata; //PWM占空比控制变量
PINSEL0=0x00080000; //设置PWM6连接到P0.9引脚
PINSEL1=0x00000000; //其他引脚设置为GPIO
TargetInit(); //PWM初始化
pwmdata=34560;
while(1)
{ PWMMR0=69120; //设置PWM周期
PWMMR6=pwmdata; //设置PWM占空比
PWMLER=0x41; //PWMMR0,PWMMR6锁存,更新PWM占空比
WaitKey(); //等待按键
pwmdata+=1000; //改变PWM占空比控制变量
if(pwmdata>=69120)pwmdata=0;
}
}
初始化程序:

/*********************************************************************************************************
** 函数名称: TargetInit
** 功能描述: 目标板初始化代码,在需要的地方调用,根据需要改变

********************************************************************************************************/
void TargetInit(void)
{
PWMPR=0x00; //不分频,计数频率为Fpclk
PWMMCR=0x02; //设置PWMMR0匹配时复位PWMTC
PWMMR0=69120; //设置PWM周期
PWMMR6=34560; //设置PWM占空比
PWMLER=0x41; //PWMMR0,PWMMR6锁存
PWMPCR=0x4000; //允许PWM6输出,单边PWM
PWMTCR=0x09; //启动定时器,PWM使能
/* 添加自己的代码 */
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

通过以足够快的速率和一定的占空比改变数字信号开/关状态,当向响应速度比PWM频率慢得多的器件(如音频扬声器、电机和电磁阀执行器)供电时,输出将表现为恒定的电压模拟信号。

关键字: 脉宽调制 音频扬声器 电机

PWM(Pulse Width Modulation,脉宽调制)死区是一个在PWM控制系统中至关重要的概念,特别是在涉及电力电子设备和电机控制的应用中。

关键字: 脉宽调制 死区

在电力电子领域,绝缘栅双极型晶体管(IGBT)作为高性能开关器件,广泛应用于PWM(脉宽调制)方式工作的开关电源中。IGBT的损耗直接影响开关电源的效率、热设计及可靠性。因此,深入分析IGBT在PWM方式下的损耗特性,对...

关键字: 绝缘栅双极型晶体管 开关器件 脉宽调制

pwm控制的基本原理随着电力需求的不断增加,电源管理技术愈加重要。开关电源作为一种高效能、可靠性高的电源,找到广泛的应用。

关键字: pwm 控制 电源

全称Pulse Width Modulation:脉冲宽度调制(简称脉宽调制,通俗的讲就是调节脉冲的宽度),是电子电力应用中非常重要的一种控制技术,在理解TA之前我们先来了解几个概念 。

关键字: 脉宽调制 控制 脉冲

脉宽调制(Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

关键字: 脉宽调制 模拟电路 数字电路

随着电力电子技术的迅速发展,各种电力电子装置在电力系统、工业、信息、交通、家庭等众多领域中的应用日益广泛。

关键字: 脉宽调制 整流电路 电力电子

脉宽调制(PWM)是一种常用的调制技术,用于在数字电路中生成模拟信号。它通过调整脉冲的宽度来模拟模拟信号的幅度。

关键字: 脉宽调制 PWM 模拟信号

SPWM又是如何调制的哪?所谓正弦脉宽调制,就是脉宽与占空比按正弦规律变化,脉宽就是脉冲时间的长短,可以是正脉冲,也可以是负脉冲,而占空比就是脉宽与周期的比值,是在一个周期内脉宽所占周期的百分比。

关键字: SPWM 正弦 脉宽调制

在节能、环保及全球LED照明迅猛增长的趋势下,LED球泡灯等已几乎家喻户晓,而随着相关技术的进步,LED成本及性能水准已大幅提升。

关键字: 功率因数校正 LED驱动器 脉宽调制
关闭