新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 跟我學51單片機(四):獨立-矩陣鍵盤應用與設計

        跟我學51單片機(四):獨立-矩陣鍵盤應用與設計

        作者: 時間:2013-02-06 來源:網絡 收藏

        程序說明:

          (1)定義管腳。

          (2)將掃描時用到的管腳四種輸出電平狀態定義成一個數組。

          (3)按鍵掃描程序。

          (4)定義兩個臨時變量key,i。

          (5)讓鍵盤管腳的高四位輸出高電平,第四位為低電平,為掃描按鍵準備。

          (6)如果此時管腳狀態電平發生變化。

          (7)將之前定義的數組中的值賦予管腳,開始逐次掃描。

          (8)延時一段時間,去抖。

          (9)輸出掃描按鍵的電平。

          (10)再延時一段時間。

          (11)如果此時按鍵管腳電平依舊不是輸出的默認電平,表示有鍵按下。

          (12)延時一段時間,讓電平穩定。

          (13)讀取當前按鍵管腳電平,即鍵值。

          (14)等待按鍵抬起,死循環,如果按鍵一直按下則一直等待。

          (15)返回鍵值。

          四、調試要點與實驗現象

          接好硬件,通過冷啟動方式將程序所生成的。hex文件下載到單片機運行后,打開串口調試助手軟件,設置好波特率9600,復位單片機,然后按下板上的4×4按鍵中的任意一個,并注意觀串口調試助手上的顯示。(見圖3),可以觀察到在接收窗口有按鍵的數據顯示。

        跟我學51單片機(四):獨立-矩陣鍵盤應用與設計

        圖3 按鍵通過串口調試助手顯示界面

          此外,在本文所附的實驗程序中,其中與串口通信中調用了發送字符函數與發送字符串函數。在沒有仿真器和遇到需要顯示一些提示信息的時候,可以采用串口打印的方式,這樣不僅直觀方便而且不增加其他成本。

          五、總結

          本文介紹了單片機外接鍵盤的工作原理并給出了實例,通過該文,我們可以知道一個完善的鍵盤控制程序應具備以下功能:

          (1) 檢測有無按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機械觸點抖動的影響。

          (2) 有可靠的邏輯處理辦法。每次只處理一個按鍵,其間對任何按鍵的操作對系統不產生影響,且無論一次按鍵時間有多長,系統僅執行一次按鍵功能程序。

          (3) 準確輸出按鍵值(或鍵號),以滿足按鍵功能要求。對于而言,必須將行線、列線信號配合起來作適當處理,才能確定閉合鍵的位置。

          此外,按鍵的掃描方式有多種,本文中所述的是程序掃描方式,另外常見的還有定時掃描方式和中斷掃描方式,這些方式均可以在本學習板上實現,因此希望讀者結合前幾講的知識,自行進行程序的編寫與調試。下講將講述單片機動態驅動數碼管原理與實例,敬請期待。

        萬能遙控器相關文章:萬能遙控器代碼


        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵阳市| 观塘区| 中江县| 大石桥市| 阿拉善左旗| 汽车| 达拉特旗| 石屏县| 杭锦旗| 肥东县| 平凉市| 教育| 如东县| 仪征市| 余干县| 姜堰市| 图们市| 德安县| 阳城县| 调兵山市| 新竹市| 江永县| 蒲江县| 蕲春县| 平顺县| 岳池县| 茌平县| 珲春市| 金川县| 交口县| 广水市| 长治县| 徐闻县| 合水县| 曲沃县| 榆社县| 莲花县| 兴山县| 新安县| 苍溪县| 甘洛县|