[转]MSP430单片机控制IO口操作-LED灯闪烁

//*******************************************************************************
// 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
}
}

posted @ 2012-08-18 15:41  sky1991  阅读(447)  评论(0编辑  收藏  举报