求大神看看这个msp430的终端程序

2019-03-24 14:04发布

/*采用2*3键盘中的key0来实现键盘引起的中断程序,以此来验证中断*/
#include<msp430x54x.h> void sys_init()    //初始化
{
  P1DIR &=0XFE;   //p1.0为输入
  P1OUT |=BIT0;   //p1.0输出高电平
  P1REN |=BIT0;   //p1.0带上拉电阻
  P1IES =BIT0;   //p1.0中断触发为下降沿
  P1IE =0X01;      //p1.0的中断允许打开
  P1IFG &=~0X01;    //p1.0中断标志位清零
 
  P2DIR |=0X01;  //p2.0为输出
  P2OUT=0X00;    //p2输出低电平
}
//延时程序
void delay(unsigned int j){
  unsigned int i;
  for(i=2;i>0;i--){
    for(;j>0;j--)
      __no_operation();}
} //主程序
void main()
{
  WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
  sys_init();          //调用初始化函数
  _EINT();
   
  while(1);
 
}  
//中断
#pragma vector=PORT1_VECTOR
__interrupt void port1_down(void)
{
  if((P1IFG&BIT0)==BIT0)      //
{
    //处理P1IN.0中断
    P1IE=0X00;
    P1IFG &= ~BIT0; //清除中断标志
    P2OUT=0X01;     //p2.0输出高电平
    delay(10);
   
     for(;;){
        if((P1OUT&0X0F)==0X0F)
      break;
    }
   
    P2OUT=0X00;
    P1OUT |=0X01;
    P1IE =0X01;
   
} }   仿真的结果是全速运行时不行,单步调试时p1iv能跳变为02hp1ifg.0之谓1,可就是跳不进中断处理程序。望有大神能知道知道,或许程序问题,或者是仿真调试问题。。。。大家多多发表意见吧!!! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
elulis
2019-03-24 16:28
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章