曹曉龍
【摘要】討論了一種用于單片機(jī)實(shí)驗(yàn)教學(xué)中有關(guān)矩陣式按鍵識別實(shí)驗(yàn)內(nèi)容的設(shè)計。通過設(shè)置從簡單到復(fù)雜的按鍵識別內(nèi)容,加深了學(xué)生對這一技術(shù)的理解。
【關(guān)鍵詞】單片機(jī)? 按鍵識別? 實(shí)驗(yàn)教學(xué)
【中圖分類號】G42 【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2019)19-0223-01
單片機(jī)的應(yīng)用早已滲透到了我們社會生產(chǎn)、生活的方方面面。例如在航海[1]、醫(yī)療[2]、智能家居[3]等方面都有其應(yīng)用。因此,了解單片機(jī)的原理并能掌握單片機(jī)系統(tǒng)的設(shè)計、開發(fā)一直是電子信息類及其相關(guān)專業(yè)學(xué)生學(xué)習(xí)的終極目標(biāo)[4]。
一、實(shí)驗(yàn)內(nèi)容的現(xiàn)狀
單片機(jī)是一門實(shí)踐性很強(qiáng)的課程。其主要內(nèi)容是在了解單片機(jī)主要構(gòu)成的基礎(chǔ)上,能夠結(jié)合其他外圍電路構(gòu)建控制系統(tǒng)。為了加強(qiáng)學(xué)生對單片機(jī)設(shè)計技術(shù)的掌握,實(shí)驗(yàn)環(huán)節(jié)在整個教學(xué)中占據(jù)了一定的比重。實(shí)驗(yàn)主要分為驗(yàn)證性及設(shè)計性兩種類型。驗(yàn)證性有具體的電路及程序,無需學(xué)生自行設(shè)計。而設(shè)計性需要學(xué)生在理解所學(xué)的內(nèi)容基礎(chǔ)上,設(shè)計電路并寫出驅(qū)動程序。驗(yàn)證性實(shí)驗(yàn)的設(shè)置是否得當(dāng),必將對學(xué)生的理解以及后期的設(shè)計產(chǎn)生很大影響。為此本文以單片機(jī)中“按鍵識別”的實(shí)驗(yàn)內(nèi)容設(shè)計為基礎(chǔ),討論一種可加深學(xué)生理解并掌握其實(shí)現(xiàn)原理的實(shí)驗(yàn)內(nèi)容設(shè)計。
二、按鍵識別當(dāng)前的實(shí)驗(yàn)內(nèi)容
單片機(jī)的按鍵識別原理實(shí)驗(yàn)的主要內(nèi)容是讓學(xué)生了解單片機(jī)與4×4矩陣式按鍵的電路原理圖以及程序設(shè)計的思想。大致需要學(xué)生了解的信息是:1)4×4的矩陣按鍵通過單片機(jī)的某個并口接入,并口的四位為一組,分別接入矩陣按鍵中的行和列。2)為了能夠識別按下的鍵,依次從第一行開始為低電平,檢測在這一行上是否存在某一列也為低電平,依行數(shù)與列數(shù)即可確定被按下的鍵。3)按鍵識別的消除抖動及鍵釋放問題。
實(shí)驗(yàn)中按鍵數(shù)量多,電路相對復(fù)雜,而用于識別的程序代碼也過長,對初次接觸單片機(jī)及匯編語言的學(xué)生而言,在理解整個過程及原理上存在一定的困難。多數(shù)都是在沒有搞清楚的情況下,為了完成實(shí)驗(yàn)內(nèi)容,直接畫出電路輸入代碼,觀看結(jié)果后,結(jié)束。缺乏自我分析及設(shè)計的能力。
三、按鍵識別實(shí)驗(yàn)內(nèi)容的設(shè)計
為了讓學(xué)生能夠充分理解實(shí)驗(yàn)原理中的每一個關(guān)鍵點(diǎn),可以按照如下的方法逐步引導(dǎo)學(xué)生理解并掌握這項(xiàng)技術(shù)。
1.單個按鍵識別
如圖1所示,第一個實(shí)驗(yàn)內(nèi)容是讓學(xué)生掌握識別是否有鍵按下,需要經(jīng)過的幾個步驟:1)將P2.0、P2.4分別設(shè)置為低、高電平。2)不斷對P2.4進(jìn)行檢測,為低則表示有鍵按下,否則繼續(xù)等待。3)消除抖動。4)識別按鍵并在數(shù)碼管上顯示。5)等待按鍵釋放。
可設(shè)置思考題讓學(xué)生進(jìn)行思考,本實(shí)驗(yàn)的原理圖及程序相對簡單容易理解,學(xué)生較容易掌握。
MAIN: MOV A,#0
MOV P1,A
D1:? ? ? CLR? ? P2.0
SETB? P2.4? ? ?;按鍵識別的準(zhǔn)備
JB? ? ? ?P2.4,S? ;等待鍵按下
ACALL DELAY;去除抖動
JB? ?P2.4,D1
ADD? A,#1
DA? ?A
MOV? P1,A? ;按鍵處理
JNB? P2.4,S? ;等待釋放
SJMP D1
DELAY:? ? ? ?MOV R0,#20
MOV R1,#248
D2:? ? ? ? ? ? ?DJNZ R1,S
DJNZ R0,D2
RET
END
2.單行兩列兩個按鍵識別
接下來的實(shí)驗(yàn)內(nèi)容可安排單行兩列兩個按鍵的識別。相比上一個實(shí)驗(yàn)內(nèi)容,有了行和列的概念,除了要判定是否有鍵按下外,還要對具體的按鍵進(jìn)行識別。是理解矩陣式按鍵的基礎(chǔ)。此處的關(guān)鍵是將P2.0設(shè)置為低,檢測P2.4、P2.5的值了。并根據(jù)具體是哪一位確定鍵值。
3.兩行兩列四個按鍵識別
實(shí)驗(yàn)內(nèi)容的第三步可以讓學(xué)生自行設(shè)計2行2列的按鍵識別系統(tǒng)。由此將驗(yàn)證性的實(shí)驗(yàn)過渡到了設(shè)計性的實(shí)驗(yàn),基于對前兩個實(shí)驗(yàn)的理解,學(xué)生已具備可以自行設(shè)計2×2矩陣式按鍵識別系統(tǒng)的能力。
四、結(jié)束語
本文討論一種在單片機(jī)教學(xué)中如何設(shè)置按鍵識別實(shí)驗(yàn)內(nèi)容的方法,為了使學(xué)生更好地掌握按鍵識別的原理及技術(shù)。在原有實(shí)驗(yàn)內(nèi)容的基礎(chǔ)上增加了從單個按鍵識別到多個按鍵識別的內(nèi)容。所設(shè)置的內(nèi)容簡單、易于理解和實(shí)現(xiàn)。從而提高了學(xué)生對這一技術(shù)的掌握程度。從實(shí)際的教學(xué)來看,取得了較好的教學(xué)效果。
參考文獻(xiàn):
[1]高淑芝,郎丹.基于 AT89C51 單片機(jī)的船舶柴油機(jī)冷卻水溫控制系統(tǒng)[J].沈陽化工大學(xué)學(xué)報.2018(32):182~186.
[2]沙益夫. 基于AT89C51單片機(jī)控制的動態(tài)血壓監(jiān)測系統(tǒng)設(shè)計[J].中國醫(yī)學(xué)裝備.2018(15):7~10
[3]鄧睿,楊夢遙,季蕾,華爽,張欣,姚袁夢,曹艷.基于 AT89C51 單片機(jī)的宿舍智能化多路控制開關(guān)設(shè)計[J].科技創(chuàng)新與應(yīng)用.2018(18):33~34.
[4]唐宏偉,唐杰,林立.地方本科院?!皢纹瑱C(jī)課程設(shè)計”教學(xué)改革探索[J].福建電腦.2017(07):82~83