登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看945|回2|收藏
楼主 ID:512576 只看他
2019-4-15 12:55
void key2()
{ static char st,i;
if(k2==0)
  {
  delay(30000);
   if(st==0)
        {
          if(k2==0)
            {
                  P2=1>>(8-i);
                  i++;
                  st=1;
                  if(i>=0)
                  {
                  i=0;
                  }
                }
        }

  }
  else
  {
   st=0;
  }
}
沙发 ID:487743 只看他
2019-4-15 15:13
有可能是你没提前声明右移函数
板凳 ID:213173 只看他
2019-4-15 15:44
#include <reg51.h>

sbit k2=P3^3;

void delay(unsigned int i)
{
        while(i--);
}

void key2()
{
        static bit st;
        if(k2==0)
        {
                delay(3000);
                if(k2==0 && st==0)
                {
                        st=1;
                        if(P2==0x00)
                                P2=0x7f;
                        else  P2=P2>>1;

                }
        }
        else st=0;
}

void main()
{
        while(1)
        {
                key2();
        }
}

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版