<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)4×4矩陣鍵盤設(shè)計(jì)方案

          單片機(jī)4×4矩陣鍵盤設(shè)計(jì)方案

          作者: 時(shí)間:2011-10-26 來(lái)源:網(wǎng)絡(luò) 收藏
          7、C語(yǔ)言源程序

          本文引用地址:http://www.ex-cimer.com/article/172439.htm

            #include

            unsigned char code table[]={0x3f,0x66,0x7f,0x39,

            0x06,0x6d,0x6f,0x5e,

            0x5b,0x7d,0x77,0x79,

            0x4f,0x07,0x7c,0x71};

            void main(void)

            { unsigned char i,j,k,key;

            while(1)

            { P3=0xff; //給P3口置1//

            P3_4=0; //給P3.4這條線送入0//

            i=P3;

            i=i0x0f; //屏蔽低四位//

            if(i!=0x0f) //看是否有按鍵按下//

            { for(j=50;j>0;j--) //延時(shí)//

            for(k=200;k>0;k--);

            if(i!=0x0f) //再次判斷按鍵是否按下//

            { switch(i) //看是和P3.4相連的四個(gè)按鍵中的哪個(gè)//

            { case 0x0e:

            key=0;

            break;

            case 0x0d:

            key=1;

            break;

            case 0x0b:

            key=2;

            break;

            case 0x07:

            key=3;

            break;

            }

            P0=table[key]; //送數(shù)到P0口顯示//

            }

            }

            P3=0xff;

            P3_5=0; //讀P3.5這條線//

            i=P3;

            i=i0x0f; //屏蔽P3口的低四位//

            if(i!=0x0f) //讀P3.5這條線上看是否有按鍵按下//

            { for(j=50;j>0;j--) //延時(shí)//

            for(k=200;k>0;k--);

            i=P3; //再看是否有按鍵真的按下//

            i=i0x0f;

            if(i!=0x0f)

            { switch(i) //如果有,顯示相應(yīng)的按鍵//

            { case 0x0e:

            key=4;

            break;

            case 0x0d:

            key=5;

            break;

            case 0x0b:

            key=6;

            break;

            case 0x07:

            key=7;

            break;

            }

            P0=table[key]; //送入P0口顯示//

            }

            }

            P3=0xff;

            P3_6=0; //讀P3.6這條線上是否有按鍵按下//

            i=P3;

            i=i0x0f;

            if(i!=0x0f)

            { for(j=50;j>0;j--)

            for(k=200;k>0;k--);

            i=P3;

            i=i0x0f;

            if(i!=0x0f)

            { switch(i)

            { case 0x0e:

            key=8;

            break;

            case 0x0d:

            key=9;

            break;

            case 0x0b:

            key=10;

            break;

            case 0x07:

            key=11;

            break;

            }

            P0=table[key];

            }

            }

            P3=0xff;

            P3_7=0; //讀P3.7這條線上是否有按鍵按下//

            i=P3;

            i=i0x0f;

            if(i!=0x0f)

            { for(j=50;j>0;j--)

            for(k=200;k>0;k--);

            i=P3;

            i=i0x0f;

            if(i!=0x0f)

            { switch(i)

            { case 0x0e:

            key=12;

            break;

            case 0x0d:

            key=13;

            break;

            case 0x0b:

            key=14;

            break;

            case 0x07:

            key=15;

            break;

            }

            P0=table[key];

            }

            }

            }

            }

            8、注意事項(xiàng)

            在硬件電路中,要把8聯(lián)撥動(dòng)撥碼開關(guān)JP2撥下,把8聯(lián)撥動(dòng)撥碼開關(guān)JP3撥上去。

          DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理



          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();