新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 經典案例分享:兩種鍵盤掃描方法比較分析

        經典案例分享:兩種鍵盤掃描方法比較分析

        作者: 時間:2012-05-15 來源:網絡 收藏

        說到,相信大多數人第一反應就是行列矩陣掃描,這樣我們可以用相對有限的IO口得到盡可能多的按鍵。是單片機技術的一種基本處理方法,學校的單片機課程都會有相應章節進行闡述,只要按照課本上講述的方法,一般都能設計出比較可靠的電路與程序。

          課本上的鍵盤掃描方法(見下圖接法二)不能說是盡善盡美,從易懂性、成本、程序難易程度等方面綜合看應該是不錯的方法,給人感覺是已經沒有太多的改善空間,至少我是這么認為的。

          然而前段時間一位臺灣朋友畫給我的鍵盤掃描矩陣電路(見下圖接法二),讓我又一次看到到自己的思維還有許多地方被自己的所謂“經驗”束縛著。

          經典案例分享:兩種鍵盤掃描方法比較分析

          單純的從硬件接法看,兩種接法并沒有明顯區別,接法一甚至要復雜一些,但如果結合到鍵盤掃描的程序來看,就會發現接法一確實更好。

          兩種接法我都沒有把上拉電阻包含進來,來讓我們看一下兩種接法到底有什么不同:

          接法二:

          我們熟悉的傳統掃鍵處理電路,假定鍵盤行列IO口標號分別為H1/H2/H3和V1/V2/V3,掃鍵流程通常如下。

          2.1. H1設置為輸出,H2/H3和V1/V2/V3設置為輸入

          2.2. H1分別輸出1和0,讀V1/V2/V3狀態,如果Vy狀態與H1一致,則認為H1與Vy交叉位置的鍵按下

          2.3. H2設置為輸出,H1/H3和V1/V2/V3設置為輸入

          2.4. H2分別輸出1和0,讀V1/V2/V3狀態,如果Vy狀態與H2一致,則認為H2與Vy交叉位置的鍵按下

          2.5. H3設置為輸出,H1/H2和V1/V2/V3設置為輸入

          2.6. H3分別輸出1和0,讀V1/V2/V3狀態,如果Vy狀態與H3一致,則認為H3與Vy交叉位置的鍵按下

          接法一:

          新掃鍵處理電路,假定鍵盤行列IO口標號分別為H1/H2/H3和V1/V2/V3,掃鍵流程通常如下。

          1.1. H1/H2/H3和V1/V2/V3都設置為輸入

          1.2. 讀H1/H2/H3和V1/V2/V3狀態,如果Hx和Vy讀到的狀態均為0,則認為Hx與Vy交叉位置的鍵按下

          從上面流程可以看出接法一的程序


        上一頁 1 2 下一頁

        關鍵詞: 鍵盤掃描

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大安市| 庐江县| 廊坊市| 莱西市| 扎赉特旗| 文水县| 东源县| 昌黎县| 涟源市| 临洮县| 稷山县| 义乌市| 缙云县| 嘉禾县| 南乐县| 上思县| 辉县市| 永城市| 海盐县| 鸡西市| 喀什市| 阿拉善盟| 肃宁县| 琼结县| 西峡县| 阿鲁科尔沁旗| 孟津县| 滦平县| 宜宾县| 大同县| 徐闻县| 瓦房店市| 贞丰县| 长海县| 清远市| 邻水| 姚安县| 东丽区| 鸡西市| 铁岭市| 长宁区|