LPC1114/LPC11U14和LPC1343对比学习(四)定时器
这三种芯片都有2个16位的定时器和2个32位的定时器。这4个定时器的功能都非常强大,不在是像8051一样,只有定时与计数功能。除了这两个强大的功能外,还添加了匹配输出,捕获输入,PWM输出等。在这里我们只学习它们最基本的定时功能,对于其他功能就不作介绍。
在PWM模式下,2个32位可编程定时器/计数器均有3个匹配寄存器用于提供单边沿的PWM输出,剩下的那个匹配寄存器则用于控制PWM周期长度。在PWM模式下,16位定时器0(CT16B0)与32位定时器相同,而16位定时器1(CT16B1)只有其中的两个匹配可用于向匹配输出管脚提供单边沿的PWM输出。
在这4个定时器中,基本操作是一模一样的,所以在下面我们只拿一个定时器作为实例进行说明,对于其他定时器,只需要把寄存器名称改成相应的寄存器就可以了。
1.32位定时器/计数器特性
两个32位的定时器/计数器,各带有一个可编程的32位预分频器;
计数器或定时器操作;
一个32位的捕获通道可在输入信号跳变时捕捉定时器的瞬时值。捕获事件也可以产生中断;
4个32位匹配寄存器,允许执行以下操作:
- 匹配时连续工作,在匹配时可选择产生中断;
- 在匹配时停止定时器运行,可选择产生中断;
- 在匹配时复位定时器,可选择产生中断。
有4个与匹配寄存器相对应的外部输出,这些输出具有以下功能:
- 匹配时设为低电平;
- 匹配时设为高电平;
- 匹配时翻转电平;
- 匹配时不执行任何操作。
对于各定时器,最多4个匹配寄存器可配置为PWM,允许使用多达3个匹配输出作为单边沿控制的PWM输出。 注:除外设基址不同外,32位定时器/计数器0和32位定时器/计数器1功能相似。
2.16位定时器/计数器特性
两个带有可编程16位预分频器的16位定时器/计数器;
定时器/计数器操作;
一个16位捕获通道,可在输入信号跳变时捕捉定时器的瞬时值。也可选择捕获事件产生中断;
4个16位匹配寄存器允许执行以下操作:
- 匹配时继续工作,匹配时可选择产生中断;
- 匹配时停止定时器运行,可选择产生中断;
- 匹配时复位定时器,可选择产生中断。
有多达3个(CT16B0)或2个(CT16B1)与匹配寄存器相对应的外部输出,这些输出具有以下功能:
- 匹配时输出低电平;
- 匹配时输出高电平;
- 匹配时翻转电平;
- 匹配时不执行任何操作。
对于各定时器,最多4个匹配寄存器可配置为PWM,允许使用最多3个匹配输出作为单独边沿控制的PWM输出。 注:除外设基址不同外,16位定时器/计数器0和16位定时器/计数器1功能相似。
通过对这三种定时器寄存器的对比,发现寄存器是完全相同的,名称对于LPC11U14的来说,命名有些不同,但是是和LPC1114/LPC1343完全对于的,下面就例举LPC11U14的寄存器,如下表:
限于篇幅,这里就不对寄存器进行一一介绍了,LPC1114/LPC1343的寄存器是在上面的寄存器前面加上了定时器的名称,如:TMR16B0IR等,关于功能和应用是没有区别的。
下面将把实验例程放在下边,不过需要特别注意的是,16位定时器的最大定时值为16位,即65535。所以需要注意赋值溢出的问题。
1. LPC11U14
2.LPC1114/LPC1343
从三种芯片的定时器代码可以看出:
1. 16位和32位是一样的,只是范围不同,由于16为的范围在65535,所以需要通过分频,提高定时范围。
2. LPC11U14的定时器和其他两种是一样的,而不同的只是名称有区别。如LPC_TMR32B0->IR ------------ LPC_CT32B0->IR
相关阅读
- LPC1114/LPC11U14和LPC1343对比学习(一)整体对比
- LPC1114/LPC11U14和LPC1343对比学习(二)GPIO
- LPC1114/LPC11U14和LPC1343对比学习(三)SysTick
- LPC1114/LPC11U14和LPC1343对比学习(五)UART
- LPC1114/LPC11U14和LPC1343对比学习(六)I2C
- LPC1114/LPC11U14和LPC1343对比学习(七)SSP
- LPC1114/LPC11U14和LPC1343对比学习(八)USB
声明:本站部分内容根据互联网资料整理而成,若侵犯您的权益,请联系我们,我们会尽快处理。