曾維鵬,黃 果
(海南軟件職業(yè)技術(shù)學院,海南瓊海,571400)
基于WiFi的51單片機雙層密碼保險箱的設(shè)計與實現(xiàn)
曾維鵬,黃 果
(海南軟件職業(yè)技術(shù)學院,海南瓊海,571400)
本設(shè)計以WiFi的51單片機模塊WiFiPro-C5110為主控核心,結(jié)合4*4矩陣鍵盤、LCD12864液晶屏、繼電器、蜂鳴器、LED等電路構(gòu)成一套完整的雙層密碼保險箱系統(tǒng)。該系統(tǒng)通過單片機、矩陣鍵盤輸入開鎖密碼,同時要求通過手機、平板等移動設(shè)備輸入授權(quán)密碼,當開鎖、授權(quán)密碼都正確的情況下方能打開保險箱鎖。該保險箱具有開鎖密碼、授權(quán)密碼掉電均不丟失,且密碼鎖在掉電的情況下處于不能開啟狀態(tài)。
單片機; WIFI模塊;矩陣鍵盤;LCD12864液晶屏
在日常生活和工作中,單位的文件檔案、一些個人資料的保存多以加鎖的方法來解決。目前門鎖主要彈子鎖,其鑰匙容易丟失。機械鎖結(jié)構(gòu)較為復雜,精度要求高,成本高,且易出現(xiàn)故障,使用極不方便,且鑰匙丟失后開鎖也不便且安全性低。針對以上缺陷電子密碼鎖替代鑰匙密碼鎖應(yīng)運而生。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,密碼鎖也出現(xiàn)了很多的種類,功能日益強大,使用更方便,安全保密性更好,從以前的單密碼輸入發(fā)展到現(xiàn)在的雙層密碼鎖,實現(xiàn)了真正的電子加密。本文所設(shè)計的雙層密碼保險箱保險箱鎖在按鍵輸入開鎖密碼和手機、平板等移動設(shè)備輸入授權(quán)密碼都對的情況下方可打開保險箱鎖,用戶只有密碼或手機授權(quán)碼是無法開鎖的,實現(xiàn)雙層密碼保護。
1.1 系統(tǒng)結(jié)構(gòu)
雙層密碼箱保險系統(tǒng)由以WiFi的51單片機模塊WiFiPro-C5110為主控核心,該模塊是帶WiFi模塊的STC12C5A60S2,結(jié)合4*4矩陣鍵盤、LCD12864液晶屏、繼電器、蜂鳴器、LED等部分構(gòu)成。
(1)WiFi模塊方案比較與選擇
方案一:獨立串口的WiFi模塊ESP8266:通過串口與單片機的串口相連,發(fā)送數(shù)據(jù)。
方案二:兼容WiFi的單片機模塊WiFiPro-C5110:STC12C5A60S2兼容WiFi模塊,WiFiPro封裝了全部的WiFi及TCP/IP網(wǎng)絡(luò)細節(jié),通過Web頁面設(shè)置好參數(shù),單片機無需復雜的WiFi和網(wǎng)絡(luò)操作,只需要把數(shù)據(jù)發(fā)送到串口,所有的傳輸由WiFiPro完成,網(wǎng)絡(luò)接收的數(shù)據(jù)直接通過串口進入單片機,二次開發(fā)非常簡單。
綜上所述,本設(shè)計選擇方案二WiFiPro-C5110。
(2)存儲器方案比較與選擇
方案一:AT24C04該系列芯片除具有一般串行EEPROM的體積小,功耗低,容量大等特點。
方案二:STC12C5A60S2單片機內(nèi)部就自帶高達1K FLASH ROM,雖然容量只有1K,但是相對該項目足夠使用。
綜上所述,本設(shè)計選擇方案二STC12C5A60S2。
經(jīng)過上述論證,本項目采以涵蓋WiFi及 STC12C5A60S的WiFiPro-C5110單片機為主控核心,結(jié)合LCD12864液晶屏、矩陣鍵盤、蜂鳴器、LED構(gòu)成一套完整的雙層密碼保險箱設(shè)計。
3.1 電路設(shè)計
12864液晶顯示模塊是128×64點陣型液晶顯示模塊,可顯示各種字符及圖形,可與CPU直接接口,具有8位標準數(shù)據(jù)總線、6條控制線及電源線。12864液晶顯示器的數(shù)據(jù)總線與單片機的P2口相連,接收單片傳送過來的顯示數(shù)據(jù)。
矩陣鍵盤是由16個按鍵組成,4個一組,將每個按鍵的一端連接在一起組成行線,另外一端連接在一起組成列線,再將這8根線連接至單片機的P0口,通過按鍵掃描程序?qū)崿F(xiàn)4*4矩陣鍵盤功能。
如果系統(tǒng)輸入錯誤密碼需要報警時,單片機的P3.6端口輸出一個特定的頻率信號,通過三極管驅(qū)動蜂鳴器發(fā)聲,通過內(nèi)部程序改變P3.6端口的輸出信號頻率,可以聽到不同的報警聲。
單片機的P3.7端口是雙層保險鎖的開關(guān)控制端,當單片機接收到開鎖信號時,繼電器處于閉合狀態(tài),保險鎖開啟;當單片機沒有收到開鎖信號時,繼電器處于斷開狀態(tài),保險鎖不打開;由于繼電器是連接在常開端,當斷電時保險鎖不能被開啟。
WiFiPro-C5110帶WiFi的51單片機模塊,其通過串口2接收WiFi透傳數(shù)據(jù),通過串口2發(fā)送S2BUF將單片機數(shù)據(jù)發(fā)送到手機或平板電腦上,通過串口2接收S2BUF接收數(shù)據(jù)進行處理。
3.2 程序結(jié)構(gòu)設(shè)計
根據(jù)任務(wù)要求,需要輸入密碼,所以采用矩陣鍵盤作為輸入,將密碼在液晶顯示屏上顯示且顯示密碼功能,所以采用LCD12864液晶顯示屏。指紋檢測模塊通過外部中斷0判定接收的指紋是否正確,是否應(yīng)該打開密碼鎖。單片機串口2接收手機輸入授權(quán)碼值以及修改授權(quán)碼值,程序流程圖見圖3。
圖3 程序流程
本設(shè)計由鍵盤掃描函數(shù)keyscan()、液晶顯示屏函數(shù)LCD()、寫EEPROM函數(shù)Byte_Program(eeprom_address+i,wdata1[i])、讀EEPROM函數(shù)Byte_Read(eeprom_address+i)、串口發(fā)送接收處理函數(shù)ScanComB()、以及指紋識別函數(shù)INT_0()、高頻蜂鳴器報警函數(shù)beephigh()、低頻蜂鳴器報警函數(shù)beeplow()以及繼電器relay()函數(shù)構(gòu)成。
鍵盤掃描函數(shù)keyscan()主要功能是識別4*4按鍵的鍵值,判斷用戶按下的是哪個按鍵。4*4的按鍵分別是數(shù)字0-9以及確定鍵、刪除鍵、返回鍵。
液晶顯示屏函數(shù)LCD()包含了清屏函數(shù)clr_screen()、屏幕顯示位置函數(shù)lcd_pos(3, 0)、將要顯示的內(nèi)容存放在數(shù)組DIS5中通過寫數(shù)據(jù)wr_string(DIS5)函數(shù)送到液晶顯示屏顯示。
寫 EEPROM函 數(shù) Byte_Program(eeprom_ address+i,wdata1[i]),將要寫入EEPROM中的數(shù)組存放于數(shù)組,wdata1[i],制定存放地址eeprom_address,通過該函數(shù)寫入EEPROM中,需要讀取時通過讀EEPROM函數(shù)Byte_Read(eeprom_ address+i)將eeprom_address+i地址中的數(shù)據(jù)讀取出來。讀寫EEPROM非常容易,STC12C5A60S2技術(shù)手冊中有相應(yīng)的例程,但需要注意幾點問題,第一寫入EEPROM時,由于EEPROM中的數(shù)據(jù)只能有1變?yōu)?,因此重復寫入同一地址的數(shù)據(jù)必須先擦除扇區(qū),使扇區(qū)內(nèi)的數(shù)據(jù)變?yōu)?xFF。第二地址不能自動加1,調(diào)用函數(shù)時需要寫清楚寫入的地址。第三使用時,建議同一次修改的數(shù)據(jù)放在同一個扇區(qū),不同一次修改的數(shù)據(jù)放在不同扇區(qū),否則容易出錯。STC12C5A60S2有兩個扇區(qū)可以使用。
串口發(fā)送接收處理函數(shù)ScanComB()主要功能是利用串口2通過2數(shù)組分別接收手機發(fā)送的4位授權(quán)碼,以及修改后的授權(quán)碼信息。
指紋識別函數(shù)INT_0()利用外部中斷0函數(shù)實現(xiàn),本設(shè)計購買的指紋模塊,自帶指紋錄入,指紋識別等功能,當搜索到的指紋是已錄入指紋則指紋模塊繼電器端口從高電平變?yōu)榈碗娖剑眠@一特征,實現(xiàn)指紋解鎖功能時,將繼電器com連接到單片機外部中斷,當下降沿到來,進入外部中斷0中斷服務(wù)程序,實現(xiàn)解鎖恢復原始密碼功能。
開機上電后,LCD液晶顯示屏顯示歡迎使用密碼鎖,1輸入密碼2修改密碼3設(shè)置授權(quán)碼。系統(tǒng)內(nèi)部存有原始密碼1234,授權(quán)密碼也為1234。選擇1,輸入密碼1234,密碼正確后提示“密碼已核對,請輸入授權(quán)碼”,此時從手機上輸入授權(quán)碼1234。密碼正確液晶屏顯示“密碼鎖已打開”,此時繼電器打開,LED指示燈亮。如果輸入過程中,密碼不正確或者授權(quán)碼不正確且次數(shù)超過3次,此時液晶屏顯示“輸入超限,系統(tǒng)已鎖死,請使用指紋解鎖”。此時可以使用指紋解鎖并重新設(shè)置密碼及授權(quán)碼。修改密碼及設(shè)置密碼都需要輸入原始密碼核對無誤后,方可輸入新密碼。
本設(shè)計以STC12C5A60S2單片機作為雙層密碼鎖核心,結(jié)合鍵盤電路,LCD顯示電路,報警電路和開鎖機構(gòu),通過對單片機的編程設(shè)計實現(xiàn)電子密碼鎖的基本功能,實驗證明利用單片機設(shè)計的密碼鎖不僅保密性好、成本低、功耗低、操作簡單、而且跟傳統(tǒng)的機械鎖相比還多了隨機開鎖成功率幾乎為零、密碼可變、誤碼輸入保護、多次錯誤報警、斷電記憶等優(yōu)點。它的性能與安全性已遠在機械鎖之上。
[1]韓團軍.基于單片機的電子密碼鎖設(shè)計[J]. 《國外電子測量技術(shù)》,2010,29(7):58-61.
[2]杜志勇,王鮮芳.智能藍牙鎖的設(shè)計與實現(xiàn)[J].無線通信技術(shù),2004,13(1):54-56.
[3] 王濤,張喜瑞,劉漢侃,馬慶芬,李粵.基于單片機系統(tǒng)的密碼鎖電路設(shè)計[J]. 《機械設(shè)計與制造》, 2012(8):40-42.
[4]楊峰,胡彬,羅青青.STC單片機AD轉(zhuǎn)換及EEPROM使用[J].數(shù)字技術(shù)與應(yīng)用,2011(9):169-171.
[4]張潔,劉萍,盧慧.基于單片機AT89C52的多功能探測小車設(shè)計[J].電子測量技術(shù),2014,37(8):85-88.
[5]董海棠,張旭,馮中毅.基于單片機的電子密碼鎖設(shè)計[J].自動化與儀器儀表,2014(10):42-44.
Design and Implementation of Double Password Safe Base On WiFi Of Small Single-chip
Zeng Weipeng,Huang Guo
(Hainan Software Profession Institute,Qionghai Hainan,571400,China)
The design of WiFi 51 MCU module WiFiPro-C5110 as the core of the master,with 4 * 4 matrix keyboard,LCD12864 LCD screen,relays,buzzer,LED and other circuits constitute a complete set of double password safe system.The system through the microcontroller,matrix keyboard input unlock password, and requires mobile phones,tablet and other mobile devices to enter the authorized password,when unlocking, authorized password is correct circumstances can open the safe lock.The security lock has a lock password, power-down password is not lost,and the password lock in the case of power-down can not be turned on.
Micro-Control-Unit;WIFI; 4 * 4 matrix keyboard;12864 LCD screen
文獻標識碼:A
曾維鵬(1982—),男,副教授,碩士學位,主要從事智能診斷、智能規(guī)劃等方面的教學與研究工作
2015海南省自然科學基金項目(20156249)