//*******************************************************************************
//
D13x Demo - 在上一节基础上改变系统时钟,观察LED灯的闪烁频率
//
// 描述:通过改变系统时钟,来改变闪烁频率;通过 P1 异或
来取反 P1.5;软件循环延时
// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k
//
//
MSP430F13x
// -----------------
// /|\| XIN|-
// | | |
// --|RST
XOUT|-
// | |
// | P1.5|-->LED
//
// 时间:2007年10月
// www.goodmcu.cn
//
//
硬件电路:MSP430F135核心实验板-I型
// 硬件连接:
//
// 调试器:MSP430FET全系列JTAG仿真器
//
调试软件: IAR Embedded Workbench Version: 3.41A
编译
//******************************************************************************
#include <msp430x13x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
// 停止看门狗
P1DIR |= 0x20; // 设P1.5为输出口
//
BCSCTL1= 0x80; //分频电阻选择为0(此时闪烁频率较慢)
// BCSCTL1= 0x87; //分频电阻选择为7(此时闪烁频率较快)
// BCSCTL2=
0xc0;
//选择外部32768低频晶振作为MCLK(此时闪烁频率极慢)
// BCSCTL2= 0x10; //选择外部8M高频晶振作为MCLK(此时闪烁频率较快)
for (;;)
{
unsigned int i;
i = 50000; //
循环
do i--; while (i);
P1OUT ^= 0x20; // 通过异或取反P1.5
}
}