MSP430单片机控制IO口操作-LED灯闪烁
2017-01-03 来源:eefocus
//*******************************************************************************
// D13x Demo - 在上一节基础上改变系统时钟,观察LED灯的闪烁频率
//
// 描述:通过改变系统时钟,来改变闪烁频率;通过 P1 异或 来取反 P1.5;软件循环延时
// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k
//
// MSP430F13x
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.5|-->LED
//
//
// 硬件电路:MSP430F135核心实验板-I型
// 硬件连接:
//
// 调试器:MSP430FET全系列JTAG仿真器
// 调试软件: IAR Embedded Workbench Version: 3.41A 编译
//******************************************************************************
#include
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
}
}