kazuyin 发表于 2013-5-20 10:44:13

请教大家一个关于ch452按键次数的问题

按键用的是CH452,想要实现第一次按下某一个键时,在12864上显示一个字符,第二次按下时,显示另一个字符,部分程序如下:
switch(keycode)   //按键编码
   {
      case 0x52:                //某个按键按下时
            switch(pp)
             {
                  case 0:                                  //第一次按下这个键,在12864的第二行第一列显示一个字符
                        position(2,1);
                        write_12864(1,0x03);
                        break;
                case 1:
                        position(2,1);                  //第二次按下这个键,在12864的第二行第一列显示另外一个字符
                        write_12864(1,0x04);
                        break;
               default:break;
             }
      pp++;
      if(pp==2)    pp=0;
      break;
    default:
      break;
   }
我现在的问题是只能显示第一次按下时要显示的字符。第二次按下时,液晶上还是前面一次的字符,请大家帮忙看一下程序~~~

kazuyin 发表于 2013-5-20 11:13:54

没人么,自己顶!

sf49ers 发表于 2013-5-20 12:27:36

没用过CH452,感觉应该增加松手判断,pp若不松手不应再加1

switch(keycode)   //按键编码
    {
       case 0x52:                //某个按键按下时
      switch(pp)
            {
                  case 0:                                  //第一次按下这个键,在12864的第二行第一列显示一个字符
               case 1:
                default:break;
      }
       if(!key_forbid)      
       {   key_forbid=1;
            pp++;
            if(pp==2)    pp=0;
      }
    }
   break;
    case 00: key_forbid=0; break;
    default:       break;
    }
页: [1]
查看完整版本: 请教大家一个关于ch452按键次数的问题