[求助] 求助简单键盘控制LED灯

lih168518   2012-7-19 09:13 楼主
本人刚开始学430,然后写的一个p1.4-p1.7输入,p5.0-5.3输出,程序本身无语法错误,但是连上后没有效果,请大家帮忙看一下有什么问题?还有,硬件连接时上拉电阻怎么弄?谢了各位!


#include "msp430x14x.h"

void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR=0x0f;//shu ru
  P5DIR=0x0f;//shu chu
   while(1)
   {
      if((P1IN&BIT4)==BIT4)
        P5OUT&=~BIT0;
      else
        P5OUT|=BIT0;
       if((P1IN&BIT5)==BIT5)
        P5OUT&=~BIT1;
      else
        P5OUT|=BIT1;
      if((P1IN&BIT6)==BIT6)
        P5OUT&=~BIT2;
      else
        P5OUT|=BIT2;
   
      if((P1IN&BIT7)==BIT7)
        P5OUT&=~BIT3;
      else
        P5OUT|=BIT3;
     }

}

回复评论 (2)

没有反应可以是以下情况造成的:
IO输出翻转速率太高导致看不清
点赞  2012-7-20 01:03

回复 楼主 lih168518 的帖子

I/O输入配置上拉电阻,程序类似这样
  P1DIR = 0x01;                             // P1.0 output, else input
  P1OUT = 0x10;                             // P1.4 set, else reset
  P1REN |= 0x10;                            // P1.4 pullup

  while (1)                                 // Test P1.4
  {
    if (0x10 & P1IN) P1OUT |= 0x01;         // if P1.4 set, set P1.0
    else P1OUT &= ~0x01;                    // else reset
  }
点赞  2012-7-20 04:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复