周炳 高美珍 洪家平
摘要:本設計是基于AT89C51單片機為控制核心的密碼鎖設計方案??刂坪诵牟捎脝纹瑱CAT89C51,配備相應的硬件電路和燒錄軟件程序,可以實現密碼輸入及修改、報警、開關鎖、信息顯示以及鍵盤鎖定等功能。在本設計中,根據識別密碼的正誤來執(zhí)行開鎖或者報警,利用AT24C02串行存儲器來修改和存儲密碼。經測試,本電子鎖具有可靠性高、能耗低、易操作等優(yōu)點。
關鍵詞:密碼鎖;AT24C02;單片機;AT89C51
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2017)05-0232-02
Abstract: This design is based on the AT89C51 microcontroller as the core of the design of the password lock. The control core using SCM AT89C51, equipped with the corresponding hardware circuit and software programming procedures, can realize the password input and modify, alarm, switch lock, information display and keyboard lock function. In this design, according to the identification code or to perform lock or alarm, using AT24C02 serial memory to modify and store passwords. After testing, the electronic lock has the advantages of high reliability, low energy consumption, easy operation, etc.
Key words: Combination lock;AT24C02;Single-chip microcomputer;AT89C51
隨著社會的發(fā)展以及人們生活水平的提高,隨之而來也帶來了安全方面的問題。在日常生活或單位工作中,由于住宅或部門安全措施的不足,被撬事件屢見不鮮,由此帶來的個人人身財產安全方面的隱患也越來越受到眾多人們的重視。傳統(tǒng)的機械鎖因其材料簡陋、結構簡單、工藝技術落后,已經越發(fā)不能滿足現代鎖所要求的安全性能了。于是安全系數高、易于操作的電子密碼鎖應運而生,并且伴隨著技術的發(fā)展,電子密碼鎖正向著多功能化發(fā)展。
電子密碼鎖是一種通過輸入密碼來訪問控制系統(tǒng),從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產品。無論是從鎖的可靠性還是安全性來看,電子密碼鎖都是遠遠超過了傳統(tǒng)的機械鎖。目前最常見的電子密碼鎖有遙控式和鍵盤式兩類,本設計從成本、功耗、易操作等角度綜合考慮,采用鍵盤式電子密碼鎖。
1系統(tǒng)總體設計
本系統(tǒng)設計主體上是由單片機、時鐘電路、掉電儲存模塊、LCD顯示模塊、復位電路、矩陣鍵盤、警報機構以及開鎖機構構成。其中,主控單元采用AT89C51單片機,顯示單元采用LCD1602液晶顯示屏,主輸入單元采用矩陣鍵盤,存儲單元采用電可擦除存儲器AT24C02,警報機構采用蜂鳴器,發(fā)光二極管代替開鎖機構完成整個系統(tǒng)設計。系統(tǒng)總體結構框圖如圖1所示:
2系統(tǒng)硬件設計
本設計需要用到的元器件主要包括:單片機AT89C51、電可擦除存儲器AT24C02、液晶顯示屏LCD1602、4行4列式矩陣鍵盤、蜂鳴器以及發(fā)光二極管等。在Proteus軟件中系統(tǒng)硬件電路仿真圖如圖2所示:
在本次系統(tǒng)硬件電路設計中,單片機AT89C51的四個端口是做出如下分配的:P0端口首先接一個上拉電阻,然后再與LCD1602液晶顯示屏的八位雙向數據端D0~D7口相連接;P2端口分成兩個部分,P2.0~P2.2口是與LCD1602液晶顯示屏的4~6引腳相連接,余下的P2.5與P2.6口和電可擦除存儲器AT24C02相連接;P1和P3端口比較簡單,P1端口直接與4×4矩陣鍵盤相連接,P3端口直接用作于警報電路和開鎖電路的接口。
2.1矩陣鍵盤設計
單片機AT89C51的P1端口與4×4矩陣鍵盤相連接,其中,P1.0~P1.3口和P1.4~P1.7口分別是作為4×4矩陣鍵盤的行輸出口和列輸出口。行與列輸出口是不相互連接的,有按鍵被按下時,相對應的行與列才能相互連接。當程序算法一定時,每個按鍵的行值和列值也是固定且互異的,當按下按鍵時,通過逐行掃描,讀出I/O口的值就能確切知道被按下的鍵是哪一個按鍵。在本設計中,數字鍵0~9直接對應著輸入數字的0~9,功能鍵A為確認鍵,B為返回鍵,C為改密鍵,D為閉鎖鍵,E與F不用。
2.2顯示電路設計
LCD1602液晶顯示屏一共擁有16個引腳,在本次系統(tǒng)設計中,單片機AT89C51的P2.0、P2.1、P2.2口線分別與LCD1602液晶顯示屏的4、5、6號引腳相連接,已經編寫并且燒錄好的程序通過控制這3個引腳實現指令或數據的寫和執(zhí)行,然后根據指令或數據寫和執(zhí)行進一步來實現LCD1602液晶顯示屏的顯示功能。需要指出的是,由于LCD需要提供足夠的電流才能正常工作,因此在實際的應用當中,要先在數據端口接一上拉電阻以確保液晶顯示屏能正常工作。
2.3存儲電路設計
AT24C02是串行E2PROM中的一種,具有I2C總線接口功能,即可以通過I2C總線接口來進行操作。同時AT24C02也是一個有專門寫保護功能的電可擦除串行存儲器。在Proteus軟件的E2PROM仿真圖中,單片機AT89C51的P2.5口是作為串行時鐘輸入線的接口,P2.6口是作為數據線的接口。A0~A2接地,所以單片機AT89C51在寫AT24C02時,地址為10100000B=0A0H;在讀AT24C02時,地址為10100001B=0A1H。當WP=0時,單片機可以進行讀寫操作。
3系統(tǒng)軟件設計
本系統(tǒng)軟件設計程序可以分為系統(tǒng)主程序、4×4矩陣鍵盤掃描子程序、LCD顯示模塊子程序、掉電存儲子程序、定時器中斷子程序、密碼輸入子程序以及警報子程序等。其中,系統(tǒng)主程序流程圖如圖3所示:
3.1鍵盤掃描子程序
鍵盤識別程序的原理是單片機通過逐行掃描來判斷是否有鍵按下,當確認有鍵按下時,再在該行中確認是哪一列的鍵被按下。在此次系統(tǒng)軟件設計中,單片機初始化時,P1端口的P1.0~P1.3口賦值為0,P1.4~P1.7口賦值為1,CPU則掃描整個P1端口。如果P1=0xf0成立,則表明沒有鍵按下,否則就有鍵按下。
3.2顯示模塊子程序
由于本設計中要求液晶顯示屏LCD1602可以顯示密碼輸入、錯誤提示以及密碼修改等界面信息,因此需要編寫多個顯示子程序來滿足上述要求。下面就列出LCD1602液晶顯示屏的寫數據子函數:
4系統(tǒng)調試與仿真
把已經編寫好的C語言源程序放到Keil環(huán)境下進行編譯、調試,仿真完成。當輸入密碼正確時,發(fā)光二極管發(fā)光,LCD1602液晶顯示屏顯示歡迎回家界面。根據圖2的系統(tǒng)電路原理圖,設計并制作出了實物硬件電路板。經過再三檢查無誤后,進行了實物的試驗運行。運行的結果又再一次證明了本次系統(tǒng)設計中Proteus軟件仿真的所有運行結果。
5結束語
出于經濟適用的角度,設計出了這一款能夠修改密碼、輸入密碼錯誤次數過多能夠自動發(fā)出警報以及能夠實現機械上鎖功能的電子密碼鎖。經過反復多次的檢測,系統(tǒng)各個步驟均能夠按照界面上的提示正確運行??傮w上來說,此次設計雖然還有很多有待改進的地方,但大體性能指標都達到了預期要求。經實物檢驗,本設計能夠較好適用于家庭住宅、辦公場所等位置,具有比較大的市場推廣價值。
參考文獻:
[1] 郭天祥.新概念51單片機C語言教程[M].電子工業(yè)出版社,2009.
[2] 趙文博,劉文濤.單片機語言C51程序設計[M].北京:人民郵電出版社,2005.
[3] 皮大熊,南光群,劉金華.單片機課程設計指導書[M].北京理工大學出版社,2010.
[4] 賈正松.單片機系統(tǒng)復位電路設計[J].科技資訊,2007(36):91-92.
[5] 袁新燕.淺談單片機應用系統(tǒng)的調試[J].自動化與儀器儀表,2000(3):56-57.
[6] 宋錦.電子密碼鎖設計與調試[J].電腦知識與技術,2011(33).48-51
[7] 韓團軍.基于單片機的電子密碼鎖設計[J].國外電子測量技術,2010(7).35-39
[8] 趙亮,侯國銳.單片機C語言編程與實例[M].北京:人民郵電出版社,2003.
[9] 袁可為.單片機控制密碼鎖設計[J].信息通信,2012(10):46-48.
[10] 武紅玉.電子密碼鎖的設計[J].機械與電子,2012(10):185-187.