<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      51單片機--矩陣鍵盤

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-04-18
      這次我接著上次的說,講一下 復合按鍵和 矩陣鍵盤。

      先說矩陣鍵盤,因為我寫的組合鍵代碼是在矩陣鍵盤的基礎上寫的,當然在獨立按鍵上寫組合鍵更簡單一些。所以當你矩陣鍵盤的組合鍵會寫的時候,你在獨立按鍵上的組合鍵也就會寫了。

      矩陣鍵盤的檢測和獨立按鍵有很大的區別,但是究其本質還是一樣的。

      先看一下矩陣鍵盤的原理圖:


      矩陣鍵盤原理圖

      由于矩陣鍵盤中每一個按鍵的兩個接線口都是接在IO口上的,所以我們就必須在軟件里面控制單片機在每個獨立按鍵的兩端加上不同的電平。

      【注】:獨立按鍵很簡單,直接在一端接地就行了。

      從上面的原理圖中可以看出 P1 口的高四位控制 行,第四位控制 列;所以我們就可以寫 P1 = 0X0F 或者寫 P1 = 0XF0,這樣就實現了在每一個獨立按鍵兩端加上不同的電平。

      代碼編寫流程和獨立按鍵一樣,第一步要先檢測到按鍵按下,根據上面的原理圖,矩陣鍵盤檢測按鍵是否按下只要給 P1 口賦值 0X0F,然后檢測 P1 口的值是否還是 0X0F即可。

      之后就要消除抖動,消除抖動的方法還是一樣,延時一段時間即可,如圖:

      2.jpg

      單片機矩陣鍵盤消除抖動

      之后就判斷具體是哪個按鍵按下就行了。

      【注】矩陣鍵盤復雜就是復雜在這里。

      判斷到底是哪個按鍵按下的思路有兩種:

      1、逐行掃描

      逐行掃描就是說先掃描第一行中的哪個按鍵按下了,如果沒有再掃描第二行,看一下是不是第二行里的某個按鍵按下了,如果還沒有找到按下的那個按鍵,那么就繼續掃描第三行、第四行,知道找出哪個按鍵被按下了。這個代碼實現比較簡單,而且這種掃描方法不怎么常用,效率不高,所以這里我就不寫了。

      2、行列掃描

      行列掃描就是說先掃描所有的行,確定是哪一行的按鍵被按下了,之后再掃描所有的列,找出哪一列有按鍵被按下了,這樣只要掃描兩次就可以確定出到底是哪個按鍵被按下了。

      具體代碼實現如下:

      1、行掃描:

      3.jpg

      單片機矩陣鍵盤行掃描

      2、列掃描:

      4.jpg

      單片機矩陣鍵盤列掃描

      最后別忘了按鍵的松開檢測:

      5.jpg

      單片機矩陣鍵盤按鍵松開檢測

      這樣矩陣鍵盤的編寫就說完了,下面說組合鍵,寫第七篇的時候我給它起名字叫復合按鍵,現在覺得不太好,要不就叫組合鍵吧。

      組合鍵就是說當按住一個按鍵的同時再按另一個按鍵的時候,會有不同的效果。比如:Ctrl+C是復制、Shift+數字鍵可以敲出特殊字符等等。

      代碼編寫思路就是:當按住第一個按鍵的時候,只要這個按鍵不松開就一直檢測能夠和它組合的按鍵,根據按鍵的不同組合實現不同的效果。

      代碼如下:

      6.jpg

      單片機矩陣鍵盤組合鍵

      大家對照代碼仔細看一下就明白了。

      Tags:矩陣鍵盤,單片機  
      責任編輯:admin
    4. 上一篇文章:
    5. 下一篇文章: 沒有了
    6. 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 婷婷激情综合色五月久久| 日韩人妻无码一区二区三区综合部 | 激情综合婷婷丁香五月蜜桃| 婷婷久久香蕉五月综合| 久久91精品综合国产首页| 亚洲综合成人网在线观看| 狠狠色丁香婷婷综合久久片| 亚洲中文字幕无码久久综合网| 亚洲国产精品综合久久网各| 色先锋资源久久综合5566| 婷婷四房综合激情五月在线| 色婷婷99综合久久久精品| 99久久国产综合精品swag| 一本一道久久综合狠狠老| 亚洲欧美成人综合久久久| 久久综合狠狠色综合伊人| 国产成人亚洲综合在线| 国产成人亚洲综合网站不卡| 亚洲色欲久久久综合网东京热 | 狠狠色丁香婷婷久久综合| 伊人久久综合无码成人网| 色天天综合色天天看| 麻豆久久婷婷五月综合国产| 亚洲综合久久成人69| 亚洲综合丁香婷婷六月香| 久热综合在线亚洲精品| 伊人久久大香线蕉综合电影网| 一本色道久久88综合日韩精品 | 亚洲AV综合色区无码一区 | 国产综合无码一区二区色蜜蜜| 亚洲国产精品综合福利专区| 色综合久久久久综合体桃花网| 色噜噜狠狠狠综合曰曰曰| 国产亚洲综合网曝门系列| 亚洲综合一区二区精品导航| 一本久久知道综合久久| 亚洲一本综合久久| 亚州AV综合色区无码一区| 国产色产综合色产在线观看视频| 色综合伊人色综合网站| 亚洲AV综合色区无码一区|