唐 敏 金京犬
(安徽郵電職業技術學院,安徽 合肥 230031)
基于項目化教學的鍵盤接口技術教學設計與實現
唐 敏 金京犬
(安徽郵電職業技術學院,安徽 合肥 230031)
單片機應用系統經常需要與外部設備數據通信,鍵盤作為單片機應用系統中常用必備的輸入設備,有很強的通用性。本文采用項目化教學方案設計,從獨立式按鍵設計、一鍵多功能按鍵設計、矩陣式按鍵設計以及中斷矩陣式按鍵設計四個方面開展鍵盤接口技術的教學設計與實現,以便讓學生可以較輕松容易的掌握鍵盤接口技術,以達到良好的教學效果。
單片機應用系統;鍵盤接口;獨立式按鍵;矩陣式按鍵
鍵盤由一組規則排列的按鍵組成,一個按鍵實際上是一個開關元件。單片機應用系統經常需要與外部設備數據通信,鍵盤作為單片機應用系統中常用必備的輸入設備。按照鍵盤結構原理分為觸點式開關按鍵和無觸點開關按鍵兩類,前者造價低,后者壽命長。按照接口原理可分為編碼鍵盤和非編碼鍵盤,編碼鍵盤主要是用硬件來實現對按鍵的識別,硬件結構復雜,非編碼鍵盤主要是由軟件來實現按鍵的定義與識別,硬件結構簡單,軟件編程量大。本文主要介紹單片機中常用的觸點式開關按鍵、非編碼鍵盤。單片機應用系統通常使用機械觸點式按鍵開關,其主要功能是把機械上的通斷轉換為電氣上的邏輯關系(1和O)。
機械式按鍵在按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩定下來。其抖動過程如圖1所示,抖動時間的長短與開關的機械特性有關,一般為5~10ms。若有抖動,按鍵按下會被錯誤地認為是多次操作,在做單片機應用系統設計時這種情況是不允許發生的。為了消除鍵盤抖動的影響,可以從軟件和硬件兩個方面采取措施,對于鍵盤數量較少的情況下,采用硬件去抖,對于鍵盤數量多的情況下,采用軟件編程思路去抖,在檢測到有按鍵時,執行10ms的延時程序,然后再次檢測是否有按鍵,去抖過程如圖2所示。

在單片機應用系統中,如果按鍵數量使用不多,大多數情況下采用獨立式按鍵處理,單片機應用系統與獨立式按鍵的典型接口電路如圖3所示,按下按鍵,對應的LED點亮。獨立式按鍵特點是每個按鍵都獨占一根I/O端口線,相互獨立,每個按鍵的任務不會影響到其他按鍵狀態。獨立式按鍵的電路配置靈活,軟件設計簡單實現。通常采用的做法是逐位查詢每根I/O端口線的輸入狀態,如果某一根I/O端口線的輸入為低電平,則確認該端口有按鍵按下,再轉該按鍵的處理程序。



一鍵多功能按鍵應用設計也是經常在我們身邊應用到的,例如空調上的一些模式按鈕。項目化教學過程中模擬了四種功能,在AT89S52單片機的P1端口接有四個發光二極管。上電的時候,接在P1.0管腳上的發光二極管D1在閃爍;當第一次按下按鍵的時候,接在P1.1管腳上的發光二極管D2在閃爍;再按下按鍵的時候,接在P1.2管腳上的發光二極管D3閃爍,再按下按鍵的時候,接在P1.3管腳上的發光二極管D4在閃爍,再按下按鍵的時候又輪到D1在閃爍了,如此輪流下去,電路圖如圖4所示。

對于要通過一個按鍵來識別每種不同的功能,設計思路是給每個不同的功能模塊用不同的ID號標識,這樣,每按下一次按鍵,ID的值是不相同的,所以單片機就很容易識別不同功能的身份了。

