7255|13

4996

帖子

19

TA的资源

裸片初长成(初级)

楼主
 

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个定时器中,基本操作是一模一样的,所以在下面我们只拿一个定时器作为实例进行说明,对于其他定时器,只需要把寄存器名称改成相应的寄存器就可以了。

 

[ 本帖最后由 zhaojun_xf 于 2011-8-17 07:35 编辑 ]
此帖出自NXP MCU论坛

最新回复

  详情 回复 发表于 2013-7-7 20:55
点赞 关注
个人签名我的博客
 

回复
举报

4996

帖子

19

TA的资源

裸片初长成(初级)

沙发
 

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功能相似。

[ 本帖最后由 zhaojun_xf 于 2011-8-17 07:36 编辑 ]
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

板凳
 

       通过对这三种定时器寄存器的对比,发现寄存器是完全相同的,名称对于LPC11U14的来说,命名有些不同,但是是和LPC1114/LPC1343完全对于的,下面就例举LPC11U14的寄存器,如下表:

 

 

    限于篇幅,这里就不对寄存器进行一一介绍了,LPC1114/LPC1343的寄存器是在上面的寄存器前面加上了定时器的名称,如:TMR16B0IR等,关于功能和应用是没有区别的。

[ 本帖最后由 zhaojun_xf 于 2011-8-17 20:33 编辑 ]
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

4
 

下面将把实验例程放在下边,不过需要特别注意的是,16位定时器的最大定时值为16位,即65535。所以需要注意赋值溢出的问题。

 

1. LPC11U14

 

 

 

 

2.LPC1114/LPC1343

 

 

 

从三种芯片的定时器代码可以看出:

 

1. 16位和32位是一样的,只是范围不同,由于16为的范围在65535,所以需要通过分频,提高定时范围。

 

2. LPC11U14的定时器和其他两种是一样的,而不同的只是名称有区别。如LPC_TMR32B0->IR  ------------ LPC_CT32B0->IR

 

[ 本帖最后由 zhaojun_xf 于 2011-8-18 20:31 编辑 ]
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

5
 

定时器的操作关键是初始化,只要配置完了,后面的操作就很简单了。这里就不多介绍,网友可以自己了解。。。。

[ 本帖最后由 zhaojun_xf 于 2011-8-18 20:35 编辑 ]
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

6
 
timer32Enable(1)是怎么回事
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

7
 
通过参数选择选择使能32位定时器1
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

113

帖子

0

TA的资源

一粒金砂(中级)

8
 
mark!!
此帖出自NXP MCU论坛
 
个人签名中国人民解放军总装备部
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

9
 
初始化完后怎么写中断函数
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

10
 

回复 9楼 cuanli007 的帖子

/**************************************************************************************
* FunctionName   : TIMER1_IRQHandler()
* Description    : 32位定时器1中断服务
* EntryParameter : None
* ReturnValue    : None
**************************************************************************************/
void TIMER1_IRQHandler(void)
{
}

至于中断里边什么内容,需要根据学习来编写,没办法描述。。。。
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

11
 
如果是0.005秒中断一次里面怎么写,看了很长时间还是有问题
此帖出自NXP MCU论坛

点评

这个很简单了,之间在初始化函数中填入5ms,既可以实现5ms中断,至于中断中要干什么,就得自己实现了。  详情 回复 发表于 2013-7-8 06:25
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

12
 
求说一下
此帖出自NXP MCU论坛
 
 
 

回复

2

帖子

1

TA的资源

一粒金砂(初级)

13
 
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

14
 

回复 11楼cuanli007 的帖子

这个很简单了,之间在初始化函数中填入5ms,既可以实现5ms中断,至于中断中要干什么,就得自己实现了。
此帖出自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
快速回复 返回顶部 返回列表