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