孫韓
摘 要:本文采用ATMEL公司的AT89C51 MCU為主控芯片,開發(fā)設計了E2PROM、晶振、矩陣按鍵鍵盤、報警、開鎖等外圍功能模塊,用C語言編寫了系統(tǒng)主控程序和各功能模塊執(zhí)行程序,完成了電子密碼鎖控制系統(tǒng)硬件設計、軟件編程和系統(tǒng)調試。該密碼鎖控制系統(tǒng)密碼6~12位長度可變、可反復修改;密碼編碼量大,安全性能高;能實現智能上鎖、開鎖;具備防試探性密碼輸入開鎖,誤碼報警等功能。有一定的學術和應用價值。
關鍵詞:密碼鎖;AT89C51 MCU;報警;矩陣鍵盤
中圖分類號: TP391 文獻標志碼: A 文章編號:2095-2163(2015)04-
The Design of Combination Lock based on AT89C51 MCU
SUN Han
(School of Electronic Information Engineering, Anhui University, Hefei 230601, China)
Abstract: This paper adopts AT89C51 MCU as main control chip of ATMEL company, develops and designs E2PROM chips, the crystals, matrix keyboard, alarm, lock and unlock, and other peripheral function module. After that, the paper also uses the C language to write the program of the master control system and each function module, completes the hardware design of control system, software programming and debugging of electronic combination lock. The well-designed password length can be 6 ~ 12, and can be changed; Large amount of password code, safety performance is high; To realize intelligent lock and unlock; Had prevent tentative password input, Password input error reporting alarm, etc. The design in this paper has high academic and application value.
Key word: Combination Lock; AT89C51 MCU; Alarm; Matrix Keyboard
傳統(tǒng)機械鎖具由于機構簡單、安裝便捷、價格便宜、使用方便等特點,在家庭門鎖中占據絕對優(yōu)勢。但同時,第一,傳統(tǒng)機械鎖具是利用鑰匙與鎖芯的機械配合來工作的,每4000道鎖具就有2把鑰匙是相同或類似的,存在安全缺陷;第二,傳統(tǒng)機械鎖具由于本身機械結構的局限性,可以不需要鑰匙配合開鎖,故安全性低;第三,鑰匙不能丟失,否則房主無法打開鎖具,而任何撿到的人都可使用該鑰匙打開相應的鎖具;第四,機械鑰匙易復制,不宜在流動性比較大的賓館等場合使用;第五,機械鑰匙和鎖芯質地較軟,反復使用,易損壞。
電子密碼防盜鎖可自我設置開鎖密碼,通過密碼輸入與比對來控制電路或芯片,進而驅動機械開關的開閉,來實現開鎖和關鎖的任務。與傳統(tǒng)機械鎖相比,電子密碼防盜鎖具有以下優(yōu)點:第一,密碼位數多,編碼信息量大,隨機開鎖概率極小,安全性高;第二,用戶可根據需要隨時更改密碼,避免密碼信息泄露造成的安全隱患;第三,密碼為無形信息,避免隨身攜帶,同時也避免因丟失和被撿到造成的安全隱患;第四,無活動部件,不磨損,壽命長;第四,可與小區(qū)安?;蚺沙鏊鶊缶到y(tǒng)互聯互通,實現遠程安防報警等。電子密碼防盜鎖得到越來越多的重視和使用。
1 系統(tǒng)方案
1.1 電子密碼防盜鎖功能指標
(1)初始密碼為6位,“111111”。在正確輸入原密碼的條件下,用戶可自行修改、設置新密碼。
(2)密碼為純數字,密碼位數6~12位,可自定義。
(3)密碼通過鍵盤輸入。若密碼輸入正確,芯片控制驅動機械開關開鎖。
(4)門合上,芯片自動控制驅動機械開關關鎖。
(5)密碼有三次輸入機會。三次密碼輸入錯誤,芯片控制鎖具鎖死(延遲一段時間后才能再次輸入密碼開鎖),并通過聲、光等形式報警。
(6)內置電源電量不足時,可外接電源,使系統(tǒng)重啟功能。
(7)預留擴展功能。將報警裝置與業(yè)主手機、小區(qū)物業(yè)或派出所報警系統(tǒng)互聯,實現遠程監(jiān)控報警。
1.2 方案設計
通過對MCU密碼鎖和數字電路密碼鎖技術方案的分析對比,數字電路密碼鎖不具有確定的靈活6~12位密碼位數自定義功能,不符合本研究的設計要求,故選擇基于MCU的電子密碼鎖設計,利用單片機編程靈活、接口豐富、控制精確等的特點,實現設計目標功能方案。。再從MCU的I/O接口、串行接口、存儲器、運行速度、定時/計數器、功耗、封裝形式以及保密性、抗干擾性、性價比等全面權衡,選擇基于AT89C51單片機為主控模塊的電子密碼防盜鎖。
2 系統(tǒng)硬件設計
系統(tǒng)硬件主要包括AT89C51 MCU主控模塊、鍵盤輸入模塊、密碼存儲模塊、開鎖模塊、報警模塊等[1]。系統(tǒng)硬件總體框圖如圖1所示。
圖1 系統(tǒng)結構框圖
Fig.1 Structure diagram of system
2.1 AT89C51主控模塊
AT89C51是一種低功耗、高性能8位CMOS微處理器(MCU),與工業(yè)MCS-51的指令集和管腳完全兼容。使用ATMEL公司高密度非易失存儲技術制造,8位CPU和4k閃爍存儲器集成在同一芯片內,緊湊高效,且性價比高。具有32位可編程I/O線;可編程串行通道;5個中斷源;2個16位定時/計數器;低功耗閑置和掉電模式;長壽命存儲器可以反復寫/擦10000次,數據保留時間長達10年等。AT89C51 MCU為自動控制和嵌入式系統(tǒng)提供多種靈活高效廉價解決方案[2-3]。管腳引線說明詳見AT89C51芯片說明書。
系統(tǒng)電路原理圖如圖2所示。
圖2 系統(tǒng)電路原理圖
Fig.2 Circuit schematic diagram of system
2.2 E2PROM存儲模塊
該模塊采用ATMEL公司的AT42C02 2kB字節(jié)可擦除存儲芯片。該芯片為CMOS型寬電壓(2.5~5.5V)工作,大于1萬次可擦寫,抗干擾能力強。采用8引腳DIP封裝,有2線串行總線與單片機通訊,自帶地址寄存器。每寫入或讀出一個字節(jié)數據,寄存器自動加1,可方便密碼位數自定義。斷電情況下信息可保留10年以上。
2.3 鍵盤輸入模塊
鍵盤輸入模塊采用4×4按鍵鍵盤設計。因按鍵較多,故沒有采取獨立式按鍵鍵盤設計。與獨立按鍵鍵盤相比,矩陣式鍵盤設計可節(jié)省一半的I/O口。在行和列的交叉點設置按鍵??梢酝ㄟ^程序來自主設定鍵盤上每個按鍵的功能。
與獨立式鍵盤的等待處理程序相比,矩陣式行列鍵盤執(zhí)行掃描處理程序。需要注意的是,機械按鍵在開斷瞬間會有抖動現象。為保持電平穩(wěn)定,當掃描檢測程序檢測到有按鍵按下時,會執(zhí)行一個延遲程序,采用軟件消抖。
2.4 復位模塊
復位電路的作用是使CPU和其他功能模塊都恢復到一個確定的初始狀態(tài),并從這個初始狀態(tài)開始工作。本系統(tǒng)設計了外觸發(fā)手動復位和自觸發(fā)自動復位兩種復位方式。系統(tǒng)執(zhí)行完整的操作過程,返回主程序后,都會自動復位。
2.5 晶振模塊
本設計晶振電路采用電容三點式振蕩器結構,由晶振、電容C2/C3、以及芯片內的與非門構成,使用AT89C51的XTAL1he XTAL2引腳,通過調節(jié)電容值來改變振蕩信號頻率。本設計采用20pF、12MHz外部晶振信號。
2.6 開鎖模塊
密碼輸入正確,單片機輸出開鎖信號,通過放大電路驅動電磁鎖吸合,控制機械裝置開鎖。
2.7 報警模塊
報警電路由外圍控制電路和壓電陶瓷發(fā)生裝置組成。正常情況下不發(fā)生。有按鍵按下時,每按一下,發(fā)生一次。密碼輸入正確,直接開鎖不發(fā)聲。密碼輸入錯誤,單片機P2.1引腳轉變成低電平,蜂鳴器發(fā)聲,提示密碼輸入錯誤,系統(tǒng)復位。當密碼輸入錯誤達到三次,單片機P2.1引腳轉變成低電平,蜂鳴器持續(xù)發(fā)聲報警。
3 系統(tǒng)軟件設計
系統(tǒng)程序主要由主程序、按鍵功能設置程序、鍵盤掃描程序(包括延時消抖程序)、密碼設置程序、開鎖程序、顯示程序等組成。主程序流程圖、開鎖程序流程圖和密碼設置程序流程圖分別如圖3、圖4和圖5所示。
圖3 主程序流程圖 圖4 開鎖程序流程圖 圖5 修改密碼程序流程圖
Fig.3 Program flow chart Fig.4 Program flow chart Fig.5 Program flow chart
of the main program of the unlock of change the password
4 結束語
本電子密碼鎖基于AT89C51 MCU設計,具有6~12位自定義可修改密碼、4×4矩陣按鍵鍵盤密碼輸入開閉門鎖、誤操作和密碼輸入錯誤報警等功能。編碼量巨大,隨機重合率極低,安全系數高。系統(tǒng)結構合理、功能先進,器件選擇科學適宜、性價比高。設計中結合兼顧鎖身外殼、閉鎖部件等,保密防盜性能優(yōu)越。
本裝置預留接口,可外聯攝像頭拍攝控制開關,密碼輸入錯誤時自發(fā)啟動攝像系統(tǒng)拍攝及畫面?zhèn)鬏?,也可將報警信號通過物聯網與戶主手機、物業(yè)或派出所安保防盜系統(tǒng)互通互聯,實現遠程聯防報警。
參考文獻:
[1] 趙全利. 單片機原理及應用教程[M].第三版. 北京:機械工業(yè)出版社,2013:78-81.
[2] 張志良.單片機原理與控制技術[M].北京:機械工業(yè)出版社,2002:78-81.
[3] 喻萍,郭文川.單片機原理與接口技術[M].北京:化學工業(yè)出版社,2006:195-197.