# MSP430G2553切换点亮LED
这是我第一次发博客,若有不规范,希望大家指出。最近初学MSP430G2553,和大家一起分享学习中遇到的问题和学习成果。今天和大家分享的是一段通过按键P1.3循环切换点亮两个板子上的LED。
#include <msp430.h>
/*
* main.c
*/
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P1DIR |=BIT6; //LED2——P1.6设为输出
P1OUT &=~BIT6; //初始化P1.6为低电平,LED2灭
P1DIR |=BIT0; //LED1——P1.0设为输出
P1OUT |=BIT0; //初始化P1.0为低电平,LED1亮
P1DIR &=~BIT3; //按键——P1.3设为输入
P1REN |=BIT3; //Enable internal pull-up resistor
P1OUT |=BIT3; //Set pull-up resistor for P1.3
while(1)
{
if((P1IN&BIT3)==0)
{
DCOCTL = CALDCO_16MHZ; //设置MCLK频率为16MHZ
BCSCTL1 = CALBC1_16MHZ;
P1OUT ^=BIT6;
P1OUT ^=BIT0;
__delay_cycles(8000000); //延时 8M*(1/16M)秒
}
}
}
下面视频是对应按键控制和现象。
LED切换点亮