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