新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > MSP430定时器详解

MSP430定时器详解

作者: 时间:2013-01-16 来源:网络 收藏

CAP——选择捕获模式还是

0:

1:捕获模式

OUTMODx: 选择输出模式

0 0 0————输出

0 0 1————置位

0 1 0————PWM翻转/复位

0 1 1————PWM置位/复位

1 0 0————翻转

1 0 1————复位

1 1 0————PWM翻转/置位

1 1 1————PWM复位/置位

CCIEx——捕获/比较模块中断允许位

0:禁止中断

1:允许中断

CCIx——捕获/比较模块的输入信号

捕获模式:由CCIS0和CCIS1选择的输入信号可通过该位读出

:CCIx复位

OUT——输出信号(如果OUTMODx选择输出模式0,则该位对应于输入状态)

0:输出低电平

1:输出高电平

COV——捕获溢出标志

0:没有捕获溢出

1:发生捕获溢出

当CAP=0时,选择比较模式。捕获信号发生复位。没有使COV置位的捕获事件

当CAP=1时,选择捕获模式。如果捕获寄存器的值被读出前再次发生捕获事件,则COV置位。程序检测COV来判断原值读出前是否又发生捕获事件。读捕获寄存器时不会使溢出标志复位,须用软件复位。

CCIFGx——捕获比较中断标志

捕获模式:寄存器CCRx捕获了TAR值时置位

比较模式:TAR值等于寄存器CCRx值时置位

//***********************************************************

// Date: 2009.8.4

// Author: xurafreedom

// Email: freedomxura@gmail.com / mxh20999@163.com

// Blog: http://xurafreedom.cublog.cn

//

// Description: Toggle P3.4 using software and TA_0 ISR. Toggles every

// 50000 SMCLK cycles. SMCLK provides clock source for TACLK.

// During the TA_0 ISR, P3.4 is toggled and 50000 clock cycles are added to

// CCR0. TA_0 ISR is triggered every 50000 cycles. CPU is normally off and

// used only during TA_ISR.

// ACLK = n/a, MCLK = SMCLK = TACLK = default DCO ~800kHz

// Software release:IAR Assembler for V4.09A/W32 (4.9.1.9)

//*******************************************************

#include

/********************函数声明******************/

void InitClock();

/********************主函数********************/

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // Stop WDT

InitClock(); // Initialize the clock

P3DIR |= BIT4; // P3.4 output

CCTL0 = CCIE; // CCR0 interrupt enabled

CCR0 = 500;

TACTL = TASSEL_2 + MC_1; // SMCLK, Up to CCR0 mode

_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt

}



评论


相关推荐

技术专区

关闭