按下按键,LCD为什么没有显示


#include<reg51.h>
unsigned char num='0';
void initlcd()
{
   writecmd(0x38);
   writecmd(0x0c);
   writecmd(0x06);
   writecmd(0x01);
}

void key_scan()
{
    unsigned char temp0,temp1,temp;
    P1=0xf0;
    if(P1!=0xf0)//有键按下
    {
        delay(20);
        temp0=P1;
        P1=0x0f;
        if(P1!=0x0f)
        {
            temp1=P1;
        }
    
    }
    temp=temp0+temp1;
    switch(temp)
    {
    case 0xee:num='A';break;
    case 0xed:num='B';break;
    case 0xeb:num='C';break;
    case 0xe7:num='D';break;
    case 0xde:num='E';break;
    case 0xdd:num='F';break;
    case 0xdb:num='G';break;
    case 0xd7:num='H';break;
    case 0xbe:num='I';break;
    case 0xbd:num='J';break;
    case 0xbb:num='K';break;
    case 0xb7:num='L';break;
    case 0x7e:num='M';break;
    case 0x7d:num='N';break;
    case 0x7b:num='O';break;
    case 0x77:num='P';break;
    
    }

}

void  LCD()
{
    initlcd();
    writecmd(0x82);
    writedat(num);
}
void main ()
{
while(1)
{
    void key_scan();
    void  LCD();
}
}


没仔细看函数实现,主程序的函数调用就有问题
while(1)
{
void key_scan();
void LCD();
}
调用函数要把那个void去掉,你加上void的话,这里只是个函数的声明而已,没有任何函数的调用,当然就没效果。