历史上的今天
返回首页

历史上的今天

今天是:2025年07月11日(星期五)

正在发生

2018年07月11日 | 单片机MSP430 - 定时器Timer_A

2018-07-11 来源:eefocus

一、定时器Timer_A 介绍

       Timer_A是一个具有多路捕获/比较寄存器的16位定时/计数器,主要有TAxCTL,TAxR,TAxCCTLn,TAxIV,TAxEX0 几个寄存器。其中最主要的是TAxCTL寄存器,它决定Timer_A的输入时钟信号,Timer_A的工作模式,Timer_A的开启与停止,中断的申请等。中断可以来自定时器溢出或者任意的捕获/比较寄存器Timer_A的特征包括:


  • 具有4种工作模式的异步定时/计数器

  • 可选择配置的时钟源

  • 可配置的PWM输出功能

  • 异步输入和同步锁存

二、Timer_A 操作

1. 16位定时/计数器

       16位定时/计数寄存器TAxR,在每个时钟信号的上升沿做增一计数或减一计数。TAxR可以通过置位TACLR清除。Timer_A机构图如下:

2. 时钟源的选择和分频

       定时器时钟 TACLK 可以选择来自 ACLK、SMCLK 或者外部的TAxCLK。时钟源由 TASSELx 位来选择。选定的时钟源可以直接到达定时器,或者通过 IDx 位经过2、4、8分频后到达定时器,选定的时钟源可以通过 IDEXx 进行2、3、4、5、6、7或者8分频。当 TACLR 置位时,定时器时钟源分频器被复位。

3.  启动定时器

  • 在 MC > {0} 同时时钟源被激活的情况下,定时器开始计数

  • 在定时器工作在增计数模式或者增/减计数模式时,对 TAxCCR0 写 0 可以停止定时器。定时器可以通过对 TAxCCR0 写入一个非零值来重新启动计数。在这种情况下,定时器从零开始计数。

4. 定时器模式控制

MCx

工作模式

描述

00

停止模式

定时器停止

01

增计数模式

定时器重复地从0计数到TAxCCR0

10

连续计数模式

定时器重复地从0计数到0FFFFh

11

增/减计数模式

定时器重复地从0计数到TAxCCR0然后减计数到0


三、Timer_A 寄存器

1. Timer_A 控制寄存器(TAxCTL)

15~10

9~8

7~6

5~4

3

2

1

0

未用

TASSEL

ID

MC

未用

TACLR

TAIE

TAIFG


保留


位15~10    

未用

TASSELx

位9~8

Timer_A时钟源选择

     00  TAxCLK     10  SMCLK

     01  ACLK       11  TAxCLK

IDx

位7~6

输入分配器。这些位和 IDEXx 位一起选择输入时钟的分频值

     00  /1           01  /2

     10  /4           11  /8

MCx

位5~4

MCx 位5~4 模式控制。当Timer_A不用于节电模式时,设置 MCx = 00h

     00  停止模式            01  增计数模式

     10  连续计数模式     11  增/减计数模式

TACLR

位2

Timer_A 清除位。置位该位将复位 TAxR,TACLK 分频和计数方向。该位会自动复位,且读出的值通常总为0

TAIE

位1

Timer_A 中断允许位。该位使能TAIFG中断请求。(0中断禁止1 中断使能)

TAIFG

位0

Timer_A 中断标志位(0 无中断请求1 有中断请求)


2. Timer_A 计数器(TAxR)

15~0

TAxR

TAxR位15~0Timer_A 寄存器。TAxR寄存器是 Timer_A 的计数器。


3. 捕获/比较控制寄存器(TAxCCTLn)

15~14

13~12

11

10

9

8

7~5

4

3

2

1

0

CM

CCIS

SCS

SCCI

未用

CAP

OUTMOD

CCIE

CCI

OUT

COV

CCIFG



CM

位15~14      

捕获模式

00  禁止捕获模式      01  上升沿捕获

