51單片機教程:矩陣式鍵盤接口技術及程序設計

2021-01-09 電子產品世界

在單片機系統中鍵盤中按鈕數量較多時,為了減少I/O口的佔用,常常將按鈕排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個埠(如P1口)就能組成4*4=16個按鈕,比之直接將埠線用於鍵盤多出了一倍,而且線數越多,區別越明顯,比如再多加一條線就能組成20鍵的鍵盤,而直接用埠線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數比較多時,採用矩陣法來做鍵盤是合理的。

本文引用地址:http://www.eepw.com.cn/article/171064.htm


單片機矩陣式鍵盤接口技術及編程接口圖>

矩陣式結構的鍵盤顯然比直接法要複雜一些,識別也要複雜一些,上圖中,列線通過電阻接正電源,並將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當按鈕沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態就可得知是否有鍵按下了。具體的識別及編程辦法如下所述。

矩陣式鍵盤的按鈕識別辦法

確定矩陣式鍵盤上何鍵被按下介紹一種「行掃描法」。

行掃描法 行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鈕識別辦法,如上圖所示鍵盤,介紹過程如下。

判斷鍵盤中有無鍵按下 將全部行線Y0-Y3置低電平,然後檢測列線的狀態。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位於低電平線與4根行線相交叉的4個按鈕之中。若所有列線均為高電平,則鍵盤中無鍵按下。

判斷閉合鍵所在的位置 在確認有鍵按下後,即可進入確定具體閉合鍵的過程。其辦法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平後,再逐行檢測各列線的電平狀態。若某列為低,則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鈕。

下面給出一個具體的例程:

圖仍如上所示。8031單片機的P1口用作鍵盤I/O口,鍵盤的列線接到P1口的低4位,鍵盤的行線接到P1口的高4位。列線P1.0-P1.3分別接有4個上拉電阻到正電源+5V,並把列線P1.0-P1.3設置為輸入線,行線P1.4-P.17設置為輸出線。4根行線和4根列線形成16個相交點。

檢測當前是否有鍵被按下。檢測的辦法是P1.4-P1.7輸出全「0」,讀取P1.0-P1.3的狀態,若P1.0-P1.3為全「1」,則無鍵閉合,不然有鍵閉合。

DIY機械鍵盤相關社區:機械鍵盤DIY


