周炳 高美珍 洪家平
摘要:本設(shè)計(jì)是基于AT89C51單片機(jī)為控制核心的密碼鎖設(shè)計(jì)方案??刂坪诵牟捎脝纹瑱C(jī)AT89C51,配備相應(yīng)的硬件電路和燒錄軟件程序,可以實(shí)現(xiàn)密碼輸入及修改、報(bào)警、開(kāi)關(guān)鎖、信息顯示以及鍵盤鎖定等功能。在本設(shè)計(jì)中,根據(jù)識(shí)別密碼的正誤來(lái)執(zhí)行開(kāi)鎖或者報(bào)警,利用AT24C02串行存儲(chǔ)器來(lái)修改和存儲(chǔ)密碼。經(jīng)測(cè)試,本電子鎖具有可靠性高、能耗低、易操作等優(yōu)點(diǎn)。
關(guān)鍵詞:密碼鎖;AT24C02;單片機(jī);AT89C51
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)05-0232-02
Abstract: This design is based on the AT89C51 microcontroller as the core of the design of the password lock. The control core using SCM AT89C51, equipped with the corresponding hardware circuit and software programming procedures, can realize the password input and modify, alarm, switch lock, information display and keyboard lock function. In this design, according to the identification code or to perform lock or alarm, using AT24C02 serial memory to modify and store passwords. After testing, the electronic lock has the advantages of high reliability, low energy consumption, easy operation, etc.
Key words: Combination lock;AT24C02;Single-chip microcomputer;AT89C51
隨著社會(huì)的發(fā)展以及人們生活水平的提高,隨之而來(lái)也帶來(lái)了安全方面的問(wèn)題。在日常生活或單位工作中,由于住宅或部門安全措施的不足,被撬事件屢見(jiàn)不鮮,由此帶來(lái)的個(gè)人人身財(cái)產(chǎn)安全方面的隱患也越來(lái)越受到眾多人們的重視。傳統(tǒng)的機(jī)械鎖因其材料簡(jiǎn)陋、結(jié)構(gòu)簡(jiǎn)單、工藝技術(shù)落后,已經(jīng)越發(fā)不能滿足現(xiàn)代鎖所要求的安全性能了。于是安全系數(shù)高、易于操作的電子密碼鎖應(yīng)運(yùn)而生,并且伴隨著技術(shù)的發(fā)展,電子密碼鎖正向著多功能化發(fā)展。
電子密碼鎖是一種通過(guò)輸入密碼來(lái)訪問(wèn)控制系統(tǒng),從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。無(wú)論是從鎖的可靠性還是安全性來(lái)看,電子密碼鎖都是遠(yuǎn)遠(yuǎn)超過(guò)了傳統(tǒng)的機(jī)械鎖。目前最常見(jiàn)的電子密碼鎖有遙控式和鍵盤式兩類,本設(shè)計(jì)從成本、功耗、易操作等角度綜合考慮,采用鍵盤式電子密碼鎖。
1系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)主體上是由單片機(jī)、時(shí)鐘電路、掉電儲(chǔ)存模塊、LCD顯示模塊、復(fù)位電路、矩陣鍵盤、警報(bào)機(jī)構(gòu)以及開(kāi)鎖機(jī)構(gòu)構(gòu)成。其中,主控單元采用AT89C51單片機(jī),顯示單元采用LCD1602液晶顯示屏,主輸入單元采用矩陣鍵盤,存儲(chǔ)單元采用電可擦除存儲(chǔ)器AT24C02,警報(bào)機(jī)構(gòu)采用蜂鳴器,發(fā)光二極管代替開(kāi)鎖機(jī)構(gòu)完成整個(gè)系統(tǒng)設(shè)計(jì)。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示:
2系統(tǒng)硬件設(shè)計(jì)
本設(shè)計(jì)需要用到的元器件主要包括:?jiǎn)纹瑱C(jī)AT89C51、電可擦除存儲(chǔ)器AT24C02、液晶顯示屏LCD1602、4行4列式矩陣鍵盤、蜂鳴器以及發(fā)光二極管等。在Proteus軟件中系統(tǒng)硬件電路仿真圖如圖2所示:
在本次系統(tǒng)硬件電路設(shè)計(jì)中,單片機(jī)AT89C51的四個(gè)端口是做出如下分配的:P0端口首先接一個(gè)上拉電阻,然后再與LCD1602液晶顯示屏的八位雙向數(shù)據(jù)端D0~D7口相連接;P2端口分成兩個(gè)部分,P2.0~P2.2口是與LCD1602液晶顯示屏的4~6引腳相連接,余下的P2.5與P2.6口和電可擦除存儲(chǔ)器AT24C02相連接;P1和P3端口比較簡(jiǎn)單,P1端口直接與4×4矩陣鍵盤相連接,P3端口直接用作于警報(bào)電路和開(kāi)鎖電路的接口。
2.1矩陣鍵盤設(shè)計(jì)
單片機(jī)AT89C51的P1端口與4×4矩陣鍵盤相連接,其中,P1.0~P1.3口和P1.4~P1.7口分別是作為4×4矩陣鍵盤的行輸出口和列輸出口。行與列輸出口是不相互連接的,有按鍵被按下時(shí),相對(duì)應(yīng)的行與列才能相互連接。當(dāng)程序算法一定時(shí),每個(gè)按鍵的行值和列值也是固定且互異的,當(dāng)按下按鍵時(shí),通過(guò)逐行掃描,讀出I/O口的值就能確切知道被按下的鍵是哪一個(gè)按鍵。在本設(shè)計(jì)中,數(shù)字鍵0~9直接對(duì)應(yīng)著輸入數(shù)字的0~9,功能鍵A為確認(rèn)鍵,B為返回鍵,C為改密鍵,D為閉鎖鍵,E與F不用。
2.2顯示電路設(shè)計(jì)
LCD1602液晶顯示屏一共擁有16個(gè)引腳,在本次系統(tǒng)設(shè)計(jì)中,單片機(jī)AT89C51的P2.0、P2.1、P2.2口線分別與LCD1602液晶顯示屏的4、5、6號(hào)引腳相連接,已經(jīng)編寫(xiě)并且燒錄好的程序通過(guò)控制這3個(gè)引腳實(shí)現(xiàn)指令或數(shù)據(jù)的寫(xiě)和執(zhí)行,然后根據(jù)指令或數(shù)據(jù)寫(xiě)和執(zhí)行進(jìn)一步來(lái)實(shí)現(xiàn)LCD1602液晶顯示屏的顯示功能。需要指出的是,由于LCD需要提供足夠的電流才能正常工作,因此在實(shí)際的應(yīng)用當(dāng)中,要先在數(shù)據(jù)端口接一上拉電阻以確保液晶顯示屏能正常工作。
2.3存儲(chǔ)電路設(shè)計(jì)
AT24C02是串行E2PROM中的一種,具有I2C總線接口功能,即可以通過(guò)I2C總線接口來(lái)進(jìn)行操作。同時(shí)AT24C02也是一個(gè)有專門寫(xiě)保護(hù)功能的電可擦除串行存儲(chǔ)器。在Proteus軟件的E2PROM仿真圖中,單片機(jī)AT89C51的P2.5口是作為串行時(shí)鐘輸入線的接口,P2.6口是作為數(shù)據(jù)線的接口。A0~A2接地,所以單片機(jī)AT89C51在寫(xiě)AT24C02時(shí),地址為10100000B=0A0H;在讀AT24C02時(shí),地址為10100001B=0A1H。當(dāng)WP=0時(shí),單片機(jī)可以進(jìn)行讀寫(xiě)操作。
3系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)程序可以分為系統(tǒng)主程序、4×4矩陣鍵盤掃描子程序、LCD顯示模塊子程序、掉電存儲(chǔ)子程序、定時(shí)器中斷子程序、密碼輸入子程序以及警報(bào)子程序等。其中,系統(tǒng)主程序流程圖如圖3所示:
3.1鍵盤掃描子程序
鍵盤識(shí)別程序的原理是單片機(jī)通過(guò)逐行掃描來(lái)判斷是否有鍵按下,當(dāng)確認(rèn)有鍵按下時(shí),再在該行中確認(rèn)是哪一列的鍵被按下。在此次系統(tǒng)軟件設(shè)計(jì)中,單片機(jī)初始化時(shí),P1端口的P1.0~P1.3口賦值為0,P1.4~P1.7口賦值為1,CPU則掃描整個(gè)P1端口。如果P1=0xf0成立,則表明沒(méi)有鍵按下,否則就有鍵按下。
3.2顯示模塊子程序
由于本設(shè)計(jì)中要求液晶顯示屏LCD1602可以顯示密碼輸入、錯(cuò)誤提示以及密碼修改等界面信息,因此需要編寫(xiě)多個(gè)顯示子程序來(lái)滿足上述要求。下面就列出LCD1602液晶顯示屏的寫(xiě)數(shù)據(jù)子函數(shù):
4系統(tǒng)調(diào)試與仿真
把已經(jīng)編寫(xiě)好的C語(yǔ)言源程序放到Keil環(huán)境下進(jìn)行編譯、調(diào)試,仿真完成。當(dāng)輸入密碼正確時(shí),發(fā)光二極管發(fā)光,LCD1602液晶顯示屏顯示歡迎回家界面。根據(jù)圖2的系統(tǒng)電路原理圖,設(shè)計(jì)并制作出了實(shí)物硬件電路板。經(jīng)過(guò)再三檢查無(wú)誤后,進(jìn)行了實(shí)物的試驗(yàn)運(yùn)行。運(yùn)行的結(jié)果又再一次證明了本次系統(tǒng)設(shè)計(jì)中Proteus軟件仿真的所有運(yùn)行結(jié)果。
5結(jié)束語(yǔ)
出于經(jīng)濟(jì)適用的角度,設(shè)計(jì)出了這一款能夠修改密碼、輸入密碼錯(cuò)誤次數(shù)過(guò)多能夠自動(dòng)發(fā)出警報(bào)以及能夠?qū)崿F(xiàn)機(jī)械上鎖功能的電子密碼鎖。經(jīng)過(guò)反復(fù)多次的檢測(cè),系統(tǒng)各個(gè)步驟均能夠按照界面上的提示正確運(yùn)行。總體上來(lái)說(shuō),此次設(shè)計(jì)雖然還有很多有待改進(jìn)的地方,但大體性能指標(biāo)都達(dá)到了預(yù)期要求。經(jīng)實(shí)物檢驗(yàn),本設(shè)計(jì)能夠較好適用于家庭住宅、辦公場(chǎng)所等位置,具有比較大的市場(chǎng)推廣價(jià)值。
參考文獻(xiàn):
[1] 郭天祥.新概念51單片機(jī)C語(yǔ)言教程[M].電子工業(yè)出版社,2009.
[2] 趙文博,劉文濤.單片機(jī)語(yǔ)言C51程序設(shè)計(jì)[M].北京:人民郵電出版社,2005.
[3] 皮大熊,南光群,劉金華.單片機(jī)課程設(shè)計(jì)指導(dǎo)書(shū)[M].北京理工大學(xué)出版社,2010.
[4] 賈正松.單片機(jī)系統(tǒng)復(fù)位電路設(shè)計(jì)[J].科技資訊,2007(36):91-92.
[5] 袁新燕.淺談單片機(jī)應(yīng)用系統(tǒng)的調(diào)試[J].自動(dòng)化與儀器儀表,2000(3):56-57.
[6] 宋錦.電子密碼鎖設(shè)計(jì)與調(diào)試[J].電腦知識(shí)與技術(shù),2011(33).48-51
[7] 韓團(tuán)軍.基于單片機(jī)的電子密碼鎖設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2010(7).35-39
[8] 趙亮,侯國(guó)銳.單片機(jī)C語(yǔ)言編程與實(shí)例[M].北京:人民郵電出版社,2003.
[9] 袁可為.單片機(jī)控制密碼鎖設(shè)計(jì)[J].信息通信,2012(10):46-48.
[10] 武紅玉.電子密碼鎖的設(shè)計(jì)[J].機(jī)械與電子,2012(10):185-187.