10  下降沿捕获         11  上升沿与下降沿都捕获

CCIS

位13~12

捕获/比较输入选择

00  CCIxA      01  CCIxB

10  GND       11  VCC

SCS

位11

同步捕获源,用来同步定时器时钟和捕获信号(0  异步捕获      1  同步捕获)

SCCI

位10

同步/捕获比较输入

未用

位9

未用位

CAP

位8

捕获模式(0 比较模式      1 捕获模式)

OUTMOD

位7~5

输出模式

000   OUT位的值      001   置位

010   翻转/复位        011   置位/复位

100   翻转                101   复位

110   翻转/复位        111   复位/置位

CCIE

位4

捕获/比较中断使能,该位使能相应的CCIFG标志的中断请求(0   中断禁止      1   中断使能)

CCI

位3

捕获比较输入。所选择的输入信号可以通过该位读取

OUT

位2

输出信号,对于模式0,该位直接控制输出的状态(0   输出低电平      1   输出高电平)

COV

位1

捕获溢出位。该位表示一个捕获溢出发生。COV必须由软件复位(0   没有捕获溢出发      1   有捕获溢出发生)

CCIFG

位0

捕获比较中断标志位(0   没有中断挂起      1   有中断挂起)


4. Timer_A 中断向量寄存器(TAxIV)


15~4

3~1

0

0

TAIV

0

TAIV   位15~0   Timer_A中断向量值

TAIV内容

中断源

中断标志

中断优先级

00h

无中断源



02h

捕获/比较1

TAxCCR1 CCIFG

最高

04h

捕获/比较2

TAxCCR2 CCIFG


06h

捕获/比较3

TAxCCR3 CCIFG


08h

捕获/比较4

TAxCCR4 CCIFG


0Ah

捕获/比较5

TAxCCR5 CCIFG


0Ch

捕获/比较6

TAxCCR6 CCIFG


0Eh

定时器溢出

TAxCTL TAIFG

最低

 


推荐阅读

史海拾趣

COMPEX公司的发展小趣事

COMPEX公司深知客户需求的重要性,因此在生产过程中始终坚持灵活多变的原则。无论是小批量生产还是大规模定制,公司都能迅速调整生产线,满足客户的多样化需求。这种高度的生产灵活性,使得COMPEX在应对市场变化时能够迅速作出反应,抢占先机。

华润华晶公司的发展小趣事

COMPEX公司深知客户需求的重要性,因此在生产过程中始终坚持灵活多变的原则。无论是小批量生产还是大规模定制,公司都能迅速调整生产线,满足客户的多样化需求。这种高度的生产灵活性,使得COMPEX在应对市场变化时能够迅速作出反应,抢占先机。

Chip Supply Micro Devices公司的发展小趣事

随着市场竞争的加剧,Chip Supply Micro Devices意识到成本控制的重要性。公司开始着手优化供应链管理,通过引入先进的生产管理系统和自动化设备,提高了生产效率,降低了生产成本。同时,公司还与供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和优质品质。这些措施使得Chip Supply Micro Devices在价格上具备了竞争优势,进一步提升了市场份额。

Feller US公司的发展小趣事

随着全球汽车产业的不断发展,国际合作已成为企业拓展市场、提升竞争力的重要途径。菲斯克也深刻认识到了这一点,积极寻求与全球各地的汽车制造商和供应商建立合作关系。通过与国际巨头的合作,菲斯克不仅获得了先进的技术和管理经验,还成功进入了多个国际市场,实现了全球布局的目标。这一系列的国际合作不仅提升了公司的知名度和影响力,还为公司的长期发展提供了有力的支持。

Crameda Intersys公司的发展小趣事

作为一家有社会责任感的企业,Crameda Intersys公司不仅关注自身的经济效益,还积极履行社会责任。公司积极参与公益事业,支持教育、环保等领域的发展。同时,公司还注重环保和可持续发展,通过采用环保材料和节能技术,降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,也为社会的可持续发展做出了积极贡献。

