精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦硬件知識>鍵盤鼠標(biāo)>

      單機片矩陣鍵盤程序

      時間: 孫勝龍652 分享

        在大學(xué)時很多程序課都要求實現(xiàn)單機片矩陣鍵盤,那么小編在這通過計算法來實現(xiàn)單片機的4*4矩陣鍵盤,程序比較簡捷,供大家學(xué)習(xí)。

        unsigned char Keycan(void) //按鍵掃描程序 P1.0--P1.3為行線 P1.4--P1.7為列線

        {

        unsigned char rcode, ccode;

        P1 = 0xF0; // 發(fā)全0行掃描碼,列線輸入

        if((P1&0xF0) != 0xF0) // 若有鍵按下

        {

        delay();// 延時去抖動

        if((P1&0xF0) != 0xF0)

        { rcode = 0xFE; // 逐行掃描初值

        while((rcode&0x10) != 0)

        {

        P1 = rcode; // 輸出行掃描碼

        if((P1&0xF0) != 0xF0) // 本行有鍵按下

        {

        ccode = (P1&0xF0)|0x0F;

        do{;}while((P1&0xF0) != 0xF0); //等待鍵釋放

        return ((~rcode) + (~ccode)); // 返回鍵編碼

        }

        else

        rcode = (rcode<<1)|0x01; // 行掃描碼左移一位

        }

        }

        }

        return 0; // 無鍵按下,返回值為0

        }

        void KeyDispaly(unsigned char key)

        {

        switch(key)

        {

        case 0x11: display(0); break;

        case 0x21: display(1); break;

        case 0x41: display(2); break;

        case 0x81: display(3); break;

        case 0x12: display(4); break;

        case 0x22: display(5); break;

        case 0x42: display(6); break;

        case 0x82: display(7); break;

        case 0x14: display(8); break;

        case 0x24: display(9); break;

        case 0x44: display(10); break;

        case 0x84: display(11); break;

        case 0x18: display(12); break;

        case 0x28: display(13); break;

        case 0x48: display(14); break;

        case 0x88: display(15); break;

        default: break;

        }

        }

        如果Keyscan放在主函數(shù)里,得到按鍵編碼的變量,必須也放在主函數(shù)里。

      207765