劉春雅
摘 要: 本文以基于單片機的電子密碼鎖設(shè)計為例,介紹了項目教學(xué)法在單片機教學(xué)中的應(yīng)用。
關(guān)鍵詞: 單片機 電子密碼鎖 教學(xué)應(yīng)用
引言
單片機是計算機發(fā)展的一個分支領(lǐng)域,它誕生時就以體積小、功能強、可靠性高等優(yōu)點迅速地應(yīng)用于自動化控制領(lǐng)域,并逐步取代傳統(tǒng)控制系統(tǒng)。它是從事家用電器、儀器儀表、機電控制等領(lǐng)域工作的技術(shù)人員必須掌握的技術(shù)。單片機的學(xué)習(xí)要比一般的編程困難,主要原因在于完成一個單片機系統(tǒng),不僅要掌握編程技術(shù),而且要知道如何針對不同的應(yīng)用場合選擇適合的方案和器件,以及用軟件控制這些器件工作。
在單片機課程教學(xué)中,針對現(xiàn)代高職學(xué)生的特點,不能采用本科那種以知識體系傳授為主的教學(xué)方法,而是側(cè)重學(xué)生單片機應(yīng)用能力的培養(yǎng)和訓(xùn)練。本文以單片機控制的電子密碼鎖設(shè)計為例,介紹了項目教學(xué)法在單片機課程中的應(yīng)用。
1.單元目標(biāo)
通過電子密碼鎖的設(shè)計項目訓(xùn)練,學(xué)生實現(xiàn)以下目標(biāo),如表1所示:
表1 項目訓(xùn)練目標(biāo)
2.項目訓(xùn)練過程設(shè)計
2.1明確訓(xùn)練任務(wù)
訓(xùn)練要求學(xué)生設(shè)計基于單片機的電子密碼鎖,具體要求如下:
(1)通過鍵盤輸入密碼,如果輸入密碼正確,則將鎖打開;(2)顯示器采用LED數(shù)碼管;(3)如果密碼輸入錯誤,顯示器將出現(xiàn)錯誤提示;(4)如果密碼輸入錯誤次數(shù)超過三次,蜂鳴器報警并且將鍵盤鎖定。
2.2劃分軟硬件功能
單片機系統(tǒng)由軟件和硬件兩部分組成。在應(yīng)用系統(tǒng)中,有些功能既可由硬件實現(xiàn),又可用軟件完成。硬件的使用可以提高系統(tǒng)實時性和可靠性;使用軟件實現(xiàn)可以降低系統(tǒng)成本,簡化硬件結(jié)構(gòu)。因此在總體考慮時,必須綜合分析以上因素,合理地制定硬件和軟件任務(wù)的比例。劃分軟硬件功能進一步將學(xué)生任務(wù)具體化。
根據(jù)控制要求劃分控制系統(tǒng)軟、硬件功能分別如下:硬件電路設(shè)計主要包括鍵盤電路設(shè)計,LED顯示電路設(shè)計,開鎖電路設(shè)計和報警電路設(shè)計;軟件的設(shè)計主要包括鍵盤鍵值的讀取,LED顯示程序,密碼比較程序和報警程序。
2.3硬件電路設(shè)計
2.3.1鍵盤電路設(shè)計
選用行列式鍵盤,減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,一般都采用這樣的方法。其原理如圖1所示:
圖1 矩陣鍵盤
如圖1所示,4條行線與4條列線的交叉處互不相通,而是通過一個按鍵連通,利用這種行列式矩陣結(jié)構(gòu)只需要4條行線和4條列線,即可組成具有4×4個按鍵的矩陣鍵盤。鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有鍵按下后,下一步就要識別按下的是哪一個按鍵。
密碼鎖鍵盤具體的功能設(shè)計如表2所示:
表2 按鍵功能
2.3.2LED顯示電路設(shè)計
密碼鎖的顯示選用串行顯示方式,僅用單片機的一個串行口,利用74LS247驅(qū)動數(shù)碼管發(fā)光顯示數(shù)碼,用74LS138控制位選信號,實現(xiàn)單片機的顯示功能,顯示電路的原理圖如圖2所示。
圖2 LED顯示電路
2.3.3開鎖電路設(shè)計與仿真
用發(fā)光二極管的亮、滅表示是否開鎖成功,其仿真電路圖如圖3所示。當(dāng)P2.0口輸出為低電平時,二極管發(fā)光,表示開鎖成功,否則開鎖失敗。
圖3 開鎖電路
2.3.4報警電路設(shè)計與仿真
圖4 報警電路
報警模塊主要由蜂鳴器組成。設(shè)計選用壓電式蜂鳴器,壓電式蜂鳴器在工作時需要約100mA的驅(qū)動電流。當(dāng)89C51的P2.1口輸出為低電平時,蜂鳴器發(fā)聲,當(dāng)89C51輸出為高電平時,蜂鳴器不發(fā)聲。
2.4軟件設(shè)計
2.4.1軟件設(shè)計思路
電子密碼鎖工作的主要過程是LED數(shù)碼管提示開始輸入密碼,通過鍵盤輸入密碼,同時LED顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,做出開鎖或報警處理。當(dāng)輸入密碼連續(xù)輸入錯誤3次時,系統(tǒng)報警。
密碼的設(shè)定方法如下:程序中可將密碼固定在40H—45H中,假設(shè)初設(shè)密碼為“123456”共6位密碼。由于采用兩個按鍵完成密碼的輸入,一個按鍵作為功能鍵,另一個按鍵作為數(shù)字鍵。輸入時,首先輸入密碼的長度,接著根據(jù)密碼的長度輸入密碼的位數(shù),直到所有長度的密碼都輸入完畢;再輸入確認(rèn)鍵,表示密碼的輸入過程結(jié)束。然后進入密碼的判斷比較處理過程并給出相應(yīng)的處理結(jié)果。
2.4.2軟件設(shè)計
2.4.2.1鍵盤掃描子程序
鍵盤掃描程序流程圖如圖5所示:
圖5 鍵盤掃描程序流程圖
2.4.2.2顯示部分子程序
LED顯示流程圖如圖6所示:
圖6 LED顯示流程圖
2.4.2.3密碼比較和報警程序
輸入密碼比較及輸錯報警流程圖如圖7所示:
圖7 密碼比較和報警流程
結(jié)語
本文以單片機電子密碼鎖設(shè)計為例論述了項目教學(xué)法在單片機教學(xué)中的實施過程。通過該項目的訓(xùn)練,學(xué)生掌握矩陣式鍵盤的接口設(shè)計方法,矩陣式鍵盤的按鍵識別方法,LED的動態(tài)顯示方法,LED顯示器的接口設(shè)計方法,為學(xué)生單片機課程的后續(xù)學(xué)習(xí)奠定基礎(chǔ)。
參考文獻:
[1]劉繼光.單片機應(yīng)用技術(shù)[M].北京郵電大學(xué)出版社,2013.
[2]郭天祥.51單片機C語言教程[M].電子工業(yè)出版社,2009.
[3]朱芙菁,田影.單片機原理及應(yīng)用技術(shù)[M].航空工業(yè)出版社,2010.
[4]董海棠,張旭,馮中毅.基于單片機的電子密碼鎖設(shè)計[J].自動化與儀器儀表,2014(10).