打印

按键中断问题

[复制链接]
1065|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangjinlili|  楼主 | 2013-9-21 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
源码如下:
#include <msp430x14x.h>
void main( void )
{  
  P1DIR = 0Xff;P1OUT = 0Xff;
  P2DIR = 0XFF;P2OUT = 0XFF;
  P3DIR = 0XFF;P3OUT = 0XFF;
  P4DIR = 0XFF;P4OUT = 0XFF;
  P5DIR = 0XFF;P5OUT = 0XFF;
  P6DIR = 0XFF;P6OUT = 0Xff;
  WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗
  P1IES = 0x0f;               // P1.0~P1.3选择下降沿中断
  P1IE  = 0x0f;               // 打开中断使能
  P1DIR =0x00;               //设置P1.0~P.3为输入状态,P.7为输出
  P1OUT = 0;
  _EINT();                    //打开全局中断控制位
  while(1);
}
#pragma vector=PORT1_VECTOR
__interrupt void  PORT1_ISR(void)
{
  unsigned int tmp;
  P2OUT=0x00;
   for(tmp = 12000;tmp > 0;tmp--);
   P1IFG=0;

}

相关帖子

沙发
wangjinlili|  楼主 | 2013-9-21 21:33 | 只看该作者
P1DIR = 0Xff;P1OUT = 0Xff;  初始化IO口时加了这一句 不按按键也直接进中断了,去掉这一句中断又正常了,这是为什么?

使用特权

评论回复
板凳
meishizhaoshi| | 2013-9-21 21:58 | 只看该作者
把上拉加上吧

使用特权

评论回复
地板
firstblood| | 2013-9-23 23:43 | 只看该作者
这个需要将IO口的相关寄存器的都涉及到的

使用特权

评论回复
5
东成西就407| | 2013-9-24 12:15 | 只看该作者
能给个完整的看下吗,最近也很是头疼这个问题。

使用特权

评论回复
6
dirtwillfly| | 2013-9-24 13:51 | 只看该作者
不知道楼主的P1引脚的外部电路是什么样的,可能有关系。
msp430的IO口是CMOS型,当IO处于输入状态时,是高阻态,如果没有外部电路,会因附近电场而随机感应出中间电平。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

1374

帖子

0

粉丝