3408|4

82

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【求助】也是中断式按键 [复制链接]

不知道为什么,我的程序也是在没有按键的时候就直接进入中断程序。下面是我的一个很简单的程序,大家帮忙找找原因,多谢!
#include <msp430x44x.h>

void main(void)
{
int i;
WDTCTL=WDTPW+WDTHOLD; //停止看门狗
LCDCTL=LCDON+LCD4MUX+LCDP2; //液晶使用4MUX模式,使用S0~S27段
BTCTL=BTFRFQ1; //使用基本定时器提供液晶时钟
P5SEL=0xFC; //Common与Rxx都选
for(i=0;i<13;i++)
{
LCDMEM[i]=0x00;
}
P1DIR&=~BIT2; //P1.2 P1.5 P1.6为输入,外接KEY
P1DIR&=~BIT5;
P1DIR&=~BIT6;
P1IES&=BIT2+BIT5+BIT6; //下降沿触发
P1IE=BIT2+BIT5+BIT6; //P1.2 P1.5 P1.6中断使能
_EINT(); //允许中断
}

interrupt[PORT1_VECTOR] void LCD(void)
{
if(P1IFG&BIT2)
{
LCDMEM[0]=0x7F;
P1IFG&=~BIT2;
}
else if(P1IFG&BIT5)
{
LCDMEM[1]=0x7F;
P1IFG&=~BIT5;
}
else if(P1IFG&BIT6)
{
LCDMEM[2]=0x7F;
P1IFG&=~BIT6;
}
}

最新回复

我又检查过了,是硬件电路的问题。自动布线的PCB板没有把上拉电阻接上,不是软件的问题。 不过还是谢谢大家!  详情 回复 发表于 2004-8-12 12:37
 
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
改为下面试试:
P1IES &= ~(BIT2+BIT5+BIT6); //下降沿触发
P1IFG &= ~(BIT2+BIT5+BIT6);
P1IE = BIT2+BIT5+BIT6; //P1.2 P1.5 P1.6中断使能
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
可能是主函数里P1IFG &= ~(BIT2+BIT5+BIT6)这个语句的问题,我再检查检查。
多谢版主!
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

4
 
P1IES &= ~(BIT2+BIT5+BIT6); //下降沿触发
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
我又检查过了,是硬件电路的问题。自动布线的PCB板没有把上拉电阻接上,不是软件的问题。
不过还是谢谢大家!
 
 
 

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

随便看看
查找数据手册?

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-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表