相關焦點

  • 跟我學51單片機(四):獨立-矩陣鍵盤應用與設計
    上講介紹並應用了單片機的串口通信,並給出了實例。從這一講開始將介紹單片機的外圍電路。這講向大家介紹單片機外接鍵盤電路,通過該講,讀者可以掌握單片機外接鍵盤的工作原理從而實現電路與程序設計。
  • 單片機4×4矩陣鍵盤設計方案
    1、設計原理本文引用地址:http://www.eepw.com.cn/article/172439.htm  (1)如圖14.2所示,用單片機的並行口P3連接4×4矩陣鍵盤,並以單片機的P3.0-P3.3各管腳作輸入線,以單片機的P3.4-
  • 基於51單片機的異步串行接口鍵盤設計
    筆者結合工作實際,圍繞單片機89C51設計了通用異步串行接口鍵盤作為顯示分系統的擴展鍵盤。目的在於為顯示分系統增加一種幹預手段。實踐表明:此鍵盤改善了系統的人機界面,提高了系統的處理效率。1 設計要求與工作原理1.1 設計要求 (1)擴展鍵盤鍵位編碼符合顯示分系統的約定。
  • 51單片機對矩陣鍵盤實現16個按鍵操作的設計
    矩陣鍵盤是單片機外部設備中所使用的排布類似於矩陣的鍵盤組。矩陣式結構的鍵盤顯然比直接法要複雜一些,識別也要複雜一些,列線通過電阻接正電源,並將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。矩陣鍵盤的優點是節約單片機IO口,例如普通鍵盤8個IO口只能用作8個按鍵,而矩陣鍵盤能作16個按鍵。
  • 51單片機系統與標準PC鍵盤的接口模塊設計
    概述 在單片機系統中,當輸入按鍵較多時,在硬體設計和軟體編程之間總存在著矛盾。對於不同的單片機系統需要進行專用的鍵盤硬體設計和編程調試,通用性差,使項目開發複雜化。標準PC鍵盤在工藝與技術上都已相當成熟,而且工作穩定,價格低廉。
  • 基於51單片機的兩路溫度控制器的設計方案
    本方案設計的實現基於C51單片機的兩路溫度控制器,做到成本最低化,精確度高,兩路溫度的顯示和控制,能在溫度超出設定的最高溫度時啟動電風扇進行降溫,在溫度低於設定的最低溫度時啟動蜂鳴器報警,能夠用戶設定最高最低溫。  2.系統結構  溫度控制器系統包括以下幾個主要部分:溫度傳感器,報警電路,LED顯示電路,鍵盤控制,89C51控制部分。
  • 單片機4x4矩陣鍵盤掃描程序
    4x4  矩陣鍵盤  掃描程序 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2017111335900.html 推薦閱讀 51單片機學習實踐:用NTC
  • 基於proteus的51單片機開發實例24-矩陣鍵盤(行列式鍵盤)
    基於proteus的51單片機開發實例24-矩陣鍵盤1.1.(行列式鍵盤)的電路設計、編程實現。設計思路我們在前面已經學習過獨立按鍵,在獨立按鍵電路中,一個按鍵連接單片機的一位I/O埠。這樣通過檢測I/O的狀態就能很方便的識別該按鍵是否按下。這種電路的優點是:電路簡單,程序簡單,缺點是一個按鍵就要佔用一個I/O口。
  • 51單片機之4位數加法計算器的設計報告
    本設計採用AT89C52單片機作為主要核心部件,附以上電復位電路,時鐘電路及按鍵調時電路組成。數字鐘已成為人們日常生活中: 必不可少的必需品, 廣泛用於個人家庭以及車站、 碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便。 由於數字集成電路技術的發展和採用了先進的石英技術,使數字鐘具有走時準確、性 能穩定、攜帶方便等優點,它還用於計時、自動報時及自動控制等各個領域。
  • 51單片機矩陣鍵盤與8051連接設計
    眾所周知,51單片機一般的鍵盤檢測原理為非編碼鍵盤檢測,沒有專門用來產生鍵編碼號或鍵值的電路晶片;而我們使用的電腦鍵盤為編碼鍵盤,通過編碼電路晶片為每個按鍵產生一個編碼號,可以通過串行總線把鍵值傳輸給電腦。
  • 單片機系統鍵盤的設計小結
    這種鍵盤易於使用,但硬體比較複雜,對於主機任務繁重之情況,採用8279可編程鍵盤管理接口晶片構成編碼式鍵盤系統是很實用的方案。 非編碼鍵盤:只簡單地提供鍵盤的行列與矩陣,其他操作如鍵的識別,決定按鍵的讀數等僅靠軟體完成,故硬體較為簡單,但佔用CPU較多時間。有:獨立式按鍵結構、矩陣式按鍵結構。
  • 如何使用通用單片機製作MIDI鍵盤
    隨著計算機技術的發展,音效卡已經成為普通計算機的標準設備,通過音效卡的MIDI接口,可以連接各種各樣的MIDI設備。連上專供輸入的MIDI鍵盤,再配上相應的軟體,計算機就可以完成電子琴的功能,甚至可以進行電子音樂的製作。由於 MIDI自身的特點,它形成的音樂易於進行後期製作,越來越為廣大音樂工作者所喜愛,而MIDI鍵盤作為輸入最有效的工具,也越來越普及。
  • 單片機 4*4 矩陣鍵盤應用
    在單片機按鍵使用過程中,當鍵盤中按鍵數量較多時 為了減少埠的佔用通常將按鍵排列成矩陣 形式如下圖所示,在矩陣式鍵盤中 每條水平線和垂直線在交叉處不直接連通而是通過一個按鍵加以連接,到底這樣做是出意何種目的呢?
  • 串行接口鍵盤控制器SK5278在單片機系統中的應用
    SK5278是一種可管理16個按鍵的鍵盤控制器,該器件內部具有去抖動處理電路,可直接輸出按鍵的鍵值編碼,並採用串行方式與單片機或微處理器進行接口,使用該器件可簡化單片機系統軟硬體的鍵盤接口。
  • Proteus軟體仿真與Keil的51單片機系統設計
    1 概述  隨著半導體技術的飛速發展,以及移動通信、網絡技術、多媒體技術在嵌入式系統設計中的應用,單片機從4位、8位、16位到32位,其發展歷程一直受到廣大電子愛好者的極大關注。
  • 基於單片機的應用於視頻監控的矩陣切換器設計
    根據視頻監控系統對矩陣切換器的基本要求,設計了基於單片機的32×8視頻矩陣切換器。文中詳細論述了其接口電路設計,最後給出了由此矩陣切換器組成的視頻監控系統實例。
  • AVR單片機驅動無源蜂鳴器C程序
    程序中實現單一頻率的周期性提示音。程序採用單任務方式,軟體延時。這種通過電平的快速跳變來實現模擬量效果的技術,稱為脈衝寬度調製,簡稱PWM。定時器大多數單片機的定時器都可以輸出PWM波,外設豐富的AVR單片機自然不例外。上一講提到定時器0有四種工作模式,後兩種就是快速PWM模式與相位修正PWM模式。在快速PWM模式中,TCNT0寄存器的動作與普通模式相同,但還可以把OCR0A作為上限。
  • MCS_51單片機與8255A的接口設計
    所謂可編程的接口晶片是指其功能可由微處理機的指令來加以改變的接口晶片,利用編程的方法,可以使一個接口晶片執行不同的接口功能。目前,各生產廠家已提供了很多系列的可編程接口,MCS-51單片機常用的兩種接口晶片是8255以及8155。本文引用地址:http://www.eepw.com.cn/article/170507.htm8255和MCS-51相連,可以為外設提供三個8位的I/O埠:A口、B口和C口,三個埠的功能完全由編程來決定。
  • 4×4矩陣式鍵盤識別技術
    把「單片機系統「區域中的P3.0-P3.7埠用8芯排線連接到「4X4行列式鍵盤」區域中的C1-C4 R1-R4埠上;(2. 把「單片機系統」區域中的P0.0/AD0-P0.7/AD7埠用8芯排線連接到「四路靜態數碼顯示模塊」區域中的任一個a-h埠上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。4.
  • 基於AT89C51單片機的十進位計算器系統設計
    AT89C51 單片機進行的十進位計算器系統設計,可以完成計算器的鍵盤輸入,進行加、減、乘、除4 位無符號數字的簡單四則運算,並在LED 上相應的顯示結果。硬體方面從功能考慮,首先選擇內部存儲資源豐富的AT89C51 單片機,輸入採用4×4 矩陣鍵盤。顯示採用4 位7 段共陽極LED 動態顯示。軟體方面從分析計算器功能、流程圖設計,再到程序的編寫進行系統設計。  引言  本系統採用AT89C51 單片機作為控制器,用來實現實現四位數的「+」,「-」,「*」,「/」運算,運算結果通過數碼管顯示,並具有有清零功能。