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

          新聞中心

          矩陣式鍵盤掃描原理

          作者: 時(shí)間:2011-10-27 來源:網(wǎng)絡(luò) 收藏

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

            將鍵值顯示在七節(jié)顯示器上的單片機(jī)源碼。把每個(gè)都分成水平和垂直的兩端接入,比如說碼是從垂直的入,那就代表那一行所接收到的碼是同一個(gè)bit,而讀入掃描碼的則是水平,掃描的動(dòng)作是先輸入掃描碼,再去讀取輸入的值,比對(duì)之后就可知道是哪個(gè)鍵被按下。

            比如說掃描碼送入01111111,前面的0111是代表掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設(shè)VDD,若第一行的第三列按鍵被按下,那讀取的結(jié)果就會(huì)變成01111101(注意1111變成1101),其中LSB的第三個(gè)bit會(huì)由1變成0,這是因檎飧靄醇被按下之后,會(huì)被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即檣描。

            由於這種按鍵是機(jī)械式的開關(guān),當(dāng)按鍵被按下時(shí),鍵會(huì)震動(dòng)一小段時(shí)間才穩(wěn)定,榱吮苊餿8051誤判槎啻問淙臚一按鍵,我們必須在偵測(cè)到有按鍵被按下,就Delay一小段時(shí)間,使以達(dá)穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓的輸入穩(wěn)定。

            SCAN:

            MOV R3,#F7H ; 掃描初始值

            MOV R1,#00H ; 取碼指標(biāo)

            SCAN1:

            MOV A,R3 ; 開始掃描

            MOV P1,A ; 將掃描值輸出到 P1

            MOV A,P1 ; 讀入 P1 判斷是否有按下

            MOV R4,A ; 存到 R4, 判斷是否放開

            SETB C ; C=1

            MOV R5,#04H ; 掃描 P14~P17

            L1:

            RLC A ; 將按鍵值左移一位元

            JNC KEYIN ; 若 C=0, 有按, 執(zhí)行 KEYIN

            INC R1 ; 將指標(biāo)值加 1, 繼續(xù)掃描下一行

            DJNZ R5,L1 ; 掃描四行

            MOV A,R3 ; 載入掃描值

            SETB C ; C=1

            RRC A ; 掃描下一列(P13~P10)

            MOV R3,A ; 存回掃描值

            JC SCAN1 ; C=1, 尚未完成掃描

            RET ; 結(jié)束鍵盤掃描, 回到 Main Program

            KEYIN:

            MOV R7,#10 ; 消除彈跳

            D2:

            MOV R6,#248

            DJNZ R6,$

            DJNZ R7,D2

            D3:

            MOV A,P1 ; 讀入 P1

            XRL A,R4

            JZ D3

            MOV A,R1

            MOV DPTR,#TABLE

            MOVC A,@A+DPTR

            Table:

            db0c0h,0f9h,0a4h,0b0h,099h   ;0-4

            db   092h,082h,0f8h,080h,090h   ;5-9

            db   088h,083h,0a7h,0a1h,086h   ;A-E

            db   08eh            ;F

            end

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




          關(guān)鍵詞: 原理 掃描 鍵盤 矩陣式

          評(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); })();