📄 1.c
字号:
/******************************************************************
*
* 文件说明:
*
******************************************************************/
#include <MSP430x12x.h>
/*****************************************************************
* main()函数
*****************************************************************/
void main(void)
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // 停止看门狗定时器
P1DIR |= 0x01; // 设置 P1.1输出
P1SEL |= 0x01; // P1.1用作MCLK输出
//FLL_CTL1 = FLL_DIV0; // 设置 p1.5 输出频率
// 设置 FLL_CTL1 = 0x32;
//SCFQCTL =0x09; // 设置 SMCLK = ACLK * 10
// 设置 MCLK = ACLK * 10
//while(1); //空循环,供用户检测其输出频率
BCSCTL1 &= ~XT2OFF; //XT2有效
do
{
IFG1 &= ~OFIFG; //清除振荡器失效标志
for (i= 0xFF; i>0; i--); //稳定时间
}
while ((IFG1 & OFIFG) != 0); //如果振荡器失效标志存在
BCSCTL2 |= SELM1; //MCLK=XT2
for (;;);
}
//******************************************************************************
// MSP-FET430X110 Demo - Timer_A Toggle P1.0, CCR0 Contmode ISR, DCO SMCLK
//
// Description; Toggle P1.0 using using software and TA_0 ISR. Toggle rate is
// set at 50000 DCO/SMCLK cycles. Default DCO frequency used for TACLK.
// Durring the TA_0 ISR P0.1 is toggled and 50000 clock cycles are added to
// CCR0. TA_0 ISR is triggered exactly 50000 cycles. CPU is normally off and
// used only durring TA_ISR.
// ACLK = n/a, MCLK = SMCLK = TACLK = DCO~ 800k
//
//
// MSP430F1121
// ---------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.0|-->LED
//
// M. Buccini
// Texas Instruments, Inc
// October 2003
// Built with IAR Embedded Workbench Version: 2.20A
//******************************************************************************
#include <msp430x11x1.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
//修改这里,使用ACLK,就可以用32768
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
//修改这里改变脉冲宽度
CCR0 += 50000; // Add Offset to CCR0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -