一種簡單的基于51單片機(jī)的電子密碼鎖設(shè)計(jì)
1 單片機(jī)電子密碼鎖的背景和設(shè)計(jì)特點(diǎn)
在高科技迅速發(fā)展的今天,人們已經(jīng)發(fā)明了密碼鎖、電子鎖和激光鎖等多種形式。這些鎖在傳統(tǒng)鑰匙的基礎(chǔ)上,利用磁場、聲波和光束等多種方式來控制鎖的開啟和關(guān)閉,從而有效地增強(qiáng)了鎖的安全性,保護(hù)了人們的生命財產(chǎn)和安全,有效地防止盜賊的光顧。
單片機(jī)又稱為單片微電腦或者單片微型計(jì)算機(jī),它有效的集合了中央處理器、只讀存儲器、隨機(jī)存取存儲器和輸入輸出端口等計(jì)算機(jī)功能部件。計(jì)算機(jī)體積龐大,不易攜帶,導(dǎo)致單片機(jī)的應(yīng)運(yùn)而生,電子密碼鎖就是在單片機(jī)的外部接上簡單的電路,人為的寫入程序來完成其核心部分,這樣不僅能夠縮小鎖的體積還能夠降低成本,保持精度,并且能夠有效的升級和改善電子密碼鎖。
2 單片機(jī)密碼鎖的系統(tǒng)設(shè)計(jì)
2.1 單片機(jī)密碼鎖系統(tǒng)的總設(shè)計(jì)結(jié)構(gòu)圖
2.2 單片機(jī)開鎖機(jī)構(gòu)的設(shè)計(jì)
單片機(jī)開鎖機(jī)構(gòu)的設(shè)計(jì)是將單片機(jī)送入開鎖執(zhí)行的機(jī)構(gòu),促使電路驅(qū)動和電磁鎖吸合,進(jìn)而開鎖。本文設(shè)計(jì)的電子鎖通過P3.0 來接入三極管進(jìn)而驅(qū)動繼電器來打開電磁閥線圈進(jìn)而實(shí)現(xiàn)開門和關(guān)門。
根據(jù)上面的圖形可知,當(dāng)用戶在規(guī)定的時間和輸入次數(shù)內(nèi)輸入的密碼正確時,單片密碼鎖便輸出開門的信號,將信號傳送到驅(qū)動開鎖的電路,進(jìn)而驅(qū)動電磁鎖,實(shí)現(xiàn)開門。
2.3 單片機(jī)密碼鎖系統(tǒng)硬件的設(shè)計(jì)
本文設(shè)計(jì)的電子鎖的密碼鎖選用了簡單容易操作并且不為眾人所熟悉的摩期碼當(dāng)做電路的密碼輸入,該鍵盤的硬件設(shè)備只要用一個按鍵就可以實(shí)現(xiàn)此密碼鎖密碼的輸入和改變。摩斯密碼的命名來源是來自上世紀(jì)中期美國一位名叫摩爾斯的發(fā)明家,他發(fā)明了在電報傳輸使用中所運(yùn)用的編碼,因此摩斯密碼有時也稱作為摩爾斯密碼,它是由一個輸入按鍵在輸入時按住時間間隔的長短來決定的:其中短促的電信號“.”讀作“DI”,而長時間保持按鍵不動的“-”讀作“DA”,具體而言,“滴”的間隔時間為1T,“嗒”的間隔時間為3T,“嘀嗒”的間隔時間為1T ;字母之間的間隔時間為3T,字與字之間的間隔時間為5T,下面具體列出各個字符和摩斯密碼的對照表。
2.4 電路焊接
首先電路焊接所需要的工具,如下圖所示
本電子密碼鎖的系統(tǒng)電路的主芯片是AT89C51, 其中包括時鐘脈沖、電阻、電解電容以及由一個按鍵構(gòu)成的復(fù)位電路,還有一個由八段數(shù)碼管組成的密碼顯示器以及一個蜂鳴器和五個LED燈管,一個NPN 三極管和一個繼電器,結(jié)合上面所述的驅(qū)動電路構(gòu)成了此電子密碼鎖的系統(tǒng)電路。
3 單片電子密碼鎖的軟件設(shè)計(jì)
3.1 單片電子鎖的系統(tǒng)軟件設(shè)計(jì)整體思路
單片電子鎖的應(yīng)用系統(tǒng)如果要完美的完成各項(xiàng)功能,首先必須要有比較完整的硬件當(dāng)做保證,其次要得到與之想適應(yīng)的設(shè)計(jì)比較合理的軟件進(jìn)行支持。這是因?yàn)樵谛畔⒓夹g(shù)飛速發(fā)展的今天,軟件編程逐漸代替了許多過去用硬件完成的工作,對于一些需要很復(fù)雜的硬件電路完成的工作,如果選用軟件編程則會簡單了許多。針對上述情況,充分采取和利用豐富的軟件和硬件資源,采用與C51 系列單片機(jī)相適應(yīng)的51 匯編語言與結(jié)構(gòu)化的程序設(shè)計(jì)方法進(jìn)行相應(yīng)的軟件編程。
3.2 單片機(jī)電子密碼鎖系統(tǒng)軟件的設(shè)計(jì)流程圖
4 單片電子密碼鎖的程序調(diào)試
本文的單片式密碼鎖的調(diào)試程序需要運(yùn)用到KEILC51 以及和其配套的下載燒錄軟件,KEILC51 是美國KEIL 公司生產(chǎn)的能夠兼容單片機(jī)C 語言的軟件開發(fā)系統(tǒng),具有匯編語言無法比擬的優(yōu)勢,具體表現(xiàn)在功能結(jié)構(gòu)和可讀性與可維護(hù)性上面,并且容易被人們學(xué)習(xí)和使用。KEILC51 軟件擁有非常豐富的庫函數(shù)和功能比較強(qiáng)大的集成開發(fā)調(diào)試工具,整個系統(tǒng)都采用全WINDOWS 操作界面,和其它軟件不同的是,KEILC51 軟件只要看一下經(jīng)過編譯之后生產(chǎn)的匯編代碼,就可以領(lǐng)會到KEILC51 比較高的目標(biāo)代碼效率和緊湊容易理解的匯編代碼,這是其比較明顯的優(yōu)勢。
KEILC51 工具包能夠獨(dú)立的完成編輯。翻譯。連接、調(diào)試和仿真等一系列的開發(fā)流程,其中UVISION 和ISHELL 分別是KEILC51對WINDOWS 與DOS 的集成開發(fā)環(huán)境。這樣就使得開發(fā)人員可以通過KEILC51 集成開發(fā)環(huán)境自身或者采用別的編輯器來編輯C語言或者匯編源的文件,最后再分別由KEILC51 和KEILA51 的編譯器來編譯已經(jīng)生產(chǎn)的目標(biāo)文件。這種目標(biāo)文件不僅可以再由LIB51 來創(chuàng)建生成庫的文件,還可以和庫文件結(jié)合起來通過連接L51 來具體的定位,最后生成絕對目標(biāo)的文件-ABS.開發(fā)人員將ABS 文件從OH51 文件轉(zhuǎn)變成為HEX 文件,從而能夠使調(diào)試器DSCOPE51 或者TSCOPE51 的使用進(jìn)行一系列的源代碼級別的調(diào)試,當(dāng)然也可以用仿真器對目標(biāo)板進(jìn)行直接的調(diào)試,最終寫入程序存貯器中。
具體的調(diào)試方法是,首先打開KEILC51 主程序,新建一個工程,之后將程序?qū)戇M(jìn)新建的文本框內(nèi),再保存之后檢測一下是否有語法錯誤,當(dāng)反復(fù)檢測發(fā)現(xiàn)沒有錯誤之后再進(jìn)行匯編,此時生成的51 單片機(jī)能夠執(zhí)行HEX 文件,最后用與KEILC51 開發(fā)板相匹配的燒錄軟件將HEX 寫進(jìn)單片機(jī)里。
5 結(jié)束語
科技進(jìn)步和經(jīng)濟(jì)的發(fā)展是當(dāng)今時代的主題,人們生活水平的提高必然要求其對鎖這一日常必需品的品質(zhì)和防盜性能的要求的越發(fā)嚴(yán)格。傳統(tǒng)的機(jī)械鎖由于構(gòu)造簡單,已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足人們的需求,只有在現(xiàn)實(shí)實(shí)際運(yùn)用中加強(qiáng)基于單片機(jī)電子密碼鎖的檢測和運(yùn)用,才能夠推動其的進(jìn)一步使用和推廣。電子鎖是信息化時代的產(chǎn)物,隨著科學(xué)技術(shù)的不斷更新和發(fā)展,日后的電子鎖一定更加人性化,更加方便和安全。