|
前些天写了一个定时器程序 控制led灯间隔一秒亮灭 但是很不正常 当我用手摸着单片机的时候感觉闪烁还正常点 拿开手就不正常了 求指点。。。。。。。。
#include
void main(void)
{
P1DIR = 0XFF;P1OUT = 0XFF;
P2DIR = 0XFF;P2OUT = 0XFF;
P3DIR = 0XFF;P3OUT = 0XFF;
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
CCTL0 = CCIE; //使能CCR0中断
CCR0 = 3000; //设定周期1S
TACTL = TASSEL_1 + ID_2 + MC_1; //定时器A的时钟源选择ACLK,增计数模式
P1DIR = 0xff;
P1OUT = 0xff;
_EINT(); //使能全局中断
LPM3; //CPU进入LPM3模式
}
/*******************************************
函数名称:Timer_A
功 能:定时器A的中断服务函数
参 数:无
返回值 :无
********************************************/
#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0xff; //P1口输出取反
LPM3_EXIT;
}
|
|