中级会员
- 积分
- 250
- 金钱
- 250
- 注册时间
- 2019-3-27
- 在线时间
- 36 小时
|
#include <msp430x54x.h> //声明库
void TAinit(void);/*初始化函数*/
void main(void) //主函数
{
P5DIR|=BIT4;//引脚为输出引脚
P5OUT|=BIT4;//打开外部电源
P7DIR|=BIT3;//引脚为输出引脚
P7OUT&=~BIT3;//导通三极管
TAinit();
P9DIR|=BIT0;
}
void TAinit(void)
{
WDTCTL=WDTPW+WDTHOLD; //关掉看门狗
TA1CTL=TASSEL0;/*选择ACLK 时钟*/
TA1CTL=TACLR;/*清除计时器*/
TA1CCTL0=CCIE;/*打开捕获比较中断*/
TA1CCR0=16384;
TA1CTL|=CM0;/*计数方式为增计数*/
_EINT();
}
#pragma vector = TIMER1_A1_VECTOR
__interrupt void TA1(void)
{ while(1);
P9OUT^=BIT0;/*使LED灯闪烁*/
}
定时器控制的发光二极管闪烁。这里使用了 MSP430F149 芯片的 32768Hz 低频晶体振荡器作为时钟
源。用定时器 A 定时 1s ,发光二极管灭 0.5s ,亮.0.5s 。 但是怎么灯亮就是不闪啊
|
|