【新手】求教MSP-EXP430F5529LP开发板按键操作LED灯的使用

2019-07-15 07:44发布

这是我的程序,希望可以用P2.1按键控制红 {MOD}灯,用P1.1按键来控制绿 {MOD}灯。按下按键改变灯的状态。但是程序运行后按下按键无反应,灯始终为灭;使用单步调试,发现始终都无法进入if循环,无论是按键按下还是不按下。
如果有朋友知道,还请赐教。


#include <msp430.h>

void delay(unsigned int xms)
{
    unsigned int i,j;
    for(i=xms;i>0;i--)        
        for(j=1200;j>0;j--);
}

int main(void)
{
        WDTCTL = WDTPW + WDTHOLD;        // stop watchdog timer

        P1DIR |= BIT0;  //P1.0左灯设为输出
        P4DIR |= BIT7;  //P4.7右灯设为输出
        P1DIR |= ~BIT1; //设置P1.1为输入
        P2DIR |= ~BIT1; //设置P2.1为输入

        P1OUT &= ~BIT0;//熄灭P1.0
        P4OUT &= ~BIT7;//熄灭P4.7  俩都改低。

        while(1)
        {
          if(P1IN&BIT1)//判断P1.1
          {
              delay(10);//消除抖动
              if(P1IN&BIT1)//判断P1.1
              {
                  while(P1IN&BIT1);//p1.1摁下
                P4OUT ^= BIT7;      //灯反转
              }
          }

          if(P2IN&BIT1)//判断P2.1
          {
                    delay(10);//消除抖动
                    if(P2IN&BIT1)//判断P1.1
                    {
                        while(P2IN&BIT1);//p1.1摁下
                            P1OUT ^= BIT0; //灯反转
                    }
           }

        }
       
        return 0;
}



0条回答

一周热门 更多>