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