3360|6

72

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

430按键 [复制链接]

求一个430独立按键程序,不用中断,查询就行

最新回复

https://bbs.eeworld.com.cn/viewthread.php?tid=342322  详情 回复 发表于 2012-7-30 16:51
 
点赞 关注

回复
举报

21

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

回复 楼主 sxy4517 的帖子

干什么用?
这方面程例非常多。随便找了一个。
//调试成功

#include "msp430x14x.h"
//按键按下,则P1.0状态取反

void main(void)
{
  sys_init();
  port_init();
   while(1)
   {
     while((P1IN&0xf0)==0xf0){};   // 等待有键按下
      delay(10000);           //软件去抖
      if((P1IN&0xf0)!=0xf0)     
      {        
         switch (P1IN&0xf0)      
          {
          case 0xe0:{          //S1键按下处理...
            P1OUT ^=BIT0;
                    }break;
          case 0xd0:{          //S2键按下处理...
            P1OUT ^=BIT0;
                    }break;
          case 0xb0:{          //S3键按下处理...
            P1OUT ^=BIT0;
                    }break;
          case 0x70:{          //S4键按下处理...
            P1OUT ^=BIT0;
                    }break;
          default:{
             P1OUT ^=BIT0;  
                    } break;
           }
       }
        
    }  
   
}

void sys_init()     //关看门狗,初始化DCO为8MHz
{
  WDTCTL=WDTPW+WDTHOLD;                 //关看门狗
  BCSCTL1 =RSEL0+RSEL1+RSEL2;//RSEL=7;                 //设定DCO为8MHZ
  DCOCTL =DCO0+DCO1+DCO2;//DCO1=7;         
}
void port_init()
{

//按键口
//  P1DIR &=BIT4+BIT5+BIT6+BIT7;       // 按键口设为输入
// P1SEL &= 0x0f;       //按键口用于普通I/O口
//L2
  P1DIR |=BIT0;        //L2为输出口
}
void delay(unsigned int t)
{
    unsigned int i,j;
    for(i=0;i       for(j=0;j<10;j++);
}
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
xie  xie
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 sxy4517 的帖子

// P1DIR &=BIT4+BIT5+BIT6+BIT7; // 按键口设为输入
   这句话是把低四位置低吧 为什么说是把安检口设置为输入呢
P1DIR &=BIT4+BIT5+BIT6+BIT7;等于P1DIR=P1DIR&0xf0;吧

[ 本帖最后由 sxy4517 于 2012-3-13 22:52 编辑 ]
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 sxy4517 的帖子

P1DIR &=BIT4+BIT5+BIT6+BIT7;等于P1DIR=P1DIR&0xf0;吧
对的
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼 lllhhheee 的帖子

您回答了一个对的是什么意思?
如果P1DIR &=BIT4+BIT5+BIT6+BIT7;等于P1DIR=P1DIR&0xf0;也就是说把P1口的低四位置0.不就是把低四位设置为输入了吗?那您的键盘程序可是扫描的高四位。
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(中级)

7
 

最简单的msp430独立按键程序

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表