LPC1768 PWM1输出PWM示例

void Init_PWM1(void)
{
	LPC_PINCON->PINSEL7 |= (3<<18);	// P3.25 
	LPC_PWM1->CTCR=0;	//工作于定时器模式
	LPC_PWM1->PR=4;		//预分频比例为1:5
	LPC_PWM1->PC=0;
	LPC_PWM1->TC=0;
	LPC_PWM1->MR0=PCLK0/10000-1;		//配置PWM频率为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功能
}

观察上图,通过调整占空比(MR2寄存器)可以调整占空比;

通过PR寄存器可以在不改变占空比的情况下调整PWM的频率;

 

如果要想动态修改PWM的占空比,可以随时调用如下2句:

LPC_PWM1->MR2=(LPC_PWM1->MR0+1)*duty/100-1;  //duty就是占空比

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

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值