MSP430G2553定时器中断实验

来源:本站
导读:目前正在解读《MSP430G2553定时器中断实验》的相关信息,《MSP430G2553定时器中断实验》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MSP430G2553定时器中断实验》的详细说明。
简介:MSP430G2553定时器中断实验

///////////////////////////////////////////////////////////////////

// msp430G2553的定时器中断控制LED每秒钟进行亮熄变化

///////////////////////////////////////////////////////////////////

#include

void led_init();

void timer_init();

void delay(int);

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

void led_init()

{

P1DIR|=(1<<6); //P1.6为LED

}

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

void timer_init()

{

TACCR0 =2500; //计到2500,约20ms

TACTL = TASSEL_2+ID_3+MC_1+TACLR; //设置TIMERA的时钟源为SMCLK(1M),8分频后(125K),计数模式为up,到CCR0再自动从0开始计数

TACCTL0 |= CCIE; // CCR0 interrupt enabled

}

//--------定时器中断函数------------

#pragma vector=TIMER0_A0_VECTOR

__interrupt void Timer_A(void)

{

//TACCTL0&=~ CCIE; //关中断

static int cc=0;

cc+=1;

if(cc==50) //1s=1000ms=20*50 定时

{

P1OUT^=(1<<6); //P1.6 LED取反

cc=0;

}

}

//--------延时函数 -------

void delay(int n)

{

unsigned char temp = 0;

unsigned int i=0;

for(i=0;i

{

for(temp=0;temp<33;temp++);

}

}

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

void main()

{

WDTCTL = WDTPW + WDTHOLD; // Stop WDT

BCSCTL1 = CALBC1_1MHZ;

DCOCTL = CALDCO_1MHZ;

led_init();

timer_init();

_BIS_SR(GIE); //开总中断

for(;;)

{

;

}

}

提醒:《MSP430G2553定时器中断实验》最后刷新时间 2024-03-14 01:13:55,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MSP430G2553定时器中断实验》该内容的真实性请自行鉴别。