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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機常用按鍵電路

          單片機常用按鍵電路

          作者: 時間:2016-11-28 來源:網絡 收藏
          單片機組成的小系統(tǒng)中,有的需要人機交互功能,按鍵是最常見的輸入方式。最常見的按鍵電路大致有,一對一的直接連接和動態(tài)掃描的矩陣式連接兩種。

          一對一的直接連接就是一個按鍵直接對應一個CPU的輸入口,比如下圖

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



          左右兩個電路作用一樣,區(qū)別是左邊CPU的輸入端常態(tài)為高電位,按下按鍵時為低電位;右邊的常態(tài)為低電位,按下按鍵是高電位。

          這樣的電路簡單直接,一個按鍵獨占一個端口,在按鍵數(shù)量較少端口數(shù)量富裕時可以直接使用。但很多場合需要的按鍵數(shù)比較多,要盡量少地占用端口就必須使用矩陣式的按鍵鏈接。如下圖:



          圖中將按鍵按行列矩陣的方式排列,其中的每一行公用一根行線,每一列公用一根列線。以此圖為例,16個按鍵,按一對一方式連接的話需要16個端口,而按這樣的矩陣方式鏈接只需要8個端口,所需端口數(shù)大量減少。按鍵數(shù)Knum=line*row,而端口數(shù)Pnum=line+row,其中的line和row分別代表行數(shù)和列數(shù)。

          圖中的Px,Py為CPU的IO端口,在本例中可以使用不同的端口也可以使用同一個8位端口。上拉電阻不是必須,單片機IO口內部有上拉電路時此處就可省略。

          這個電路的工作原理是采用程序掃描的方式檢測某個按鍵狀態(tài)。比如將Px口的4位全置為低電平,這時如果沒有任何按鍵按下的話,從Py口讀回的4位應全為高,而如果有某一鍵按下,則對應按下鍵的那一列的位讀回值將為低。這樣就能知道按下鍵所在的列;接著確定按鍵所處行,把Py口的輸入值作為輸出,Px全部置高并讀取輸入,就能得到按鍵所在行位置,于是就確定了所按按鍵的行列位置。

          掃描可以有兩種實現(xiàn)的方法,一種是全行全列掃描,一種是逐行全列掃描。

          上面的例子其實就是全行全列掃描方式,見流程框圖。

          其特點是,一個流程就能到是否有按鍵按下,并能確定按下按檢測行列值,檢測步驟簡單迅速。但作為行列接口的Px,Py必須是雙向的,亦即同時具有輸入輸出功能,單片機的端口基本都能滿足。


          上一頁 1 2 下一頁

          關鍵詞: 單片機按鍵電

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();