Пробовал так
Код: Выделить всё
unsigned char buf[];
void input_code()
{
for(int i=0;i<4;i++)
{
Key=ScanKeyb();
if(Key!=KeyOld) {KeyOld=Key;
switch(Key)
{case 0x0B:buf[i]="0";LcdStr(FONT_1X,"0");LcdUpdate();break;
case 0x0C:buf[i]="1";LcdStr(FONT_1X,"1");LcdUpdate();break;
case 0x08:buf[i]="2";LcdStr(FONT_1X,"2");LcdUpdate();break;
case 0x04:buf[i]="3";LcdStr(FONT_1X,"3");LcdUpdate();break;
case 0x0D:buf[i]="4"; LcdStr(FONT_1X,"4");LcdUpdate();break;
case 0x09:buf[i]="5"; LcdStr(FONT_1X,"5");LcdUpdate();break;
case 0x05:buf[i]="6";LcdStr(FONT_1X,"6");LcdUpdate();break;
case 0x0E: buf[i]="7";LcdStr(FONT_1X,"7");LcdUpdate();break;
case 0x0A: buf[i]="8";LcdStr(FONT_1X,"8");LcdUpdate();break;
case 0x06: buf[i]="9";LcdStr(FONT_1X,"9");LcdUpdate();break;
case 0x0F:LcdStr(FONT_1X,buf);LcdUpdate();break;
case 0x07:LcdClear();LcdUpdate();break;}
}
else Key=0XFF;i=i--;
}