这五个故事只是Crameda Intersys公司发展历程中的一部分,但它们足以展现出公司在电子行业中的成长轨迹和不懈追求。在未来的发展中,Crameda Intersys公司将继续以技术创新为引领,积极拓展市场渠道,培养更多优秀人才,加强质量管理和社会责任履行,为电子行业的发展贡献更多的力量。

ELEKTRO-PLAST NASIELSK公司的发展小趣事

随着公司规模的扩大和市场竞争的加剧,ELEKTRO-PLAST NASIELSK公司意识到必须实施全球化战略以拓展市场。公司开始在国际市场寻找合作伙伴,建立生产基地和销售网络。通过与国际知名企业的合作,公司不仅提升了技术水平,还获得了更多的市场份额。同时,公司还积极参与国际行业标准的制定和推广工作,提升了在国际市场上的影响力。

问答坊 | AI 解惑

单片机数模转换输出正弦波的问题?

怎样计算正弦波?把正弦波的采样坐标点放到一个数组里,然后如何实现正弦波的输出? 下面有一个公式望各位大侠给菜鸟指导一下,谢谢! y=sin(3.1415*2*i/256)*2048+2048(注:256为数组的大小) 请问2048是什么意思?为什么要乘上它?麻烦给菜鸟解 ...…

查看全部问答>

LCD1602显示不出想要的结果.....

//第一行 显示‘a’ 第二行显示“welcome” #include void initial_lcd(void);           //初始化 void write_code(unsigned char m);   //写代码 void write_char(unsigned char m);    ...…

查看全部问答>

s3c2410触摸屏和AD转化问题(急)

板子上其中两路已经用于触摸屏,我想用s3c2410有自带的其它6路AD转换来采集,要怎么做?请详细说明下,谢谢. 之前内核已经加载了触摸屏的驱动,所以在动态加载AD驱动时就话出错(因为这两个是占用同一个中断号),网上查询就说用轮询,请哪位大侠详细说明 ...…

查看全部问答>

keil使用中出现的问题ERROR L110

如下: linking... *** ERROR L110: CANNOT FIND SEGMENT     SEGMENT: ?CO?DEVDS18B20 Program Size: data=51.0 xdata=5555 code=827665 Target not created 已经将.h文件包含进link文件了,即使把.c文件和.h文件中的所有代码删除 ...…

查看全部问答>

VXWORKS下DMA使用方法

我从未使用过DMA,现在有个板子需要用到DMA传输数据,请问我该怎么做呢?看了很多资料,感觉无从下手,谢谢…

查看全部问答>

关于PDA电池电量的判断

我现在在做一个PDA的驱动,使用的是WinCE操作系统,要判断电池的剩余电量。 电池3600毫安,充满电是4.2V,PDA大概在3.5V时就不能正常工作了。 现在PDA本身可以检测到当前电压,有没有什么算法能从电压判断出电量的?希望大家指点。…

查看全部问答>

带有ROM的LM3S编程

不知道各位使用带有ROM LM3S系列单片机的坛友们有没有碰到这个问题,flash能下载,但是验证失败。折腾了一宿,终于将这个问题解决。 将过程写下来,让以后的同学们少走弯路。 在调新的LM3S9B95开发板的时候,经常碰到的一个问题是flash编程后验证 ...…

查看全部问答>

MSP430单片机“用户手册”和“数据手册”

我传了一份MSP430单片机用户手册和数据手册,与大家分享,希望我们都能把430学好。…

查看全部问答>

cpu代码的控制器部分查错

module control(clk,rst,empty,opcode,da,in_reg,rd,wr,fetch,alu_ena,ir_ena,da_ena,ld_da_x,ld_ir_ptr,load_ptr,                load_pc,inc_pc,inc_ptr,dec_ptr,datactl_ena,ld_a,ld_b,hal ...…

查看全部问答>