【摘 要】本文系統(tǒng)的介紹了彈片基控制的電子密碼鎖的設(shè)計(jì),構(gòu)成以及與其它系統(tǒng)地比較。系統(tǒng)由矩陣鍵盤、單片機(jī)系統(tǒng)、LED顯示和報(bào)警系統(tǒng)組成。系統(tǒng)不僅能完成開鎖、超時(shí)報(bào)警、超次鎖定、管理員解密、修改用戶密碼基本的密碼鎖的功能,而且還具有調(diào)電存儲、聲光提示等功能,依據(jù)實(shí)際的情況添加遙控的功能。
【關(guān)鍵詞】單片機(jī) ;自動控制;電子密碼鎖;AT24C02,AT89S51;矩陣鍵盤
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-8283(2009)03-0108-02
人們生活水平逐步的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的非常突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的親呢。
設(shè)計(jì)本課題時(shí)的構(gòu)思方案:是用以AT89s51為核心的單片機(jī)控制方案,因?yàn)榭紤]到數(shù)字電路方案原理過于簡單,而且不能滿足現(xiàn)在的安全需求,所以本文采用這種方案。
1 方案設(shè)計(jì)
圖1-1 總體框架設(shè)計(jì)
本方案由數(shù)字電路控制。其原理方框圖如圖1-1所示。
圖2-1 數(shù)字密碼鎖電路方案
采用數(shù)字密碼鎖電路的好處就是設(shè)計(jì)簡單。用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過40秒(一般情況下,用戶不會超過40秒,若用戶覺得不便,還可以修改)電路將報(bào)警80秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤5分鐘,防止他人的非法操作。
電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻煩。
密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤輸入次數(shù)鎖定電路。
2 電路的功能單元設(shè)計(jì)
2.1 開鎖機(jī)構(gòu)
通過單片機(jī)送給開鎖執(zhí)行機(jī)構(gòu),電路驅(qū)動電磁鎖吸合,從而達(dá)到開鎖的目的。其原理如圖2-1所示。
圖3-1 密碼鎖開鎖機(jī)構(gòu)示意圖
當(dāng)用戶輸入的密碼正確而且是在規(guī)定的時(shí)間(普通用戶要求在12s內(nèi)輸入正確的密碼,管理員要求在5s輸入正確的密碼)輸入的話,單片機(jī)便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達(dá)到開門的目的。其實(shí)際電路如圖2-2所示。
電路驅(qū)動和開鎖兩級組成。由D5、R1、T10組成驅(qū)動電路,其中T10可以選擇普通的小功率三極管如9014、9018都可以滿足要求。D5作為開鎖的提示;由D6、C24、T11組成。其中D6、C24是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。
在本次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。
圖3-2 密碼鎖開鎖機(jī)構(gòu)電路圖
2.2 按鍵電路設(shè)計(jì)
每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。
在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。
當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。
首先辨別鍵盤中有無鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。
2.3 顯示電路設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的??紤]到為了節(jié)約單片機(jī)的口資源,本系統(tǒng)的顯示采用串行顯示的方式,只使用單片機(jī)的兩個串行口,就可以完成單片機(jī)的顯示功能,顯示電路的電路原理圖如圖2-5所示。
電路設(shè)定:當(dāng)程序檢測在5分鐘內(nèi)沒有按鍵操作的時(shí)候,就關(guān)閉顯示。這個功能使用程序來實(shí)現(xiàn)的,一旦沒有按鍵動作就啟動一個定時(shí)器,檢測在5分鐘內(nèi)沒有按鍵動作的時(shí)候,啟動一個程序,關(guān)閉顯示,這樣可以達(dá)到節(jié)省電能的目的。
2.4 AT24C02掉電存儲單元的設(shè)計(jì)
掉電存儲單元的作用是在電源斷開的時(shí)候,存儲當(dāng)前設(shè)定的單價(jià)信息。AT24C02是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。每當(dāng)設(shè)定一次單價(jià),系統(tǒng)就自動調(diào)用存儲程序,將單價(jià)信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電的時(shí)候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價(jià)等信息,讀到緩存單元中,供主程序使用。
2.5 密碼鎖的電源電路設(shè)計(jì)
為了防止停電情況的發(fā)生,本電路后備了UPS電源,它包括市電供電電路,停電檢測電路,電子開關(guān)切換電路,蓄電池充電電路和蓄電池組成。電源電路圖如圖2-8所示。
圖3-8 市電供電電路
220V市電通過變壓器降壓成12V的交流電,再經(jīng)過整流橋整流,7805穩(wěn)壓到5V送往電子切換電路,由于本電路功耗較少,所以選用10W的小型變壓器。
由R8,R9,R6,R7及IC14構(gòu)成電壓比較器,正常情況下,V+
圖3-9 停電檢測及電子開關(guān)切換電路
T1,T2構(gòu)成的蓄電池自動充電電路,它在電池充滿后自動停止充電,其中D1亮為正在充電,D2為工作指示。由R4,R5,T1構(gòu)成電壓檢測電路,蓄電池電壓低,則T1,T2導(dǎo)通,實(shí)現(xiàn)對其充電;充滿后,T1,T2截止,停止充電,同時(shí)D1熄滅,電路中C4的作用是濾除干擾信號。其電路圖如圖7所示:
圖3-10 蓄電池自動充電電路
4 程序設(shè)計(jì)
該計(jì)程計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì)分為以下幾個模塊:
4.1 主程序模塊
主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵按下、以及調(diào)用顯示等等。主程序的流程圖如下所示。
4.2 鍵盤掃描及識別子程序
鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖 所示.
4.3 調(diào)電存儲服務(wù)程序
當(dāng)比較密碼的時(shí)候,需要讀AT24C02程序,將存儲在芯片內(nèi)的數(shù)據(jù)讀到RAM中,然后和輸入的密碼相比較。當(dāng)修改密碼的時(shí)候,需要把輸入的密碼保存到AT24C02中,其程序流程如圖 所示.
4.4 顯示子程序
由于是分屏顯示數(shù)據(jù),所以就要用到5個顯示子程序,分別是:關(guān)閉狀態(tài)顯示子程序(DIS_A)、開鎖狀態(tài)顯示子程序(DIS_B)、密碼輸入及修改狀態(tài)顯示子程序(DIS_C)、密碼輸入錯誤后的提示子程序(DIS_D)。密碼在規(guī)定的時(shí)間內(nèi)輸入錯誤次數(shù)超過3次后的鎖定狀態(tài)顯示子程序(DIS_E).
5 總結(jié)
由于使用的是單片機(jī)作為核心的控制元件,以及靈敏的霍爾開關(guān)型器件,是本出租車計(jì)價(jià)器具有功能強(qiáng)、性能可靠、電路簡單、成本低的特點(diǎn),加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。
但是在我們設(shè)計(jì)和調(diào)試的過程中,也發(fā)現(xiàn)了一些問題,譬如計(jì)價(jià)的金額位數(shù)有限,實(shí)際的里程可能會很遠(yuǎn),會超出我們的顯示范圍。
計(jì)價(jià)器的設(shè)計(jì)還不夠人性化,比如加上語音的提示功能,可能會更有生命力。