51单片机 矩阵

unsigned char key()
{
    unsigned char keyNum;
    P1=0xFF;
    P1_7=0;
    if(P1_3==0){Delay(20);while(P1_3==0);Delay(20);keyNum=1;}
    if(P1_2==0){Delay(20);while(P1_2==0);Delay(20);keyNum=2;}
    if(P1_1==0){Delay(20);while(P1_1==0);Delay(20);keyNum=3;}
    if(P1_0==0){Delay(20);while(P1_0==0);Delay(20);keyNum=4;}
    
    P1_6=0;
    if(P1_3==0){Delay(20);while(P1_3==0);Delay(20);keyNum=5;}
    if(P1_2==0){Delay(20);while(P1_2==0);Delay(20);keyNum=6;}
    if(P1_1==0){Delay(20);while(P1_1==0);Delay(20);keyNum=7;}
    if(P1_0==0){Delay(20);while(P1_0==0);Delay(20);keyNum=8;}
        
    P1_5=0;
    if(P1_3==0){Delay(20);while(P1_3==0);Delay(20);keyNum=9;}
    if(P1_2==0){Delay(20);while(P1_2==0);Delay(20);keyNum=10;}
    if(P1_1==0){Delay(20);while(P1_1==0);Delay(20);keyNum=11;}
    if(P1_0==0){Delay(20);while(P1_0==0);Delay(20);keyNum=12;}
        
    P1_4=0;
    if(P1_3==0){Delay(20);while(P1_3==0);Delay(20);keyNum=13;}
    if(P1_2==0){Delay(20);while(P1_2==0);Delay(20);keyNum=14;}
    if(P1_1==0){Delay(20);while(P1_1==0);Delay(20);keyNum=15;}
    if(P1_0==0){Delay(20);while(P1_0==0);Delay(20);keyNum=16;}
        
    return keyNum;
}

你可能感兴趣的:(51,算法,单片机,嵌入式硬件,集成学习,深度学习,硬件工程)