矩陣式鍵盤與獨立式鍵盤每個按鍵都占用一個I/O口線不同,矩陣式按鍵的結構通常由m行n列組成,按鍵位于行、列的交叉點上,行線和列線分別連接到按鍵的兩端,且行線通過上拉電阻接到+5V電源上。若使用按鍵較多時,采用矩陣式鍵盤特點是節省了單片機很多I/O端口資源。對于矩陣式按鍵教學設計采用常用的4×4結構,16個鍵分別對應O~9、A~F,對應的鍵按下在數碼管顯示相應的數字,電路圖如圖5所示。最常用的矩陣式鍵盤識別方法是編程掃描法。矩陣式鍵盤的教學難點一是要判斷是否有鍵按下,二是要判斷是那個鍵按下,得到相應的鍵碼值,然后轉向不同的功能程序。
(1)判斷是否有鍵按下的方法
①向所有的列輸出口線輸出低電平(不能為高電平,因為若為高電平,按鍵按下與否都不會引起行線電平的變化),然后將行線的電平狀態讀入。
②若無鍵按下,所有的行線仍保持高電平狀態;
③若有鍵按下,行線中至少應有一條線為低電平。
(2)按鍵識別的掃描方法
往列線上按順序一列一列的送出低電平。
①先送第O列為低電平,其他列為高電平,讀入的行的電平狀態就表明了第O列的4個鍵的情況,若讀入的行值全為高電平,則表示無鍵按下;
②再送第1列為低電平,其他列為高電平,讀入的行的電平狀態則顯示了該行上的4個按鍵的情況;
③依次輪流給各列送出低電平,直至4列全部送完,再從第O列開始,依此循環。


中斷矩陣式按鍵是在矩陣式按鍵的一個增強改進型設計,矩陣式按鍵無論是否按鍵,CPU都要一直掃描鍵盤,而單片機應用系統工作時,并非經常需要鍵盤輸入。因此,很多掃描工作是不必要的,浪費了CPU的時間。為了提高CPU的工作效率,可以采用中斷掃描工作方式。當沒有按鍵時,CPU工作自己的事情,當有按鍵時則通過中斷處理方式申請中斷處理,CPU轉去執行鍵盤掃描函數。中斷矩陣式按鍵電路相對于矩陣式按鍵電路來說只是添加一個與門電路連接到單片機的外部中斷0(P3.0),電路圖如圖6所示。當鍵盤無鍵按下時,與門各輸入端為高電平,保持輸出端為高電平;當有按鍵按下時,與門輸出為低電平,從而向CPU申請中斷。
本項目的教學實驗設計采用的硬件仿真環境是proteus軟件仿真,軟件環境為KeilC51,易教易學。筆者通過在高職院校的實際教學中采用項目化教學方法,使同學們較輕松的掌握了基本鍵盤接口技術原理及應用編程,收到了較好的教學效果。

[1]王靜霞.單片機應用技術[M].北京:電子工業出版社,2011.
[2]趙建領.51單片機開發與應用技術詳解[M].北京:電子工業出版社,2009.
[3]趙亮.跟我學51單片機(四)——獨立-矩陣鍵盤應用與設計[J].電子制作,2011,(4).
[4]陳銘.單片機矩陣式鍵盤的設計[J].工業控制計算機,2012,(1).
[5]曹彩萍,李鋼.基于單片機的鍵盤接口的設計與實現[J].電腦知識與技術,2006,(11).
ON THE TEACHING DESIGN AND IMPLEMENTATION OF KEYBOARD INTERFACE TECHNOLOGY BASED ON PROJECT TECHING
TANG Min JIN Jing-quan
(Anhui Post and Telecommunication College,Hefei Anhui 230031)
The application system of single chip microcomputers often needs external equipment for data communication and the keyboard is commonly used as a necessary input equipment with strong versatility.This paper is aimed at providing easier methods for students to master the technology of keyboard interfaces by using the project-oriented teaching scheme from four aspects of separate button designs,multi-function button designs with one button,matrix button designs and interrupted matrix button designs.
application system of MCU;keyboard interfaces;separate button;matrix button
TP3-O
A
1672-2868(2014)06-0029-05
責任編輯:陳 侃
2014-09-09
唐敏(1976-),女,安徽巢湖人。安徽郵電職業技術學院計算機系,講師,碩士。研究方向:嵌入式、物聯網技術。