一个流水灯程序,不知错在哪里,请高手支招

2019-07-16 00:07发布

#include<reg52.h>
#define uchar unsigned char
uchar i=1;
main()
{ P0=0xff;
  EA=1;
  EX0=1;
  IT0=0;
  while(1);
}
voidINT0 () interrupt 0
{switch(i)
  { case 1:P0=0xfe;break;
    case 2:P0=0xfd;break;
    case 3:P0=0xfb;break;
    case 4:P0=0xf7;break;
    case 5:P0=0xef;break;
    case 6:P0=0xdf;break;
    case 7:P0=0xbf;break;
        case 8:P0=0x7f;break;
   }
   i++;
   if(i==9)
   {EA=0;EX0=0;}
  }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
叫个撒名啊
2019-07-16 07:25
从你的程序看先是开启中断总允许,然后是允许外部中断零,然后设置了外部中断低电平有效,然后无限循环,在循环过程中若有按键按下或是给予低电平则转入终端服务子程序,然后就是点亮流水灯,从程序上看貌似没撒问题,不知道你是不是给对了低电平,还有这个中断是INTO,也就是P3.2脚

评分

参与人数 1积分 +3 收起 理由 xiaoliu241 + 3 您的付出是论坛的动力,感谢您一直支持!.

查看全部评分

一周热门 更多>