📄 main.c
字号:
#include "msp430x22x4.h"
//定时器A比较模式实验,主程序初始化后,关闭CPU
//用CCR0作为比较器
//时钟源选SMCLK
//以50000个SMCLK计数脉冲作为周期
//每次计到来翻转P1.0
// MSP430F2274
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.0|-->LED
int main( void )
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_1MHZ; //设定DCO为1MHZ
DCOCTL =CALBC1_1MHZ;
P1DIR |=BIT0; //LED使能
TACTL=TASSEL1+TACLR; //定时器A时钟源为SMCLK,并清TAR
CCTL0 |=CCIE; //CCR0中断使能
CCR0 =50000; //计数值为50000个SMCLK周期
TACTL |=MC1; //启动定时器A为连续计数模式
_BIS_SR(GIE+CPUOFF);
return 0;
}
#pragma vector = TIMERA0_VECTOR //ccr0中断服务
__interrupt void ta0_isr(void)
{
P1OUT ^=BIT0; //LED翻转
CCR0 +=50000; //定时补偿
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -