孫萬(wàn)麟
(昌吉學(xué)院 物理系, 新疆 昌吉 831100)
因單片機(jī)具有結(jié)構(gòu)簡(jiǎn)單、運(yùn)行速度快、控制系統(tǒng)穩(wěn)定以及使用壽命長(zhǎng)等優(yōu)點(diǎn),故許多學(xué)者采用單片機(jī)作為主控器,對(duì)電子密碼鎖控制系統(tǒng)進(jìn)行設(shè)計(jì)及仿真,如,田曉翠等采用AT89C51單片機(jī)對(duì)最基本的鍵盤式電子密碼鎖進(jìn)行了詳細(xì)設(shè)計(jì)及功能分析[1];陳丹萍采用AT89S51單片機(jī)對(duì)一類商場(chǎng)使用的電子數(shù)字密碼鎖進(jìn)行了一些簡(jiǎn)單功能設(shè)計(jì)及仿真[2];程院蓮等也采用AT89S51單片機(jī)作為主控制器,對(duì)具有密碼修改、成功開鎖等多功能鍵盤式電子密碼鎖進(jìn)行了一系列設(shè)計(jì)及仿真[3]。鑒于此,本文也選用AT89S51單片機(jī)作為主控器,在對(duì)已有密碼鎖控制系統(tǒng)[4-7]部分功能進(jìn)一步完善的基礎(chǔ)上,設(shè)計(jì)及仿真了一款鍵盤式多功能電子密碼鎖控制系統(tǒng)。
本文選擇具有低功耗、高性能、非易失性及閃存等特性的AT89S51單片機(jī)作為密碼鎖系統(tǒng)主控器,主要是利用AT89S51單片機(jī)的控制準(zhǔn)確性、設(shè)計(jì)靈活性和豐富I/O接口等優(yōu)點(diǎn),在減少錯(cuò)誤產(chǎn)生的同時(shí)還可以實(shí)現(xiàn)密碼鎖的多種功能。一般密碼鎖系統(tǒng)都是采用LCD液晶模塊來(lái)顯示密碼位數(shù)以及各項(xiàng)操作的信息提示,利用矩陣式鍵盤進(jìn)行密碼輸入、刪除、修改以及用戶自定義功能等操作,并配置存儲(chǔ)模塊對(duì)密碼記憶保存以及密碼輸入錯(cuò)誤的蜂鳴器報(bào)警提示等。另外,有些密碼鎖還設(shè)計(jì)管理員萬(wàn)能密碼,在用戶忘記密碼時(shí)可以通過(guò)輸入萬(wàn)能密碼進(jìn)行密碼重新設(shè)置。但是要有效保護(hù)管理員密碼,以防被盜。
本文所設(shè)計(jì)的密碼鎖控制系統(tǒng),其核心是AT89S51單片機(jī)主控器,外圍電路主要有顯示模塊、鍵盤輸入模塊、密碼存儲(chǔ)模塊以及報(bào)警電路等,其中顯示模塊采用LCD作為密碼鎖輸出顯示,鍵盤輸入模塊采用4×4矩陣式鍵盤,多鍵位按鍵可以實(shí)現(xiàn)密碼鎖多功能操作及控制。密碼存儲(chǔ)模塊采用AT24C02芯片,該系統(tǒng)構(gòu)成框圖如圖1所示。
圖1 密碼鎖控制系統(tǒng)框圖
根據(jù)圖1密碼鎖系統(tǒng)構(gòu)成,本文采用Protues軟件搭建的電子密碼鎖仿真電路如圖2所示。
圖2 密碼鎖控制系統(tǒng)電路圖
圖2所示的密碼鎖控制系統(tǒng)電路,可實(shí)現(xiàn)以下6大功能:
1)當(dāng)密碼輸入正確時(shí),蜂鳴器會(huì)發(fā)出“滴答”開鎖聲提示,且LED燈會(huì)閃亮一次,同時(shí)液晶屏?xí)@示開鎖信息“open”;
2)以防密碼被盜,液晶屏上輸入8位密碼顯示為“********”;
3)當(dāng)密碼輸入錯(cuò)誤時(shí),蜂鳴器就會(huì)發(fā)出連續(xù)報(bào)警聲提示,同時(shí)液晶屏?xí)@示錯(cuò)誤信息提示“error”;
4)用戶自主修改密碼,并增加確認(rèn)次數(shù)為3次,且當(dāng)兩次輸入新密碼一致時(shí),新密碼才算修改成功,同時(shí)液晶屏?xí)@示“Reset Password OK”提示信息,防止用戶錯(cuò)誤操作;
5)利用4×4矩陣鍵盤,設(shè)置0-9數(shù)字輸入以及復(fù)位、清除、確認(rèn)、修改密碼、關(guān)鎖、取消以及開啟萬(wàn)能密碼等功能鍵;
6)設(shè)置管理員萬(wàn)能密碼,在忘記密碼時(shí)可以通過(guò)輸入萬(wàn)能密碼進(jìn)行密碼重置。
本文采用C語(yǔ)言編寫密碼鎖控制系統(tǒng)源程序代碼,主要包括系統(tǒng)初始化程序、LCD 液晶顯示子程序、鍵盤掃描子程序、鍵入功能子程序、設(shè)置密碼子程序、修改密碼子程序、報(bào)警子程序、EEPROM 讀寫子程序和延時(shí)子程序等,其中主程序設(shè)計(jì)流程如圖3所示,修改密碼設(shè)計(jì)流程如圖4所示[8-12]。
圖3 主程序設(shè)計(jì)流程圖
圖4 修改密碼設(shè)計(jì)流程圖
本文采用4×4矩陣式鍵盤實(shí)現(xiàn)密碼鎖多功能操作及控制,16個(gè)按鍵定義功能為:數(shù)字鍵“ 0 - 9”、確認(rèn)鍵“#”、關(guān)鎖鍵“*”、復(fù)位鍵“A”、修改密碼鍵“B”、取消鍵“C”以及開啟萬(wàn)能密碼鍵“D”。圖5為16個(gè)按鍵在圖2鍵盤模塊電路中所對(duì)應(yīng)排列方式。
圖5 按鍵排列
采用Keil軟件對(duì)系統(tǒng)源程序進(jìn)行調(diào)試、編譯,并將編譯生成的HEX文件添加至單片機(jī)芯片AT89S51中進(jìn)行仿真。
當(dāng)密碼輸入正確時(shí),蜂鳴器會(huì)發(fā)出“滴答”開鎖聲提示,且LED燈會(huì)閃亮一次,同時(shí)液晶屏?xí)@示開鎖信息,即第二行顯示為“open”。
在系統(tǒng)運(yùn)行仿真正確下,就可以制作實(shí)物。首先使用Protel軟件將圖2布線封裝成PCB板圖,如圖6所示。
圖6 PCB板圖
接著對(duì)PCB板進(jìn)行元器件測(cè)試及焊接,然后調(diào)試運(yùn)行,其中密碼輸入正確運(yùn)行結(jié)果如圖7所示。
圖7 密碼正確開鎖圖
經(jīng)測(cè)試,實(shí)物運(yùn)行和仿真結(jié)果一致,即各個(gè)器件均正常工作,證實(shí)本系統(tǒng)設(shè)計(jì)正確、可行。
本文利用Proteus軟件設(shè)計(jì)及仿真了一個(gè)以8位數(shù)字為密碼,具有密碼保護(hù)、密碼修改、成功開鎖、輸入錯(cuò)誤報(bào)警及配設(shè)管理員萬(wàn)能密碼等多功能電子密碼鎖控制系統(tǒng)。該系統(tǒng)從軟件設(shè)計(jì)、仿真到實(shí)物成功運(yùn)行,可為類似其他控制系統(tǒng)設(shè)計(jì)及制作提供一些參考。