📄 main.c
字号:
//******************************************************************************
// MSP-FET430P140 Demo - Timer_A, Toggle P3.4, CCR0 Cont. Mode ISR, DCO SMCLK
//
// Description: Toggle P3.4 using software and TA_0 ISR. Toggles every
// 50000 SMCLK cycles. SMCLK provides clock source for TACLK.
// During the TA_0 ISR, P3.4 is toggled and 50000 clock cycles are added to
// CCR0. TA_0 ISR is triggered every 50000 cycles. CPU is normally off and
// used only during TA_ISR.
// ACLK = n/a, MCLK = SMCLK = TACLK = default DCO ~800kHz
//
// MSP430F149
// ---------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P3.4|-->LED
//
// Dasheng
// LiTian Electronic Inc.
// Feb 2008
// Built with IAR Embedded Workbench Version: 3.42A
//******************************************************************************
#include <msp430x14x.h>
#include "BoardConfig.h"
void Delay_ms(unsigned long nValue)
{
}
void Delay_us(unsigned long nValue)
{
int i;
for(i=nValue;i>0;i--);
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BoardConfig(0xb8); //关闭数码管、流水灯和电平转换
//dir
P4DIR |= BIT4; // P4.4 output
P4OUT &=~(BIT4); //p4.4 --0
P4DIR |= BIT0; // P4.0 output
P4OUT &=~(BIT0); //p4.0 --0
//默认的指令周期就是1/800 kHz=1.25μs。要得到lμs的指令周期需要调整DCO频率,即MCLK=1 MHz,只需进行如下设置:BCSCTLl=XT20FF+RSEL2
//单片机上电后,如果不对时钟系统进行设置,默认800 kHz的DCOCLK为MCLK和SMCLK的时钟源
Delay_us(6);
//P3DIR |= BIT4;
//cp
P4DIR |= BIT6; // P4.6 output
P4DIR |= BIT2; // P4.2 output
CCTL0 = CCIE; // CCR0 interrupt enabled
TBCCTL0 = CCIE;
CCR0=50;
TBCCR0=200;
TACTL = TASSEL_2 + MC_1; // SMCLK, upmode
TBCTL = TBSSEL_2 + MC_1; // SMCLK, upmode
// TACTL = TASSEL_1 + MC_2 + TAIE; // ACLK, contmode, interrupt
// P3DIR |= BIT4;
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P4OUT ^= BIT6; // Toggle P4.6
// P3OUT ^= BIT4; // Toggle P3.4
}
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B (void)
{
P4OUT ^= BIT2; // Toggle P4.2
// P3OUT ^= BIT4; // Toggle P3.4
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -