在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        矩陣鍵盤(pán)控制forMSP430

        作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
        1. /*****************************************************************
        2. //文件名:Keypad.c
        3. //描述:該文件定義與矩陣鍵盤(pán)有關(guān)的各種接口、函數(shù),適用于MSP430F149
        4. //編寫(xiě)人:小邪@清水
        5. //版本號(hào):1.01
        6. *****************************************************************/
        7. #include
        8. #include"12864.h"
        9. ucharkeyPressed;//按鍵是否被按下:1--是,0--否
        10. ucharkeyval;//存放鍵值
        11. ucharkeyFlag;//按鍵是否已放開(kāi):1--是,0--否
        12. //設(shè)置鍵盤(pán)邏輯鍵值與程序計(jì)算鍵值的映射
        13. //12313(enter)
        14. //45614(up)
        15. //78915(down)
        16. //11(.)012(back)16(clear)
        17. ucharkey_Map[]={1,2,3,13,4,5,6,14,7,8,9,15,11,0,12,16};
        18. /*************************************************************************
        19. //名稱:InitKeypad
        20. //參數(shù):延時(shí)的時(shí)間n
        21. //返回值:無(wú)
        22. //功能:初始化矩陣鍵盤(pán)的IO口
        23. *************************************************************************/
        24. voidInitKeypad(void)
        25. {
        26. P1DIR=0xf0;//P1.0~P1.3設(shè)置為輸入狀態(tài),P1.4~P1.7設(shè)置為輸出狀態(tài)
        27. P1OUT|=0xf0;//P1.4~P1.7輸出高電平
        28. keyFlag=0;
        29. keyPressed=0;
        30. keyval=0;
        31. }
        32. /*************************************************************************
        33. //名稱:CheckKey
        34. //參數(shù):無(wú)
        35. //返回值:無(wú)
        36. //功能:掃描矩陣鍵盤(pán),獲取鍵值
        37. *************************************************************************/
        38. voidCheckKey(void)
        39. {
        40. ucharrow,col,tmp1,tmp2;
        41. tmp1=0x80;
        42. for(row=0;row<4;row++)//行掃描
        43. {
        44. P1OUT=0xf0;//P1.4~P1.7輸出全1
        45. P1OUT-=tmp1;//P1.4~p1.7輸出四位中有一個(gè)為0
        46. tmp1>>=1;
        47. if((P1IN&0x0f)<0x0f)//是否P1IN的P1.0~P1.3中有一位為0
        48. {
        49. tmp2=0x01;//tmp2用于檢測(cè)出那一位為0
        50. for(col=0;col<4;col++)//列檢測(cè)
        51. {
        52. if((P1IN&tmp2)==0x00)//是否是該列,等于0為是
        53. {
        54. keyval=key_Map[row*4+col];//獲取鍵值
        55. return;//退出循環(huán)
        56. }
        57. tmp2<<=1;//tmp2右移1位
        58. }
        59. }
        60. }
        61. }
        62. /*************************************************************************
        63. //名稱:delay
        64. //參數(shù):無(wú)
        65. //返回值:無(wú)
        66. //功能:延時(shí)15ms的時(shí)間,用于消抖
        67. *************************************************************************/
        68. voiddelay()
        69. {
        70. uinttmp;
        71. for(tmp=12000;tmp>0;tmp--);
        72. }
        73. /*************************************************************************
        74. //名稱:KeyEvent
        75. //參數(shù):無(wú)
        76. //返回值:無(wú)
        77. //功能:檢測(cè)按鍵,獲取鍵值
        78. *************************************************************************/
        79. voidKeyEvent(void)
        80. {
        81. uchartmp;
        82. P1OUT&=0x00;//設(shè)置P1OUT全為0,等待按鍵輸入
        83. tmp=P1IN;//獲取p1IN
        84. if((keyPressed==0x00)&&((tmp&0x0f)<0x0f))//如果有鍵按下
        85. {
        86. keyPressed=1;//如果有按鍵按下,設(shè)置keyPressed標(biāo)識(shí)
        87. delay();//消除抖動(dòng)
        88. CheckKey();//調(diào)用checkKey(),獲取鍵值
        89. }
        90. elseif((keyPressed==1)&&((tmp&0x0f)==0x0f))//如果按鍵已經(jīng)釋放
        91. {
        92. keyPressed=0;//清除keyPressed標(biāo)識(shí)
        93. keyFlag=1;//設(shè)置keyFlag標(biāo)識(shí)
        94. }
        95. else
        96. {
        97. keyval=17;
        98. }
        99. }

        100. 上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 矩陣鍵盤(pán)控制MSP43

        評(píng)論


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

        關(guān)閉