唐 敏 金京犬
(安徽郵電職業(yè)技術(shù)學(xué)院,安徽 合肥 230031)
基于項目化教學(xué)的鍵盤接口技術(shù)教學(xué)設(shè)計與實現(xiàn)
唐 敏 金京犬
(安徽郵電職業(yè)技術(shù)學(xué)院,安徽 合肥 230031)
單片機應(yīng)用系統(tǒng)經(jīng)常需要與外部設(shè)備數(shù)據(jù)通信,鍵盤作為單片機應(yīng)用系統(tǒng)中常用必備的輸入設(shè)備,有很強的通用性。本文采用項目化教學(xué)方案設(shè)計,從獨立式按鍵設(shè)計、一鍵多功能按鍵設(shè)計、矩陣式按鍵設(shè)計以及中斷矩陣式按鍵設(shè)計四個方面開展鍵盤接口技術(shù)的教學(xué)設(shè)計與實現(xiàn),以便讓學(xué)生可以較輕松容易的掌握鍵盤接口技術(shù),以達到良好的教學(xué)效果。
單片機應(yīng)用系統(tǒng);鍵盤接口;獨立式按鍵;矩陣式按鍵
鍵盤由一組規(guī)則排列的按鍵組成,一個按鍵實際上是一個開關(guān)元件。單片機應(yīng)用系統(tǒng)經(jīng)常需要與外部設(shè)備數(shù)據(jù)通信,鍵盤作為單片機應(yīng)用系統(tǒng)中常用必備的輸入設(shè)備。按照鍵盤結(jié)構(gòu)原理分為觸點式開關(guān)按鍵和無觸點開關(guān)按鍵兩類,前者造價低,后者壽命長。按照接口原理可分為編碼鍵盤和非編碼鍵盤,編碼鍵盤主要是用硬件來實現(xiàn)對按鍵的識別,硬件結(jié)構(gòu)復(fù)雜,非編碼鍵盤主要是由軟件來實現(xiàn)按鍵的定義與識別,硬件結(jié)構(gòu)簡單,軟件編程量大。本文主要介紹單片機中常用的觸點式開關(guān)按鍵、非編碼鍵盤。單片機應(yīng)用系統(tǒng)通常使用機械觸點式按鍵開關(guān),其主要功能是把機械上的通斷轉(zhuǎn)換為電氣上的邏輯關(guān)系(1和O)。
機械式按鍵在按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如圖1所示,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為5~10ms。若有抖動,按鍵按下會被錯誤地認(rèn)為是多次操作,在做單片機應(yīng)用系統(tǒng)設(shè)計時這種情況是不允許發(fā)生的。為了消除鍵盤抖動的影響,可以從軟件和硬件兩個方面采取措施,對于鍵盤數(shù)量較少的情況下,采用硬件去抖,對于鍵盤數(shù)量多的情況下,采用軟件編程思路去抖,在檢測到有按鍵時,執(zhí)行10ms的延時程序,然后再次檢測是否有按鍵,去抖過程如圖2所示。
在單片機應(yīng)用系統(tǒng)中,如果按鍵數(shù)量使用不多,大多數(shù)情況下采用獨立式按鍵處理,單片機應(yīng)用系統(tǒng)與獨立式按鍵的典型接口電路如圖3所示,按下按鍵,對應(yīng)的LED點亮。獨立式按鍵特點是每個按鍵都獨占一根I/O端口線,相互獨立,每個按鍵的任務(wù)不會影響到其他按鍵狀態(tài)。獨立式按鍵的電路配置靈活,軟件設(shè)計簡單實現(xiàn)。通常采用的做法是逐位查詢每根I/O端口線的輸入狀態(tài),如果某一根I/O端口線的輸入為低電平,則確認(rèn)該端口有按鍵按下,再轉(zhuǎn)該按鍵的處理程序。
一鍵多功能按鍵應(yīng)用設(shè)計也是經(jīng)常在我們身邊應(yīng)用到的,例如空調(diào)上的一些模式按鈕。項目化教學(xué)過程中模擬了四種功能,在AT89S52單片機的P1端口接有四個發(fā)光二極管。上電的時候,接在P1.0管腳上的發(fā)光二極管D1在閃爍;當(dāng)?shù)谝淮伟聪掳存I的時候,接在P1.1管腳上的發(fā)光二極管D2在閃爍;再按下按鍵的時候,接在P1.2管腳上的發(fā)光二極管D3閃爍,再按下按鍵的時候,接在P1.3管腳上的發(fā)光二極管D4在閃爍,再按下按鍵的時候又輪到D1在閃爍了,如此輪流下去,電路圖如圖4所示。
對于要通過一個按鍵來識別每種不同的功能,設(shè)計思路是給每個不同的功能模塊用不同的ID號標(biāo)識,這樣,每按下一次按鍵,ID的值是不相同的,所以單片機就很容易識別不同功能的身份了。
矩陣式鍵盤與獨立式鍵盤每個按鍵都占用一個I/O口線不同,矩陣式按鍵的結(jié)構(gòu)通常由m行n列組成,按鍵位于行、列的交叉點上,行線和列線分別連接到按鍵的兩端,且行線通過上拉電阻接到+5V電源上。若使用按鍵較多時,采用矩陣式鍵盤特點是節(jié)省了單片機很多I/O端口資源。對于矩陣式按鍵教學(xué)設(shè)計采用常用的4×4結(jié)構(gòu),16個鍵分別對應(yīng)O~9、A~F,對應(yīng)的鍵按下在數(shù)碼管顯示相應(yīng)的數(shù)字,電路圖如圖5所示。最常用的矩陣式鍵盤識別方法是編程掃描法。矩陣式鍵盤的教學(xué)難點一是要判斷是否有鍵按下,二是要判斷是那個鍵按下,得到相應(yīng)的鍵碼值,然后轉(zhuǎn)向不同的功能程序。
(1)判斷是否有鍵按下的方法
①向所有的列輸出口線輸出低電平(不能為高電平,因為若為高電平,按鍵按下與否都不會引起行線電平的變化),然后將行線的電平狀態(tài)讀入。
②若無鍵按下,所有的行線仍保持高電平狀態(tài);
③若有鍵按下,行線中至少應(yīng)有一條線為低電平。
(2)按鍵識別的掃描方法
往列線上按順序一列一列的送出低電平。
①先送第O列為低電平,其他列為高電平,讀入的行的電平狀態(tài)就表明了第O列的4個鍵的情況,若讀入的行值全為高電平,則表示無鍵按下;
②再送第1列為低電平,其他列為高電平,讀入的行的電平狀態(tài)則顯示了該行上的4個按鍵的情況;
③依次輪流給各列送出低電平,直至4列全部送完,再從第O列開始,依此循環(huán)。
中斷矩陣式按鍵是在矩陣式按鍵的一個增強改進型設(shè)計,矩陣式按鍵無論是否按鍵,CPU都要一直掃描鍵盤,而單片機應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入。因此,很多掃描工作是不必要的,浪費了CPU的時間。為了提高CPU的工作效率,可以采用中斷掃描工作方式。當(dāng)沒有按鍵時,CPU工作自己的事情,當(dāng)有按鍵時則通過中斷處理方式申請中斷處理,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描函數(shù)。中斷矩陣式按鍵電路相對于矩陣式按鍵電路來說只是添加一個與門電路連接到單片機的外部中斷0(P3.0),電路圖如圖6所示。當(dāng)鍵盤無鍵按下時,與門各輸入端為高電平,保持輸出端為高電平;當(dāng)有按鍵按下時,與門輸出為低電平,從而向CPU申請中斷。
本項目的教學(xué)實驗設(shè)計采用的硬件仿真環(huán)境是proteus軟件仿真,軟件環(huán)境為KeilC51,易教易學(xué)。筆者通過在高職院校的實際教學(xué)中采用項目化教學(xué)方法,使同學(xué)們較輕松的掌握了基本鍵盤接口技術(shù)原理及應(yīng)用編程,收到了較好的教學(xué)效果。
[1]王靜霞.單片機應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2011.
[2]趙建領(lǐng).51單片機開發(fā)與應(yīng)用技術(shù)詳解[M].北京:電子工業(yè)出版社,2009.
[3]趙亮.跟我學(xué)51單片機(四)——獨立-矩陣鍵盤應(yīng)用與設(shè)計[J].電子制作,2011,(4).
[4]陳銘.單片機矩陣式鍵盤的設(shè)計[J].工業(yè)控制計算機,2012,(1).
[5]曹彩萍,李鋼.基于單片機的鍵盤接口的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),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
責(zé)任編輯:陳 侃
2014-09-09
唐敏(1976-),女,安徽巢湖人。安徽郵電職業(yè)技術(shù)學(xué)院計算機系,講師,碩士。研究方向:嵌入式、物聯(lián)網(wǎng)技術(shù)。