【51单片机】矩阵键盘 线反转法程序

按照我们电子协会的接法:

 

  3/7 2/B 1/D 0/E
7/7 77 7B 7D 7E
6/B B7 BB BD BE
5/D D7 DB DD DE
4/E E7 EB ED EE
void display0(uchar temp){
        uchar k=0;
        switch(temp){
            case 0xe7:k=0;break;
            case 0xeb:k=1;break;
            case 0xed:k=2;break;
            case 0xee:k=3;break;
            case 0xd7:k=4;break;
            case 0xdb:k=5;break;
            case 0xdd:k=6;break;
            case 0xde:k=7;break;
            case 0xb7:k=8;break;
            case 0xbb:k=9;break;
            case 0xbd:k=10;break;
            case 0xbe:k=11;break;
            case 0x77:k=12;break;
            case 0x7b:k=13;break;
            case 0x7d:k=14;break;
            case 0x7e:k=15;break;
            default:k=0xff;
        }
        smg4 = 0;
        if(k == 0xff)
            P0 = 0xff;
        else
            P0 = table[k];
        delayms(5);
        smg4 = 1;
}
uchar keysscan(){
        uchar i,j;
        P1 = 0x0F;
        i = P1&0x0F;
        if(i != 0x0F){
            delayms(10);
            if(i != 0x0F){
                    i = P1&0x0F;
                    P1 = 0xF0;
                    j = P1&0xF0;
                    return (i+j);
            }
        }
        return 0xFF;
}

 

posted @ 2018-09-10 19:10  金舰  阅读(1006)  评论(0编辑  收藏  举报