新闻中心

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

MSP430定时器详解

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

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

函数名称:InitClock

功 能:初始化时钟函数

参 数:无

返回值 :无

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

void InitClock()

{

unsigned int oscdly;

BCSCTL1 = ~XT2OFF; //------------清OSCOFF/XT2,使XT2振荡器有效

do

{

IFG1 =~OFIFG; //------------清OFIFG

oscdly=255;

while(oscdly--); //------------延时等待

}

while(IFG1 OFIFG); //------------直到OFIFG=0为止

//-------------------------------------------------------------

DCOCTL |= DCO0 + DCO1 + DCO2; // Max DCO

BCSCTL1 |= RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL

//这两句设置DCOCTL和BCSCTL1,设置DCO的频率

//一般来说,PUC复位之后,如果没有特定设置系统时钟MCLK,MCU将默

//认DCO振荡器产生的频率为系统时钟,不过如果设置BCSCTL2来选定

//MCLK的时钟源的话(如:BCSCTL2 |= SELM_2+SELS;)系统时钟就是由

//XT2振荡而来.

//-------------------------------------------------------------

BCSCTL2 |= SELM_2+SELS; //SMCLK and MCLK uses XT2

//这一句设置BCSCTL2,选定MCLK和SMCLK的时钟源

//注意:ACLK只能来源于LFXT1.可以在BCSCTL1里设置ACLK的分频。

//-------------------------------------------------------------

}

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

函数名称:Timer_A

功 能:A中断服务子函数,当

参 数:无

返回值 :无

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

// Timer A0 interrupt service routine

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

P3OUT ^= BIT4; // Toggle P3.4

}

[/td][/tr]

------------------------------

其实捕获相当于51的外部中断?只不过,里,把捕获和做在了一起。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