MSP430 Timer_A 概述(原创)
0赞
记得最早接触定时器是在数码管动态显示的时候,通过定时器来设定一下间隔来调整显示,后来想要驱动一个电机的转速的时候也是通过定时器来输出的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复位 |