我编的这个程序,是用在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;
} |