标题: [求助]有个问题想请教大家 [打印本页]

作者: xiaoluo1986    时间: 2009-10-29 22:36
标题: [求助]有个问题想请教大家

有个问题想请教大家,我是个刚初学单片机的;

一个按键有两个功能,正常延时10毫秒是一个功能,如果按住2秒又是一个功能,用C 51单片机应该怎样实现。

多谢大家。下列程序我就不好意思传上来,实在是菜了,请改正一下。多谢

  if(P0_3==0)
          {
              delay(10);
              if(P0_3==0)
              { 
                   if(P0_3==0)
                    {
                       delay(400);
                       delay(400);
                       
                       if(P0_3==0)
                         {
                               i++;
                              if(i==3)
                                i=0;
                         }
                     }
                   else
                     j++;
     
           }
           
                P3=table2[j];
               while(P0_3==0);

[此贴子已经被admin于2009-10-30 11:32:50编辑过]

作者: 校园踢踏舞    时间: 2009-10-30 16:10

if(P0_3==0)
 {
    delay(10);
     if(P0_3==0)
     {  
        if(P0_3==0)
        {
           delay(400);
           delay(400);         
            if(P0_3==0)
            {
               i++;
               if(i==3)
                 i=0;
              }

            else
            j++;
           }

  }


作者: 校园踢踏舞    时间: 2009-10-30 16:22

这样写会比较正规而且可行的。

 

temp=P0_3;   // 变量temp读取P0_3口的值

if(temp==0)
 {
    delay(10);
     if(temp==0)
     {

        delay(400);

        delay(400);

        if(temp==0)

        {

           i++;

        }  

        else

        {

            j++;

         }

      }

 }

 

if(i==3)

{

   i=0;

}


作者: xiaoluo1986    时间: 2009-10-30 21:26

多谢了,给小弟指点迷津了






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1