怎么用一个按钮控制多种花样流水灯 ?

2019-07-15 22:06发布

本帖最后由 张绍能 于 2013-10-15 22:44 编辑

单片机怎么用一个按钮控制多种花样流水灯,只要一按就马上执行下一种花样?
用P3^2做按钮输入,按第一下执行第一种花样跑马灯程序,按第二下执行第二种花样跑马灯,……。P0,P1,P2口输出。一共有个18个输出口控制LED灯。大家帮我写一个这样的C程序,万分感谢!
void main(void)
  {
   EA=1;   //开放总中断
   EX0=1;  //允许使用外中断
   IT0=1;  //选择负跳变来触发外中断
x=0;

while(1)
   switch(x)
            {
              case 0:  rzmyy();
                      break;
      case 1:rzmzy();
                      break;
      case 2: P0=0xfb;
                      break;
      case 3: P0=0xf7;
                      break;            
            }
            }

/**************************************************************
函数功能:外中断T0的中断服务程序
**************************************************************/
void int0(void) interrupt 0 using 0 //外中断0的中断编号为0
{
  x++;  
  if(x==3)
   x=0;

}
为什么按完按钮后他还在执行case 1: 要等case 1执行完了才执行case 2.请大家帮帮忙。
分享到:

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。