当前位置:首页 > 单片机 > 单片机
[导读]每次点一下按键,就改变一次占空比主程序:/******************************************************************************* *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 脉冲宽度调制

在下述的内容中,小编将会对PWM控制器的相关消息予以报道,如果PWM控制器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: pwm 控制器 pwm控制器

摘要:传统智能功率模块在实际应用中需要更多的外围电路设计,会增加电路设计和脉宽调制策略的复杂性,而且需要占用更多的微处理器外设资源。针对这一问题,提出了一种具有多模式配置功能的新型智能功率模块设计方法,在智能功率模块内部...

关键字: 多模式配置功能 智能功率模块 脉宽调制

在下述的内容中,小编将会对PWM的相关消息予以报道,如果PWM是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: pwm 变换器

在这篇文章中,小编将为大家带来PWM变换器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: pwm 变换器 pwm变换器

我在看我已经使用了几年的 Brother 喷墨打印机时,注意到它的软开/关开关正上方有一个不起眼的绿色 LED。这个 LED 有一个有趣的占空比:它关闭大约三秒钟,然后在大约一秒钟内逐渐增加到最大强度,同样在大约一秒钟内...

关键字: LED驱动 脉宽调制

pwm控制器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对pwm控制器的相关情况以及信息有所认识和了解,详细内容如下。

关键字: pwm 控制器 mppt

今天,小编将在这篇文章中为大家带来pwm控制器的有关报道,通过阅读这篇文章,大家可以对pwm控制器具备清晰的认识,主要内容如下。

关键字: pwm 控制器 mppt

CPU风扇转速调节很很多方法,其中有一种就是设置PWM斜率值,这是一种脉冲宽度调制方法,该操作需要在UEFI BIOS中设置,若是用户并未使用过PWM值,可以看看下文了解主板风扇PWM调速设置过程。

关键字: pwm 调节

随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,...

关键字: pwm 解析
关闭
关闭