msp430g2553按键控制LED亮灭

实现每按一次button,LED输出翻转一次。
仿真如下:
每按一次P1.3的button,p1.6连的LED翻转一次;

代码说明:
每按一次button,触发一次引脚中断,执行一次 P1_3ISR() 中断函数

#include <msp430.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR = BIT6; //p1.0,p1.6外接LED为输出状态
P1OUT &= ~ BIT6;
P1REN |= BIT3; //pull up
P1OUT |= BIT3;
P1IE |= BIT3; //P1.3中断使能
P1IES |= BIT3; //P1.3下降沿有效
P1IFG &= ~BIT3; //P1.3中断标志位清零
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
}


// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=PORT1_VECTOR
__interrupt void P1_3ISR(void)
{
P1IFG &= ~BIT3;//中断标志位清零
P1OUT ^= BIT6;//P1.6状态翻转
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值