LPC2103的PWM编程
2015-07-30 来源:eefocus
LPC2103的PWM编程
1. 在PINSEL0/1寄存器中设置好需要输出PWM波的管脚功能;
2. CTCR寄存器设置为定时器模式(默认复位值即可);
3. 开启PWMCON中相应的MAT位输出PWM功能;
4. 设置PWM定时时间和占空比等参数:
1) 设置PR寄存器值,即PCLK分频系数,分频后时钟作为TC的计数时钟;
2) 设置匹配寄存器值,需要设置两个匹配寄存器值,假设MR0为PWM输出匹配寄存器,那么需要设置该寄存器计数值,其次,还需要在MR1/2/3中任选一个作为匹配后复位,也就是说,MR1/2/3的值要大于MR0的值。在PWM运行时,初始PWM输出为0,当TC和MR0匹配则PWM输出1,当TC和MR1/2/3匹配则TC值复位且PWM输出0,如此反复。所以占空比即为(MRn – MR0)/ MRn,这里用n代替1/2/3。此外,还需要在MCR寄存器设置相应使用的MR1/2/3与TC值匹配时产生复位。
5. TCR寄存器分别做如下编程:
1)TCR = 0x02; // 复位TC和PC
2)TCR = 0x01; // 使能定时器
进入单片机查看更多内容>>
1. 在PINSEL0/1寄存器中设置好需要输出PWM波的管脚功能;
2. CTCR寄存器设置为定时器模式(默认复位值即可);
3. 开启PWMCON中相应的MAT位输出PWM功能;
4. 设置PWM定时时间和占空比等参数:
1) 设置PR寄存器值,即PCLK分频系数,分频后时钟作为TC的计数时钟;
2) 设置匹配寄存器值,需要设置两个匹配寄存器值,假设MR0为PWM输出匹配寄存器,那么需要设置该寄存器计数值,其次,还需要在MR1/2/3中任选一个作为匹配后复位,也就是说,MR1/2/3的值要大于MR0的值。在PWM运行时,初始PWM输出为0,当TC和MR0匹配则PWM输出1,当TC和MR1/2/3匹配则TC值复位且PWM输出0,如此反复。所以占空比即为(MRn – MR0)/ MRn,这里用n代替1/2/3。此外,还需要在MCR寄存器设置相应使用的MR1/2/3与TC值匹配时产生复位。
5. TCR寄存器分别做如下编程:
1)TCR = 0x02; // 复位TC和PC
2)TCR = 0x01; // 使能定时器
相关文章