aerkate

MSP430 定时器A 寄存器(原创)

0
阅读(3856)

 

相比于前面给出的那张系统框图,我个人而言更喜欢这张图,它简明扼要、清晰明了,给出了msp430定时器A的组成与功能。

有图可见定时器A的功能模块由三部分组成:

1)         计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1,2,4或8分频作为计数频率,Timer_A可以通过选择4种工作模式灵活的完成定时/计数功能。

2)         捕获/比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高I/O端口处理事务的能力和速度。不同的MSP430单片机,Timer_A模块中所含有的捕获/比较器的数量不一样每个捕获/比较器的结构完全相同,输入和输出都决定于各自所带的控制寄存器的控制字,捕获/比较器相互之间完全独立。

3)         输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号。支持PWM

 

在对每个功能模块进行说明前我们先来认识一下Timer_A的各个控制寄存器,因为每个模块功能的选择实现与这些寄存器的设置紧密相关。

 

TACTL, Timer_A控制寄存器

15

14

13

12

11

10

9

8

Unused

TASSELx

7

6

5

4

3

2

1

0

IDx

MCx

Unused

TACLR

TAIE

TAIFG

 

 

 

名称

位置

说明

Unused

15~10

未使用位

TASSELx

9~8

TA时钟源选择

00 TACLK

01 ACLK

10 SMCLK

11 INCLK

IDx

7~6

输入分频。这些位为输入时钟分频选择

00/1

01/2

10/4

11/8

MCx

5~4

模式控制,当TA不用于节省功耗时,将MCx=00h 

00停止模式:定时器停止

01增模式:定时器计数到TACCR0

10连续模式:定时器计数到0FFFFh

11增减模式:定时器计数到TACCRO,然后减到0000h

Unused

3

未使用位

TACLR

2

定时器清零位。该位置位会复位TAR,时钟分频和计数方向。TACLR位会自动复位并读出值为0

TAIE

1

TA中断允许。该位允许TAIFG中断请求

0 中断禁止

1 中断允许

TAIFG

0

TA中断标志位

0 无中断挂起

1中断挂起

 

TAR,Timer_A

15

14

13

12

11

10

9

8

TARx

7

6

5

4

3

2

1

0

TARx

 

TARx 位15~0

Timer_A寄存器。TAR寄存器是Timer_A的计数器。

TACCTLx,捕获比较控制寄存器

15

14

13

12

11

10

9

8

CMx

CCISx

SCS

SCCI

Unused

CAP

7

6

5

4

3

2

1

0

OUTMODx

CCIE

CCI

OUT

COV

CCIFG

 

名称

字段

说明

CMx

15~14

捕获模式

00 不捕获

01 上升沿捕获

10下降沿捕获

11 上升和下降沿都捕获

CCISx

13~12

捕获比较选择,该位选择TACCRx的输入信号

00 CCIxA

01CCIxB

10GND

11VCC

SCS

11

同步捕获源,该位用于将捕获通信和时钟同步

0 异步捕获

1同步捕获

SCCI

10

同步的捕获/比较输入,所选择的CCI输入信号由EQUx信号锁存,并可通过该位读取

Unused

9

未使用

CAP

8

捕获模式

0比较模式

1捕获模式

OUTMODx

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有中断挂起

 

 

TAIV,Timer_A 中断向量寄存器

15

14

13

12

11

10

9

8

O

O

O

O

O

O

O

O

7

6

5

4

3

2

1

0

O

O

O

O

TAIVx

o

TAIVx Bits 15~0 Timer_A 中断向量值

TAIVx的内容

中断源

中断标志

中断优先级

00h

无中断挂起

——

 

02h

捕获比较1

TACCR1 CCIFG

最高

04h

捕获比较2(MSP430x20xx中没有)

TACCR2 CCIFG

 

06h

保留

——

 

08h

保留

——

 

0Ah

定时器溢出

TAIFG

 

0Ch

保留

——

 

0Eh

保留

——

最低

 

16为定时器A有两个中断向量:

TACCR0 CCIFG的TACCR0中断向量和所有其他CCIFG和TAIFG中断向量

 

在捕获模式下,当一个定时器的值捕获到响应的TACCRx寄存器时,CCIFG中断标志置位。在比较模式下,如果TAR计数到相应的TACCRx值时,CCIFG标志置位。软件可以清除或置位任何一个CCIFG标志。当相应的CCIE和GIE置位时,CCIFG标志就会产生一个中断。