MSP430F149学习之路——时钟2

时间:2023-03-08 19:44:08
MSP430F149学习之路——时钟2

代码一:

/**************************
功能:LED每隔1秒闪烁一次
****************************/
#include <msp430x14x.h>
void main()
{
P6DIR = 0XFF;
P6OUT = 0X00;
TACCR0 = ;
TACCTL0 = CCIE;
TACTL = TASSEL_1 + ID_3 + MC_1; _EINT();
LPM3;
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
P6OUT ^= 0XFF;
}

代码二:


 #include <msp430x14x.h>

 int flag=,time=;
void int_clk(); //初始化时钟
void int_timer(); //设置定时器A
void main()
{
WDTCTL = WDTPW +WDTHOLD;
P6DIR = 0XFF;
P6OUT = 0XFF;
int_clk();
int_timer();
_EINT(); for(;;)
{
while(flag)
{
flag=;
time++;
if(time==)
{
P6OUT ^= 0XFF;
time = ;
}
}
}
} void int_clk()
{
BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELM_1 + SELS;
do
{
IFG1 &= ~OFIFG;
for(int i=;i>;i--)
_NOP();
}while((IFG1 & OFIFG)!=);
IFG1 &= ~OFIFG;
} void int_timer()
{
TACTL |= TASSEL_2 + ID_3 + MC_1;
TACCTL0 = CCIE;
TACCR0 = ; //10ms
}
#pragma vector = TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
flag = ;
}