MSP430处女作 按键点亮LED 【LaunchPad】

fxyc87   2011-9-20 11:19 楼主

//LED2受控于 用户按钮,按下灭,否则亮
#include "msp430g2231.h"
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR=0xff&(~BIT3);    //p1.3设为输入
  while(1){
    if((P1IN&BIT3)==BIT3)//如果拉低
      P1OUT|=BIT6;     //LED2亮
   else
      P1OUT=~BIT6;    //LED2灭
  }
}

…… 成功

努力学习中

[ 本帖最后由 fxyc87 于 2011-9-20 14:03 编辑 ]

回复评论 (23)

2推荐 David_Lee 

引用: 原帖由 fxyc87 于 2011-9-20 11:19 发表 //LED2受控于 用户按钮,按下灭,否则亮#include "msp430g2231.h"void main( void ){  // Stop watchdog timer to prevent time out reset  WDTCTL = WDTPW + WDTHOLD;  P1DIR=0xff&(~BIT3); &n ...

 

顶顶,加油。

点赞  2011-9-20 11:21

2推荐 pig163xx 

建议对程序修改如下
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;  // Stop WDT
  
  P1OUT |= BIT3;                      // Configure pullup resistor  
  P1DIR &= ~BIT3;                  // Direction = input
  P1REN |= BIT3;                     // Enable pullup resistor
  
  // Enable LEDs
  P1OUT &=  ~BIT6;
  P1DIR    |=    BIT6;
  
  while(1){
    if((P1IN&BIT3)==BIT3)                   //如果拉低
      P1OUT|=BIT6;                          //LED2亮
    else
            P1OUT&=~BIT6;                     //LED2灭
  }
}
点赞  2011-12-6 17:03

2推荐 David_Lee 

引用: 原帖由 fxyc87 于 2011-9-20 11:19 发表 //LED2受控于 用户按钮,按下灭,否则亮#include "msp430g2231.h"void main( void ){  // Stop watchdog timer to prevent time out reset  WDTCTL = WDTPW + WDTHOLD;  P1DIR=0xff&(~BIT3); &n ...

 

提两个建议吧:

1、P1DIR=0xff&(~BIT3);前面那个0xff&可以省略。

2、对于按键这种会有悬空输入的时候,别忘了开启上拉,P1REN |= 0x08;

点赞  2011-9-20 14:30

2推荐 ddllxxrr 

动作这么快,比我还快呢

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2011-9-20 12:47

2推荐 常见泽1 

支持下 加油
点赞  2011-9-20 11:32

引用: 原帖由 David_Lee 于 2011-9-20 14:30 发表   提两个建议吧: 1、P1DIR=0xff&(~BIT3);前面那个0xff&可以省略。 2、对于按键这种会有悬空输入的时候,别忘了开启上拉,P1REN |= 0x08;

 

谢谢,我拿到板后才开始学习这个单片机,不知道默认情况下P1DIR的值,

建议2,谢谢建议,学习了,开启上拉~   学习……

 

下了几个手册,没发现这个 P1REN  寄存器,呵,我以为设为输入时默认是上拉的呢?

[ 本帖最后由 fxyc87 于 2011-9-20 17:09 编辑 ]
点赞  2011-9-20 17:06
高手,俺是初学者。
点赞  2011-9-20 17:50

第一段代码,鼓励下!
点赞  2011-9-20 18:26

引用: 原帖由 fxyc87 于 2011-9-20 17:06 发表   谢谢,我拿到板后才开始学习这个单片机,不知道默认情况下P1DIR的值,建议2,谢谢建议,学习了,开启上拉~   学习……   下了几个手册,没发现这个 P1REN  寄存器,呵,我以为设为 ...

 

呵呵,我也是用你的代码对比TI的Example Code看到的。

点赞  2011-9-20 21:10
还没拿到板子呢?
点赞  2011-9-21 12:32
表示还没有收到啊
点赞  2011-9-21 13:15
不错,恭喜
点赞  2011-9-21 21:50

引用: 原帖由 David_Lee 于 2011-9-20 14:30 发表   提两个建议吧: 1、P1DIR=0xff&(~BIT3);前面那个0xff&可以省略。 2、对于按键这种会有悬空输入的时候,别忘了开启上拉,P1REN |= 0x08;

 

 

https://bbs.eeworld.com.cn/thread-289019-1-1.html  看此贴,好像上拉下拉只对输出有效~   输入好像本来就上拉的,不用设,刚特意用万用表测了一下,证明默认情况下,引脚是3.3V,高电平的,~呵~

点赞  2011-9-22 08:50
继续努力哦!
努力就有不清不楚的收获。
点赞  2011-9-22 20:33
呵呵,不错!
点赞  2011-9-23 09:15
if((P1IN&BIT3)==BIT3)//如果拉低
      P1OUT|=BIT6;
这应该是按下去量呀?我分析的为什么跟实际不一样?
点赞  2011-11-29 21:16

回复 楼主 fxyc87 的帖子

继续努力 路还很长
点赞  2011-11-30 20:18
哈,当初我第一次用430的时候也是玩的这个程序,自己也兴奋了下,因为老师曾经说过,一款单片机,只要会点灯了,你就算跑通了
我爱电子!
点赞  2011-11-30 22:58
加油!加油!
点赞  2011-12-5 19:26
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复