本帖最后由 fqh5455588 于 2014-11-24 17:19 编辑
#include"in430.h" #include "msp430g2553.h"
static unsigned char temp = 0xaa;
unsigned int n=0;
void main( void )
{ WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
BCSCTL1=CALBC1_1MHZ;
DCOCTL=CALDCO_1MHZ;
P1DIR = 0xff; //设定P1口为输出方式
P1OUT = 0xff; //给P1口赋初始值
TA0CCTL0 = CCIE; //打开中断 (Timer0_A3 Capture/Compare Control 0 )
CCR0 = 50000; //设定计数变量
TA0CTL = TASSEL_2 + MC_1; //定时器选择时钟SMCLK,使用模式二连续计数方式
_EINT(); //开总中断
while(1)
{ LPM0; } //开启低功耗模式0,进入低功耗模式,等待中断唤醒
}
#pragma vector = TIMER0_A0_VECTOR
__interrupt void time1(void)
{ P1OUT=temp;
n++;
if(n==20)
{ temp = ~temp; //取反
P1OUT = temp; //P1口赋值
n=n%20;
}
}