2638|3

3

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于MSP430F149的触摸按键的程序,求高手帮忙看看 [复制链接]

#include<msp430x14x.h>

#define Pad1_OUT_L P1DIR|=BIT3;P1OUT&=~BIT3      //将Pad1置为低电平的宏定义
#define Pad1_DIR_IN P1DIR&=~BIT3                 //将Pad1设置为输入状态的宏定义
#define Pad1_in  (P1IN&BIT3)                     //读回Pad1电平的宏定义

#define Pad2_OUT_L P1DIR|=BIT1;P1OUT&=~BIT1      //将Pad2置为低电平的宏定义
#define Pad2_DIR_IN P1DIR&=~BIT1                 //将Pad2设置为输入状态的宏定义
#define Pad2_in  (P1IN&BIT1)                     //读回Pad2电平的宏定义

unsigned char Pad1_BUFF[5];
int Pad_1= 0 ;


void TouchPad_Scan_Pad1()
{
  int i,j,Count;
  _BIC_SR(SCG0);
  Pad1_OUT_L;
  _NOP();
  Count = 0;
  Pad1_DIR_IN;
  while (Pad1_in == 0)
    Count ++;
  Pad1_BUFF[0] = Pad1_BUFF[1];
  Pad1_BUFF[1] = Pad1_BUFF[2];
  Pad1_BUFF[2] = Pad1_BUFF[3];
  Pad1_BUFF[3] = Pad1_BUFF[4];
  Pad1_BUFF[4] = Count;
  for (i=0;i<5;i++)
  {
    if (Pad1_BUFF<30)
      break;
  }
  for (j=0;j<5;j++)
  {
    if (Pad1_BUFF[j]>=30)
      break;
  }
  if (j == 4)
    Pad_1 = 0;
  else if (i == 4)
    Pad_1 = 1;
}
int Get_Pad1()
{
  return Pad_1;
}

 __interrupt void BT_ISR(void)
{
  int i;
  for (i=0;i<800;i++);
    TouchPad_Scan_Pad1();
  __low_power_mode_off_on_exit();

 

}

这个是Touch.c的程序。

下面是主程序的主循环部分:

  while(1)
    {
        delay_0(50);
        if (Get_Pad1())
        {
            m++ ;
            if (m == 0)
            Disp1Char(12,0,'0');
            if (m == 1)
            Disp1Char(12,0,'1');
            if (m == 2)
            Disp1Char(12,0,'2');
            if (m == 3)
            Disp1Char(12,0,'3');
            if (m == 4)
            Disp1Char(12,0,'4');
            if (m == 5)
            Disp1Char(12,0,'5');
            if (m == 6)
            Disp1Char(12,0,'6');
            Delay5ms();
        }
        else
           Disp1Char(12,0,'8');
}

运行该代码是就是直接显示6,触摸一次就显示8,怎么回事啊,求助啊~~~~~

最新回复

这句对指针的操作是不是有些问题 Pad1_BUFF  详情 回复 发表于 2012-5-30 10:14
 
点赞 关注

回复
举报

3

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
求高手回复啊~~~
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我用的是 #pragma vector =  TIMER0_A0_VECTOR  这个中断。。。
 
 
 

回复

5015

帖子

12

TA的资源

裸片初长成(初级)

4
 
这句对指针的操作是不是有些问题
Pad1_BUFF<30
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表