我编的这个程序,是用在STC89C52上面,目的是调整输入参数的数值,按下KeySet键后,将最后值返回。测试过程中,经常出现按KeySet键又回到初始值的情况,怎么解决?谢谢! 
 
 
u16 AdjCoor(u16 datv) 
 {  
             LcdInit(); 
          LcdWriteValue(0x84,datv); 
          while(KeySet!=0)  
     { 
            Lcd1602_Delay1ms(100); 
            if(KeyAdd!=1) 
              { 
                    Lcd1602_Delay1ms(20); 
                    datv++; 
                   } 
           if(KeyInc!=1) 
             { 
                Lcd1602_Delay1ms(20); 
                    --datv; 
             } 
                 if(KeyAdd!=1||KeyInc!=1) 
                  {  
                    LcdInit(); 
                LcdWriteValue(0x84,datv); 
              } 
     } 
                      while(KeyFunc!=0); 
                         Lcd1602_Delay1ms(20); 
                         return datv; 
 } |   
     
  
 |