摘 要:隨著安全防范的方法也進(jìn)入了信息時(shí)代,動(dòng)態(tài)密碼鎖、電子密碼已經(jīng)出現(xiàn)在我們的日常生活中,越來越受到人們的重視。而在信息時(shí)代,單片機(jī)的廣泛運(yùn)用和GSM通信技術(shù)的成熟,克服了傳統(tǒng)的機(jī)械鎖帶來的不足,為人們提供了更加完備的安全措施來保證財(cái)產(chǎn)的安全。大規(guī)模集成電路的應(yīng)用,也讓單片機(jī)和整個(gè)工藝變得小巧、穩(wěn)定,適用于更多的場(chǎng)所和不同的環(huán)境。
關(guān)鍵詞:動(dòng)態(tài)密碼;單片機(jī);GSM通信
中圖分類號(hào):TS914.211.7
1 設(shè)計(jì)思路
本設(shè)計(jì)的主要研究對(duì)象是基于單片機(jī)和GSM模塊成的具有產(chǎn)生動(dòng)態(tài)密碼的密碼鎖的設(shè)計(jì)。在單片機(jī)中,利用其隨機(jī)數(shù)產(chǎn)生函數(shù),隨機(jī)產(chǎn)生密碼,并通過GSM模塊及時(shí)的傳送的用戶指定的手機(jī)中,用戶收到短信后,按鍵輸入正確的密碼即可打開密碼鎖,如果輸入的密碼和單片機(jī)產(chǎn)生的密碼一致將打開鎖,否則將重新產(chǎn)生密碼重新輸入。一旦超過3次輸入錯(cuò)誤,將鎖死不再產(chǎn)生密碼和接受按鍵輸入,必須由用戶用手機(jī)發(fā)送指定的指令才能夠得到解鎖。這樣的設(shè)計(jì)讓用戶具有絕對(duì)的控制權(quán),避免了鑰匙的丟失和被盜用。
在本次的動(dòng)態(tài)密碼鎖設(shè)計(jì)中,采用模塊化設(shè)計(jì)的方法,主要分為軟件部分的設(shè)計(jì)和硬件部分的設(shè)計(jì)。在硬件部分,依舊采用模塊式分塊的設(shè)計(jì)理念,對(duì)所需要的硬件材料、電路構(gòu)成,進(jìn)行相應(yīng)的各個(gè)擊破,最終通過組合結(jié)合成相應(yīng)的完整電路。軟件部分,同樣如此,針對(duì)各個(gè)模塊,進(jìn)行相應(yīng)的子程序編寫,通過主函數(shù)以及這個(gè)子函數(shù)之間的調(diào)用完成整體的軟件部分的設(shè)計(jì)。
2 硬件選取
2.1 單片機(jī)芯片的選擇方案和論證
選取STC89C52作為主控單元。STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有強(qiáng)大的功能。雖然在內(nèi)核的處理上,它依舊采用經(jīng)典的MCS-51內(nèi)核,但在傳統(tǒng)的MCS-51內(nèi)核上做了很多的變動(dòng),使其更好的兼容各個(gè)嵌入式控制應(yīng)用系統(tǒng)和適應(yīng)更復(fù)雜的開發(fā)的過程。
2.2 GSM通信模塊的選取
采用西門子公司生產(chǎn)的TC35型號(hào)GSM通信模塊。在GSM通信網(wǎng)絡(luò)技術(shù)成熟的今天,TC35型號(hào)GSM通信模塊繼承了西門子公司優(yōu)良的設(shè)計(jì)傳統(tǒng)和簡(jiǎn)介明了的設(shè)計(jì)理念,當(dāng)開發(fā)人員在使用TC35型號(hào)GSM通信模塊的時(shí)候能夠花費(fèi)更短的時(shí)間來開發(fā)出更加新穎別致的產(chǎn)品。尤其在遠(yuǎn)程監(jiān)控以及目前正在建設(shè)的無線電話網(wǎng)絡(luò)都離不開TC35GSM通信模塊的應(yīng)用。
2.3 顯示模塊選取方案
選取LCD1602液晶顯示芯片作為顯示模塊,LCD1602液晶顯示芯片具有強(qiáng)大的功能,尤其在顯示文字、字符、圖形等方面能夠清晰,直觀的顯示,而且在和單片機(jī)進(jìn)行相應(yīng)的連接和數(shù)據(jù)讀寫時(shí),雖然占用了一定的接口線,但是依舊成為設(shè)計(jì)中不錯(cuò)的選擇。
2.4 按鍵輸入方案選取
選取矩陣式鍵盤的輸入方式,利用單片機(jī)中一個(gè)端口的4跟I/O接口線作為行線,另外4跟作為列線,按鍵跨接在行線和列線上,按鍵按下時(shí),行線和列線發(fā)生短路。行線通過上拉電阻接+5V,在沒有按鍵按下時(shí),被鉗位在高電平狀態(tài)。
3 硬件設(shè)計(jì)
3.1 系統(tǒng)硬件總設(shè)計(jì)概述
本智能電子密碼鎖主要由STC89C52單片機(jī),TC35GSM通信模塊,4*4矩陣按鍵,LCD1602顯示器組成。用戶按下啟動(dòng)鍵,單片機(jī)隨機(jī)產(chǎn)生6位數(shù)字,通過GSM模塊發(fā)送給指定用戶,輸入6位密碼,以確認(rèn)鍵結(jié)束,若密碼輸入正確,則顯示屏顯示W(wǎng)elcome?。。?,然后通過開關(guān)控制電路向電磁鎖通電,門打開;若輸入錯(cuò)誤的密碼,則顯示屏提示重新輸入,若三次密碼輸入錯(cuò)誤,則系統(tǒng)蜂鳴器間斷式地響30秒,并通過GSM模塊向用戶發(fā)送報(bào)警短信,此時(shí)不能對(duì)按鍵系統(tǒng)進(jìn)行任何操作,但是用戶可以隨時(shí)通過手機(jī)向GSM模塊發(fā)送解鎖指令,采用最高級(jí)的密碼,將電子鎖置于鎖定狀態(tài),不能對(duì)系統(tǒng)進(jìn)行任何操作。同時(shí),用戶也可以發(fā)送解鎖指令,此指令獨(dú)一,只有本人知曉,只有在密碼輸入正確后才能解除密碼鎖定,恢復(fù)正常程序。
3.2 單片機(jī)系統(tǒng)的晶振電路
單片機(jī)系統(tǒng)里都有晶振,他與單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率,晶振的頻率越高,那么單片機(jī)運(yùn)行速度就越快。此外,在單片機(jī)中有許多的指令的運(yùn)行都是建立在單片機(jī)晶振所提供的時(shí)鐘頻率。在電路中的電容有以下作用:一是幫助振蕩器起振;二是對(duì)振蕩器的頻率起到微調(diào)的作用。C1C2的值設(shè)定為30pF。
3.3 TC35GSM通信模塊設(shè)計(jì)
在實(shí)際應(yīng)用中GSM模塊的連接還離不開外圍電路的設(shè)計(jì),其中包含串口連接電路、電源電路、SIM卡連接電路、IGT電路等。在GSM模塊通信的過程中,還存在TC35的專用功能AT指令,這些指令是能夠完成GSM信息的發(fā)送、接收的必不可少的組成原件。
4 軟件設(shè)計(jì)
軟件部分的主要任務(wù)是單片機(jī)產(chǎn)生密碼,發(fā)送給指定的用戶,用戶收到密碼后通過對(duì)按鍵輸入與存儲(chǔ)單片機(jī)里的密碼進(jìn)行比對(duì),若用戶連續(xù)輸入3次錯(cuò)誤密碼,則單片機(jī)控制GSM模塊通知用戶并報(bào)警,用戶可以遠(yuǎn)程控制密碼鎖的開關(guān)。軟件的重點(diǎn)在于單片機(jī)的編程和GSM模塊的通信。
4.1 主程序
主程序的構(gòu)成是通過各個(gè)模塊的分支函數(shù)組成的,能夠很直觀的看出來各個(gè)部分和主程序之間的聯(lián)系,以及整體的編程思路,這個(gè)有利于之后的調(diào)試和程序的調(diào)整。程序在開始部分,對(duì)各個(gè)模塊進(jìn)行相應(yīng)的初始化,使各個(gè)部分能隨時(shí)待命,等待指令的來臨。之后通過單片機(jī)隨機(jī)數(shù)產(chǎn)生函數(shù)產(chǎn)生6位的隨機(jī)密碼,通過單片機(jī)與GSM模塊間的串口通信,將密碼發(fā)送到指定的用戶手機(jī)上面;用戶收到密碼之后通過按鍵輸入密碼,由單片機(jī)進(jìn)行密碼的判定,確定是否正確,并采取相應(yīng)的功能措施;最后用戶可以通過LCD1602顯示模塊的顯示看到自己輸入的是否正確。
4.2 GSM通信模塊發(fā)送子程序設(shè)計(jì)
GSM通信模塊子程序是整個(gè)設(shè)計(jì)中的核心所在。在GSM通信模塊子程序設(shè)計(jì),依舊采用模塊化設(shè)計(jì)思想,將每個(gè)需要發(fā)送的數(shù)據(jù),用數(shù)組將其分類,這樣便于調(diào)試和日后的維護(hù)。 在本子程序的設(shè)計(jì)中,主要是針對(duì)的TC35GSM通信模塊使用的AT指令來進(jìn)行編寫的,涉及到工作模式的確定、歸屬地短信中心號(hào)碼的設(shè)定,設(shè)置完成之后單片機(jī)會(huì)將存儲(chǔ)好的隨機(jī)密碼發(fā)送給TC35芯片,再通過GSM網(wǎng)絡(luò)發(fā)送給指定的用戶。為了方便用戶確認(rèn)是否發(fā)送完畢,在GSM通信子程序設(shè)計(jì)時(shí),設(shè)計(jì)了蜂鳴器作為密碼發(fā)送完畢的指示標(biāo)志,同時(shí)也作為通信模塊子程序的結(jié)束標(biāo)志。最后在子程序中運(yùn)用了很多的延時(shí)函數(shù),目的是確保每一條指令都能夠運(yùn)行完成,保證密碼的發(fā)送。
5 系統(tǒng)調(diào)試
5.1 軟件調(diào)試
Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),和其他的軟件相比,它具有操作簡(jiǎn)單、功能完善等優(yōu)點(diǎn),能夠和好的兼容單片機(jī)芯片,并且滿足市場(chǎng)上大部分單片機(jī)芯片的開發(fā)。此外,它的圖形化操作界面,能夠很快的讓程序開發(fā)人員尋找到自己的需求。因此在程序的編寫、后期的調(diào)試中是一個(gè)不錯(cuò)的選擇。
5.2 硬件調(diào)試
單片機(jī)運(yùn)行的過程中和他的硬件、軟件的調(diào)試是密不可分的,許多的硬件故障之后在單片機(jī)真正運(yùn)行之后才能夠被及時(shí)的發(fā)現(xiàn),從而得到相應(yīng)的處理,因此長時(shí)間的測(cè)試和運(yùn)行時(shí)保證整個(gè)系統(tǒng)能夠完好運(yùn)行的保證。
6 結(jié)束語
基于單片機(jī)與GSM模塊的動(dòng)態(tài)密碼鎖的優(yōu)勢(shì)在于其安全性好,能夠隨機(jī)設(shè)置多組電子密碼,使用戶具有絕對(duì)的控制權(quán),避免了鑰匙的丟失和被盜用,最大可能性的保護(hù)了用戶的信息財(cái)產(chǎn)安全;與此同時(shí),產(chǎn)品選取STC89C52作為主控單元,并采用西門子公司生產(chǎn)的TC35型號(hào)GSM通信模塊,實(shí)現(xiàn)了電子密碼鎖的低成本、高實(shí)用、安全性的設(shè)計(jì)目標(biāo)。
參考文獻(xiàn):
[1]何宏.單片機(jī)原理與接口技術(shù)[M].北京:國防工業(yè)出版社,2006(07).
[2]何立民.單片機(jī)高級(jí)教程應(yīng)用與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2000.
作者單位:遼寧科技大學(xué) 電子與信息工程學(xué)院,遼寧鞍山 114051