MSP430单片机定时器面面观
默认情况如下:
ACLK= LFXT1 = 32768Hz, 低频时钟源
MCLK=SMCLK= default DCO = 32 x ACLK = 1048576Hz 高频时钟源
ACLK ,MCLK ,SMCLK的频率可以根据 FLL+相应的寄存器来调节
时钟源有:
LFXT1CLK: 32768 HZ 即:32K
XT2CLK: 4M
DCOCLK: 选择AP18PF时
FN_2 1.04875M
FN_3 1.08860M
FN_4 1.710
FN_8 3.4M
以下引脚的复用功能如下:
P1.5 : ACLK 82
P1.4: SMCKL 83
P1.1: MCLK 86
—————————————————————————————————————————
msp430 定时器学习笔记
_BIS_SR(LPM3_bits + GIE) //进入LPM3低功耗模式和开总中断允许
中断
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
}
TACTL timerA控制寄存器
TAR timerA计数器
CCTL0 捕获/比较控制寄存器0
CCRO 捕获/比寄存器0(具有最高中断优先级别,单独使用一个中断向量)
CCTL1 捕获/比较寄存器1
CCR1 捕获/比较寄存器1
CCTL2 捕获/比较寄存器2
CCR2 捕获/比较寄存器2
TAIV 中断向量寄存器
其中,定时器,CCR2,CCR1三者共用一个中断向量
——————————————————————————————————————————
定时器A是一个16位的定时/计数器。它有3个捕获/比较寄存器;能支持多个时序控制、多个捕获/比较功能和多个PWM输出;有广泛的中断功能,中断可由计数器溢出产生,也可以由捕获/比较寄存器产生。
一、TimerA的4种工作模式
1. 停止模式
用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。
2. 增计数模式
捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器。因为CCR0为16位寄存器,所以该模式适用于定时器周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0的值相等(或定时器值大于CCR0的值)时,定时器复位并从0开始重新计数。
3. 连续计数模式
在需要65536个时钟周期的定时应用场合常用连续计数模式。定时器从当前值计数到0FFFH后,又从0开始重新计数。
连续计数模式的典型应用:
产生多个独立的时序信号。利用捕获比较寄存器捕获各种其它外部事件发生的定时器数据。
产生多个定时信号。
4. 增/减计数模式
需要生成对称波形的情况经常可以使用增/减计数模式。该模式下,定时器先增计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0定义,它是CCR0计数器值的2倍。
二、TimerA寄存器说明
寄存器 | 寄存器说明 | 类型 | 地址 | 初始状态 |
TACTL | Timer_A控制寄存器 | 读写 | 160H | POR复位 |
TAR | Timer_A计数器 | 读写 | 170H | POR复位 |
CCTL0 | 捕获/比较控制寄存器0 | 读写 | 162H | POR复位 |
CCR0 | 捕获/比较寄存器0 | 读写 | 172H | POR复位 |
CCTL1 | 捕获/比较控制寄存器1 | 读写 | 164H | POR复位 |
CCR1 | 捕获/比较寄存器1 | 读写 | 174H | POR复位 |
CCTL2 | 捕获/比较控制寄存器2 | 读写 | 166H | POR复位 |
CCR2 | 捕获/比较寄存器2 | 读写 | 176H | POR复位 |
TAIV | 中断向量寄存器 | 读写 | 12EH | POR复位 |
1. TACTL 控制寄存器,各位定义:
15-10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
未用 | SSEL1 | SSEL0 | ID1 | ID0 | MC1 | MC0 | 未用 | CLR | TAIE | TAIFG |
SSEL1、SSEL0选择进入定时器分频器的时钟源
SSEL1 | SSEL0 | 输入时钟源 | 说明 |
0 | 0 | TACLK | 用特定的外部引脚信号 |
0 | 1 | ACLK | 辅助时钟 |
1 | 0 | MCLK | 系统时钟 |
1 | 1 | INCLK | 外部输入时钟 |
ID1、ID0输入分频系数
ID1 | ID0 | 分频系数 |
0 | 0 | 不分频 |
0 | 1 | 1/2分频 |
1 | 0 | 1/4分频 |
1 | 1 | 1/8分频 |
MC1、MC0计数模式控制位
MC1 | MC0 | 模式 |
0 | 0 | 停止模式 |
0 | 1 | 增计数模式 |
1 | 0 | 减计数模式 |
1 | 1 | 增/减计数模式 |
CLR——定时器清除。当该位为1时,定时器复位。
TAIE——定时器中断允许位。0:禁止定时器溢出中断;1:允许定时器溢出中断。
TAIFG——定时器溢出标志位。
增计数模式:当定时器由CCR0计数到0时,TAIFG置位;
连续计数模式:当定时器由0FFFFH计数到0时,TAIFG置位;
增/减计数模式:当定时器由CCR0减计数到0时,TAIFG置位。
2. T
MSP430单片机定时 相关文章:
- MSP430单片机定时器B中断实验(12-01)
- MSP430单片机定时器(11-25)
- MSP430单片机——定时器(11-13)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)