亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識 > 鍵盤鼠標 > C語言矩陣鍵盤程序

      C語言矩陣鍵盤程序

      時間: 孫勝龍652 分享

      C語言矩陣鍵盤程序

        大家在大學(xué)學(xué)習(xí)單機片時,老師都會要求大家自己設(shè)計矩陣鍵盤程序,于是,小編在此為廣大學(xué)生寫了一段最容易理解的矩陣鍵盤程序哦(C語言),希望能幫到大家。

        #define uchar unsigned char

        uchar temp;

        void delay(uchar x)

        {

        uchar y,z;

        for(y=x;y>0;y--)

        for(z=125;z>0;z--)

        ;

        }

        uchar keyscan()

        {

        P3=0xfe;

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        delay(5);

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        temp=P3;

        switch(temp)

        {

        case 0xee:num=1;

        break;

        case 0xde:num=2;

        break;

        case 0xbe:num=3;

        break;

        case 0x7e:num=4;

        break;

        }

        while(temp!=0xf0)

        {

        temp=P3;

        temp=temp&0xf0;

        }

        }

        }

        P3=0xfd;

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        delay(5);

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        temp=P3;

        switch(temp)

        {

        case 0xed:num=5;

        break;

        case 0xdd:num=6;

        break;

        case 0xbd:num=7;

        break;

        case 0x7d:num=8;

        break;

        }

        while(temp!=0xf0)

        {

        temp=P3;

        temp=temp&0xf0;

        }

        }

        }

        P3=0xfb;

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        delay(5);

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        temp=P3;

        switch(temp)

        {

        case 0xeb:num=9;

        break;

        case 0xdb:num=10;

        break;

        case 0xbb:num=11;

        break;

        case 0x7b:num=12;

        break;

        }

        while(temp!=0xf0)

        {

        temp=P3;

        temp=temp&0xf0;

        }

        }

        }

        P3=0xf7;

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        delay(5);

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)

        {

        temp=P3;

        switch(temp)

        {

        case 0xe7:num=13;

        break;

        case 0xd7:num=14;

        break;

        case 0xb7:num=15;

        break;

        case 0x77:num=16;

        break;

        }

        while(temp!=0xf0)

        {

        temp=P3;

        temp=temp&0xf0;

        }

        }

        }

        return num;

        }

      207788