帮一下初学者,积点德,呵呵,把number改成0或者1,你的端口是P3,比如P3 = 0 OR 1;按键接P1口
/*
按键扫描函数
*/
void key_handle()
{
KeyOut1 = 0;
KeyOut2 = 1;
KeyOut3 = 1;
KeyOut4 = 1;
if(KeyIn1 == 0)
{
delay_ms(10);
if(KeyIn1 == 0)
{
P0 = number[0];
}
}
if(KeyIn2 == 0)
{
delay_ms(10);
if(KeyIn2 == 0)
{
P0 = number[1];
}
}
if(KeyIn3 == 0)
{
delay_ms(10);
if(KeyIn3 == 0)
{
P0 = number[2];
}
}
if(KeyIn4 == 0)
{
delay_ms(10);
if(KeyIn4 == 0)
{
P0 = number[3];
}
}
while((KeyIn1 == 0)||(KeyIn2 == 0)||(KeyIn3 == 0)||(KeyIn4 == 0)); //第一组按键
/********************************************************/
KeyOut1 = 1;
KeyOut2 = 0;
KeyOut3 = 1;
KeyOut4 = 1;
if(KeyIn1 == 0)
{
delay_ms(10);
if(KeyIn1 == 0)
{
P0 = number[4];
}
}
if(KeyIn2 == 0)
{
delay_ms(10);
if(KeyIn2 == 0)
{
P0 = number[5];
}
}
if(KeyIn3 == 0)
{
delay_ms(10);
if(KeyIn3 == 0)
{
P0 = number[6];
}
}
if(KeyIn4 == 0)
{
delay_ms(10);
if(KeyIn4 == 0)
{
P0 = number[7];
}
}
while((KeyIn1 == 0)||(KeyIn2 == 0)||(KeyIn3 == 0)||(KeyIn4 == 0)); //第2组按键
/********************************************************/
KeyOut1 = 1;
KeyOut2 = 1;
KeyOut3 = 0;
KeyOut4 = 1;
if(KeyIn1 == 0)
{
delay_ms(10);
if(KeyIn1 == 0)
{
P0 = number[8];
}
}
if(KeyIn2 == 0)
{
delay_ms(10);
if(KeyIn2 == 0)
{
P0 = number[9];
}
}
if(KeyIn3 == 0)
{
delay_ms(10);
if(KeyIn3 == 0)
{
P0 = number[10];
}
}
if(KeyIn4 == 0)
{
delay_ms(10);
if(KeyIn4 == 0)
{
P0 = number[11];
}
}
while((KeyIn1 == 0)||(KeyIn2 == 0)||(KeyIn3 == 0)||(KeyIn4 == 0)); //第3组按键
/********************************************************/
KeyOut1 = 1;
KeyOut2 = 1;
KeyOut3 = 1;
KeyOut4 = 0;
if(KeyIn1 == 0)
{
delay_ms(10);
if(KeyIn1 == 0)
{
P0 = number[12];
}
}
if(KeyIn2 == 0)
{
delay_ms(10);
if(KeyIn2 == 0)
{
P0 = number[13];
}
}
if(KeyIn3 == 0)
{
delay_ms(10);
if(KeyIn3 == 0)
{
P0 = number[14];
}
}
if(KeyIn4 == 0)
{
delay_ms(10);
if(KeyIn4 == 0)
{
P0 = number[15];
}
}
while((KeyIn1 == 0)||(KeyIn2 == 0)||(KeyIn3 == 0)||(KeyIn4 == 0)); //第4组按键
/********************************************************/
}