加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CC2541蓝牙学习——定时器1

(2015-05-12 14:11:54)
标签:

it

蓝牙

分类: 蓝牙
学习目标:定时器1的三种运行模式

CC2541有4个定时器,分别实现不同的功能,定时器1是一个独立的16位定时器,支持典型的定时/计数功能,比如输入捕获,输出比较和PWM功能。定时器1有5个独立的捕获/比较通道,每个通道定时器使用一个I/O引脚。
定时器1的功能如下:
  • 五个捕获/比较通道
  • 上升沿、下降沿或任何的边沿输入捕获
  • 设置、清除或切换输出比较
  • 自由运行、模或正技术/倒技术操作
  • 可被1、8、32、128整除的时钟分频器
  • 在每个捕获/比较和最终计数上生成中断请求
  • DMA触发功能 
定时器包括一个16位计数器:在每个活动的时钟边沿递增或递减活动时钟边沿周期由寄存器位CLKCON.TICKSPD 定义,他设置全球系统时钟的划分,提供了从0.25到32MHz的不同的时钟标签频率,这个在定时器1中由TICTL.DIV设置的分频器值进一步划分。这个分频器值可以从1、8、32、128,因此当32MHz晶振用作系统时钟源时,定时器可以使用的最低时钟频率为32MHz/128/128=1953.125Hz。总之:定时器的定时时钟频率由CLKCON.TICKSPD TICTL.DIV决定。

定时器1有三种操作模式:自由运行模式、模计数模式、正计数/倒计数模式,由TICTL寄存器MODE[1:0]选择。

http://s7/mw690/003pe0FOzy6SbRg0Umy76&690

定时器1的T1CTL寄存器下的模式分析

自由运行模式】:
在自由运行操作模式下,计数器从0x0000开始,每个活动时钟边沿增加1。当计数器达到0xFFFF(溢出)后,计数器重新载入0x0000,继续递增它的值,如下图所示。当达到最终计数值0xFFFF,设置标志IRCON.T1IFT1STAT.OVFIF。如果设置了相应的中断屏蔽位TIMIF.OVFIM以及IEN1.T1EN和总中断IEN0.EA,计数器溢出将产生一个中断请求。自由运行模式可以用于产生独立的时间间隔,输出信号频率。

定时器1状态寄存器

http://img.blog.csdn.net/20141229102424155

中断标志4寄存器

http://img.blog.csdn.net/20141229102531017

http://s14/mw690/003pe0FOzy6SbTxcDX77d&690

模模式】:

当定时器运行在模模式,16位计数器从0x0000开始,每个活动时钟边沿增加1。当计数器达到T1CC0,寄存器T1CC0H:T1CC0L保存的最终计数值,计数器将复位到0x0000,并继续递增。如果定时器开始于T1CC0以上的一个值,当达到最终计数值(0xFFFF)时,设置标志IRCON.T1IFT1STAT.CH0IF(注意不是T1STAT.OVFIF。如果设置了相应的中断屏蔽位TIMIF.OVFIMT1CCTL0.IM、IEN1.T1EN和总中断IEN0.EA,计数器溢出将产生一个中断请求。模模式可以用于周期不是0xFFFF的应用程序。

使用模模式时,必须要开启通道0的输出比较功能,所以,此时不仅仅只是简单的中断溢出。主要的注意事项如下:

1) 模模式需要开启通道0的输出比较模式,否则计数器到了0xFFFF时,才会产生溢出中断,也就是说如果没有设置通道0的输出比较模式,计数器的值到了T1CC0H:T1CC0L设置的比较值后也不会产生溢出中断。

2) T1的模模式不是普通的溢出中断,和连续计数模式不同,它必须设置通道0的输出比较功能,使能中断时,也是使能通道0的输出比较中断屏蔽位。产生中断时的中断标志也是通道0的输出比较中断标志,而不是计数溢出标志

计数器的操作展示如下图:

http://s9/mw690/003pe0FOzy6ScZPua1208&690

http://s12/mw690/003pe0FOzy6SdeFP5I73b&690

正计数/倒计数模式】:

 

在正计数/倒计数模式,计数器反复从0x0000开始,正计数直达到T1CC0H:T1CC0L保存值。然后计数器将倒计数直到0x0000,如下图所示。这个定时器用于周期必须是对称输出脉冲而不是0xFFF的应用程序,因此允许中心对齐的PWM输出应用的实现。在正计数/倒计数模式,当达到最终计数值时(0x0000设置标志IRCON.T1IFT1STAT.OVFIF。如果设置了相应的中断屏蔽位TIMIF.OVFIM以及IEN1.T1EN和总中断IEN0.EA,计数器溢出将产生一个中断请求。

http://s4/mw690/003pe0FOzy6SdtzR3aPd3&690


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有