3654|0

140

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

12.【学习LPC1768库函数】之PWM实验 [复制链接]

本章主要介绍LPC1768的脉宽调制器PWM,通过本章的学习,可以了解到LPC1768PWM使用。 LPC1768的PWM和STM32的PWM不同,STM32的PWM是和定时器集成在一起,而LPC1768的PWM是单独的一个模块。他也可以产生单边沿或者多边沿的PWM输出,最多缠上六路单边沿的PWM,以及最多产生三路双边沿的PWM输出,也可以混合进行输出。发生匹配时,可产生对应的中断。有两路32位捕获通道可以取到定时器的瞬时值,输入捕获通道可以选择产生中断。NXP官方的LPCOPEN2.10库没有提供PWM库函数文件,本章实验用寄存器。

/************************************************************************************************
函数名: void PWM_Init()
函数功能:PWM初始化,
参数:无
返回值:无
*************************************************************************************************/
void PWM_Init()
{
       

        LPC_SC->PCONP|=(1<<6);//使能PWM外设功率寄存器
        LPC_PINCON->PINSEL4|=(1<<2);//设置P2.1为PWM2通道
        LPC_PWM1->CTCR=0;        //工作于定时器模式
        LPC_PWM1->PR=0;                //预分频比例为1:5
        LPC_PWM1->PC=0;
        LPC_PWM1->TC=0;
  LPC_PWM1->MR0=2500-1;                //配置PWM频率为10kHz pclk/2500-1=10khz
        LPC_PWM1->MR2=(LPC_PWM1->MR0+1)*(15)/100-1;        //配置PWM1.2的PWM占空比为15
        LPC_PWM1->LER=(1<<2)|(1<<0);        //锁存PWM值并立即生效
        LPC_PWM1->MCR=0x02;                                //LPC_PWM1->TC计数到LPC_PWM1->MR0的时候TC复位
        LPC_PWM1->PCR=(1<<10)|(0<<2);        //配置PWM1.2为单边输出,并使能
        LPC_PWM1->TCR=(1<<3)|(1<<0);        //使能PWM1定时器并使能PWM功能

}
/************************************************************************************************
函数名: void PWM_SET(uint16_t duty )
函数功能:设置占空比
参数:duty 占空比
返回值:无
*************************************************************************************************/
void PWM_SET(uint16_t duty ){
       
LPC_PWM1->MR2=(LPC_PWM1->MR0+1)*duty/100-1;  //duty就是占空比

LPC_PWM1->LER=(1<<2)|(1<<0);    //锁存PWM值并立即生效       
}

【12】LPC1768_PWM实验.rar (251.15 KB, 下载次数: 16)



此内容由EEWORLD论坛网友加勒比海盗原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自NXP MCU论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表