aerkate

MSP430 Timer_A 概述(原创)

0
阅读(26636)

 

记得最早接触定时器是在数码管动态显示的时候,通过定时器来设定一下间隔来调整显示,后来想要驱动一个电机的转速的时候也是通过定时器来输出的PWM波来实现的。即使是初级使用一下单片机也不免会涉及到时序方面的问题,而我们对外设进行操作的时候都要考虑到它的响应处理的时间,也就是说设备功能的实现很大程度上都需要定时器来进行协作,所以定时器是个很重要的模块。

MSP430单片机中的定时器A是一个16位的定时/计数器,根据型号的不同最多有3个捕获/比较单元,它在功能方面可以支持捕获/比较、PWM波输出和定时器功能。定时器A的中断源有两个,一个是计数器溢出中断,另一个来自捕获/比较寄存器。

上图为定时器A的框图,三个捕获/比较模块都是相似的所以在此我们只给出了CCR0的框图。

定时器A的特性

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

可选择配置的时钟源

2个或者3个可配置的捕获/比较器

可配置的PWM输出功能

异步输入输出的锁存

对于定时器A所有中断快速响应的中断向量寄存器

由上面的表格可以看出,在使用定时器A的时候我们可以根据需要对其进行各种配置,而这些配置活动就需要操作与定时器A相关的控制寄存器。

 

寄存器

简写

寄存器类型

地址

初始状态

TA控制寄存器

TACTL

读/写

0160h

POR复位

TA计数器

TAR

读/写

0170h

POR复位

TA捕获比较控制寄存器0

TACCTL0

读/写

0162h

POR复位

TA捕获比较0

TACCR0

读/写

0172h

POR复位

TA捕获比较控制寄存器1

TACCTL1

读/写

0164h

POR复位

TA捕获比较1

TACCR1

读/写

0174h

POR复位

TA捕获比较控制寄存器2

TACCTL2

读/写

0166h

POR复位

TA捕获比较2

TACCR2

读/写

0176h

POR复位

TA中断向量寄存器

TAIV

只读

012h

POR复位