** 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; //异或,即使LED2由亮变灭,由灭变亮
P1OUT ^=BIT0; //异或,即使LED1由亮变灭,由灭变亮
__delay_cycles(8000000); //延时 8M*(1/16M)秒
}
}
}
下面视频是对应按键控制和现象。
LED切换点亮
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73754.html