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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機上的幾種按鍵輸入實現(xiàn)方法

          單片機上的幾種按鍵輸入實現(xiàn)方法

          作者: 時間:2012-07-10 來源:網(wǎng)絡(luò) 收藏

          2、多向

          現(xiàn)在的手持設(shè)備越來越流行,人們也越來越多地接觸到多向,如手機上的
          五向?qū)Ш芥I、MP3 上的撥動開關(guān)等,都是類似的按鍵設(shè)備。它們有一個共同的特點,
          就是一個可以輸出若干個方向上的信號,以供控制器識別。多向集成按鍵如下
          圖:

          點擊瀏覽下一頁
          點擊瀏覽下一頁



          1)五向按鍵
          五向按鍵我們基本上每天都在用,只要你掏出MP3、手機就可以看到它的身影,
          也許有人會感覺到它的神奇,這里就為你揭開它的秘密。
          五向按鍵其實就是把5 個傳統(tǒng)按鍵進行了集成,把它們分別安排在上、下、左、
          右、中五個方向上,從而就構(gòu)成了五向鍵。當某一方向的按鍵導(dǎo)通時,IO 上就可以
          感應(yīng)相應(yīng)的電平,從而對其方向加以識別。五向應(yīng)用示意圖如下:

          點擊瀏覽下一頁



          從上圖中可以到五向鍵的使用方法其實與傳統(tǒng)按鍵中的直接按鍵是一樣的。

          2)撥輪按鍵

          撥輪按鍵在產(chǎn)品中經(jīng)常用來作音量調(diào)節(jié)、項目選擇等。其原理與五向鍵相類似,
          不同的是,撥輪按鍵中集成了左、右、中三個方向按鍵,按鍵與改為了撥動方式,從
          而更適合于使用者的使用習(xí)慣。應(yīng)用示意圖如下:

          點擊瀏覽下一頁

          在SiriuS 開發(fā)板上五向按鍵與撥輪按鍵的使用如下圖:

          點擊瀏覽下一頁


          3、模擬按鍵

          上面介紹的方式都是采用數(shù)字信號來進行按鍵識別的,它的缺點就是需要
          較多的IO,同時按鍵的數(shù)量也有限。而這里要介紹的采用模擬信號對按鍵進行識別的
          方法則可以節(jié)省IO,而按鍵的擴展也十分方便。當然,它的實現(xiàn)需要相應(yīng)的硬件(數(shù)
          模轉(zhuǎn)換器)支持。

          原理其實非常簡單,在串接的等值電阻間接上按鍵,按鍵另一端接到地。這
          樣某兩個電阻間因按鍵接通而接到地時,在模數(shù)轉(zhuǎn)換器的輸入端會得到不同的電壓值,
          這些電壓值依次為1/2 VCC、2/3VCC……,按照這些電壓值就可以識別出所按下的按鍵。
          按鍵的最大數(shù)量起決于模數(shù)轉(zhuǎn)換器的精度。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 單片機 按鍵輸入 集成按鍵

          評論


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