LPC2103的PWM编程
时间:11-29
来源:互联网
点击:
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;//使能定时器
LPC2103PWM编 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)