基于單片機(jī)的密碼鎖設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的密碼鎖設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的密碼鎖設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的密碼鎖設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的密碼鎖設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

I緒論1.1選題背景與意義隨著科技的不斷發(fā)展和人們生活水平的提高,安全問(wèn)題逐漸成為人們關(guān)注的焦點(diǎn)。在日常生活中,無(wú)論是家庭、辦公室還是其他公共場(chǎng)所,鎖具都扮演著至關(guān)重要的角色。傳統(tǒng)的機(jī)械鎖雖然在一定程度上能夠提供安全保障,但其密碼固定、易復(fù)制、易被破解等缺點(diǎn)使得其安全性受到挑戰(zhàn)。電子密碼鎖作為一種新型的防盜鎖具,憑借其安全性、便捷性、靈活性等優(yōu)勢(shì),越來(lái)越受到人們的青睞。研究者提出了多種密碼鎖的設(shè)計(jì)方案。陳新芬等[1]針對(duì)人們對(duì)安全和隱私的需求,設(shè)計(jì)了一種指紋密碼鎖,該鎖由AT89C52芯片主控、集成了AS608集成光學(xué)傳感器、矩陣鍵盤(pán)、LCD1602顯示器等模塊、可以實(shí)現(xiàn)指紋解鎖,密碼輸入次數(shù)超限后系統(tǒng)自鎖并啟動(dòng)連續(xù)循環(huán)報(bào)警的功能。該鎖具有安全可靠的特點(diǎn),可以滿(mǎn)足人們對(duì)安全性的需求。趙永濤[2]針對(duì)傳統(tǒng)門(mén)禁系統(tǒng)安全性不高的問(wèn)題,設(shè)計(jì)了基于RFID技術(shù)的門(mén)禁密碼鎖系統(tǒng),系統(tǒng)采用STC89C52RC單片機(jī)作為控制芯片、由AT24C02存儲(chǔ)器模塊、MFRC522射頻識(shí)別非接觸式IC卡片模塊、12864液晶模塊等組成,該系統(tǒng)可采用門(mén)禁卡解鎖,也可以使用密碼解鎖。徐建琴等[3]針對(duì)使用傳統(tǒng)機(jī)械式鑰匙開(kāi)鎖需要鑰匙比方便的問(wèn)題,設(shè)計(jì)了一種基于ATmega16L單片機(jī)為主控芯片的電子密碼鎖系統(tǒng)。該系統(tǒng)在安全方面的措施為:密碼輸入超過(guò)三次,系統(tǒng)啟動(dòng)報(bào)警鈴。楊德斌[4]針對(duì)傳統(tǒng)機(jī)械鎖安全性不高的問(wèn)題,設(shè)計(jì)了一種電子密碼鎖,該鎖以MSP432為主控、由指紋、紅外接收、無(wú)緣蜂鳴器等模塊組成,具有保密性好,操作方便的特點(diǎn),具有一定的實(shí)用價(jià)值。孫萬(wàn)麟等[5]提出了一種的多功能電子密碼鎖控制系統(tǒng)設(shè)計(jì)方案并用Proteus軟件進(jìn)行了模擬仿真設(shè)計(jì),該系統(tǒng)采用AT89S51單片機(jī)為主控,包含LCD顯示器、復(fù)位以及蜂鳴器報(bào)警等電路、具有密碼修改、成功開(kāi)鎖、輸入錯(cuò)誤報(bào)警等多種功能。楊朋飛等[6]設(shè)計(jì)了一款指紋密碼鎖系統(tǒng),在硬件采用了FPM10A光學(xué)指紋識(shí)別模塊、輔以液晶顯示、按鍵輸入等多種模塊,通過(guò)C語(yǔ)言編寫(xiě)了軟件程序。系統(tǒng)能完成指紋錄入、清除指紋、密碼輸入等多種功能,實(shí)現(xiàn)了三種模式解鎖,指紋識(shí)別準(zhǔn)確率較高。胡偉霞等[7]設(shè)計(jì)了一種智能密碼鎖系統(tǒng),該系統(tǒng)核心處理器是STM32F103C8T6單片機(jī)、包含AT24C02存儲(chǔ)器等多種模塊、具有錄入指紋、指紋解鎖、數(shù)字密碼解鎖等各種功能,還可以進(jìn)行語(yǔ)言播報(bào),該系統(tǒng)具有性?xún)r(jià)比高、體積小、操作方便、安全性高等優(yōu)點(diǎn)。楊曉龍[8]針對(duì)鑰老人和小孩使用機(jī)械鎖不便的問(wèn)題,設(shè)計(jì)了一款GSM家庭防盜門(mén)電子鎖系統(tǒng)。系統(tǒng)采用STC89C516單片機(jī)作為控制芯片、由GSM模塊、繼電器和電磁鐵模塊、蜂鳴器等模塊組成,該系統(tǒng)可以實(shí)現(xiàn)一鍵撥打戶(hù)主電話(huà)和短信遠(yuǎn)程開(kāi)鎖的功能,具有一定的實(shí)用性。徐玉召等[9]設(shè)計(jì)了一種由STC89C52單片機(jī)為主控的電子密碼鎖,該鎖具有成本低,操作簡(jiǎn)單,安全系數(shù)高的特點(diǎn)。1.2設(shè)計(jì)任務(wù)設(shè)計(jì)要求如下:1、可以實(shí)現(xiàn)密碼開(kāi)關(guān)門(mén);2、有管理員密碼,不怕忘記密碼,可以管理員重置密碼;3、通過(guò)LCD顯示密碼,同時(shí)錯(cuò)誤次數(shù)太多,蜂鳴器提醒報(bào)警;4、具備自動(dòng)存儲(chǔ)功能,存儲(chǔ)數(shù)據(jù)不丟失,密碼可以隨時(shí)修改。2方案分析與模塊選型2.1總體方案設(shè)計(jì)本系統(tǒng)以單片機(jī)為控制核心,通過(guò)外圍硬件模塊實(shí)現(xiàn)密碼鎖的各項(xiàng)功能。系統(tǒng)包括顯示模塊、紅外接收模塊、門(mén)鎖模塊、輸入模塊、存儲(chǔ)模塊等。系統(tǒng)能夠?qū)崿F(xiàn)如下工作流程:用戶(hù)通過(guò)輸入密碼,密碼輸入情況即時(shí)顯示;如果密碼輸入正確,門(mén)鎖打開(kāi);如果密碼輸入錯(cuò)誤,開(kāi)啟報(bào)警提示;用戶(hù)還可以通過(guò)控制器遠(yuǎn)程控制開(kāi)關(guān)門(mén)并修改密碼,新密碼會(huì)存儲(chǔ)在系統(tǒng)中。單片機(jī)作為系統(tǒng)的控制核心,負(fù)責(zé)接收用戶(hù)指令,協(xié)調(diào)各外圍模塊的工作,實(shí)現(xiàn)密碼鎖的各項(xiàng)功能。顯示模塊用于實(shí)時(shí)顯示系統(tǒng)狀態(tài)和用戶(hù)輸入信息,方便用戶(hù)操作。紅外接收模塊用于接收用戶(hù)的遠(yuǎn)程控制指令,實(shí)現(xiàn)遠(yuǎn)程開(kāi)鎖/關(guān)鎖功能。輸入模塊作為用戶(hù)的輸入設(shè)備,用于密碼輸入和修改。系統(tǒng)結(jié)構(gòu)如REF_Ref165045926\h圖2.1所示。圖2.SEQ圖\*ARABIC\s11系統(tǒng)結(jié)構(gòu)圖2.2單片機(jī)模塊選型方案一:選用STC89C52單片機(jī)STC89C52是一款經(jīng)典的8位單片機(jī),具有豐富的外圍接口資源,包括32個(gè)并行I/O口、3個(gè)16位定時(shí)器/計(jì)數(shù)器、全雙工串行通信接口UART等,能夠很好地滿(mǎn)足中等以下復(fù)雜設(shè)計(jì)的需求。優(yōu)點(diǎn):低功耗、可靠性強(qiáng),廣泛應(yīng)用于各種嵌入式控制領(lǐng)域,資源豐富,開(kāi)發(fā)容易,成本低。缺點(diǎn):處理能力一般,內(nèi)部存儲(chǔ)有限。方案二:選用STM32F103單片機(jī)STM32F103是一款32位ARMCortex-M3內(nèi)核的微控制器,具有豐富的外設(shè)資源,包括三個(gè)12位ADC、兩個(gè)DAC、七個(gè)通用定時(shí)器、兩個(gè)基本定時(shí)器、兩個(gè)看門(mén)狗定時(shí)器、三個(gè)通信接口等。優(yōu)點(diǎn):工作頻率高,具有高性能、低功耗的特點(diǎn),集成度高,外設(shè)資源豐富。缺點(diǎn):功耗較高,開(kāi)發(fā)復(fù)雜,成本也相對(duì)較高。綜上:考慮到設(shè)計(jì)需求和成本因素,STC89C52單片機(jī)更適合作為本系統(tǒng)的控制核心,因此選用方案一。2.3按鍵模塊選型方案一:選用獨(dú)立按鍵獨(dú)立按鍵是最簡(jiǎn)單直接的輸入方式,只需將每個(gè)按鍵分別與單片機(jī)的I/O口相連即可。這種方案硬件,但按鍵數(shù)量受單片機(jī)I/O口數(shù)量的限制,當(dāng)需要增加按鍵功能時(shí),會(huì)占用大量I/O資源。優(yōu)點(diǎn):獨(dú)立按鍵方案的優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,接線(xiàn)方便,易于實(shí)現(xiàn)。缺點(diǎn):是I/O資源占用多,按鍵數(shù)量受限。方案二:選用矩陣按鍵矩陣按鍵是一種常用的按鍵輸入方式,通過(guò)行列掃描的方式來(lái)檢測(cè)按鍵情況,可大幅減少單片機(jī)I/O資源的占用。優(yōu)點(diǎn):I/O資源占用少,按鍵數(shù)量方便擴(kuò)展,具有按鍵消抖、按鍵檢測(cè)等功能,可靠性較高。缺點(diǎn):控制設(shè)計(jì)相對(duì)復(fù)雜,需要專(zhuān)門(mén)的按鍵掃描程序。綜上:考慮到系統(tǒng)的輸入需求,綜合考慮成本等因素,采用方案二,使用矩陣按鍵。2.4存儲(chǔ)模塊選型方案一:選用FM24C02存儲(chǔ)模塊FM24C02是一款2Kb容量的電可擦可編程只讀存儲(chǔ)器,可通過(guò)I2C接口與單片機(jī)連接。優(yōu)點(diǎn):數(shù)據(jù)保持時(shí)間長(zhǎng)、讀寫(xiě)速度快、集成度高,采用I2C總線(xiàn)接口,與單片機(jī)的集成較為容易。缺點(diǎn):存儲(chǔ)容量有限。方案二:選用AT24C02存儲(chǔ)模塊AT24C02是一款2Kb容量的EEPROM存儲(chǔ)器,可通過(guò)I2C接口與單片機(jī)連接。優(yōu)點(diǎn):數(shù)據(jù)不易丟失、壽命長(zhǎng),可靠性強(qiáng),采用標(biāo)準(zhǔn)的I2C總線(xiàn)接口,與單片機(jī)的集成較為容易。缺點(diǎn):寫(xiě)入速度相對(duì)較慢,可能不適合對(duì)寫(xiě)入速度有嚴(yán)格要求的應(yīng)用場(chǎng)景。綜上:AT24C02與FM24C02的性能指標(biāo)相當(dāng),但AT24C02的價(jià)格相對(duì)更加經(jīng)濟(jì)適用,更加符合本系統(tǒng)的成本需求??紤]到本系統(tǒng)對(duì)存儲(chǔ)模塊的要求AT24C02完全能滿(mǎn)足需求,因此選用方案二,使用AT24C02存儲(chǔ)模塊。2.5液晶模塊選型方案一:選用OLED顯示模塊優(yōu)點(diǎn):體積小、重量輕、功耗低、視角寬、對(duì)比度高。缺點(diǎn):價(jià)格相對(duì)較高。方案二:選用LCD1602顯示模塊LCD1602顯示模塊是一種常見(jiàn)的字符型液晶顯示器,可以顯示2行16個(gè)字符。優(yōu)點(diǎn):成本低、集成度高。缺點(diǎn):視角較窄,顯示效果一般。綜上:LCD1602顯示模塊成本較低,易于集成,更加適合本系統(tǒng)的設(shè)計(jì),因此選用方案二,使用LCD1602顯示模塊。

3硬件設(shè)計(jì)3.1主控模塊設(shè)計(jì)STC89C52單片機(jī)作為本系統(tǒng)的核心控制單元,負(fù)責(zé)整個(gè)系統(tǒng)的協(xié)調(diào)運(yùn)作。它通過(guò)與各類(lèi)外圍模塊進(jìn)行通信和交互,完成密碼鎖的各項(xiàng)功能。STC89C52擁有豐富的資源,如4組8位并行I/O口、3個(gè)16位定時(shí)/計(jì)數(shù)器、4組中斷源等,可以靈活地與系統(tǒng)中的各個(gè)模塊進(jìn)行連接和控制。在程序設(shè)計(jì)中,首先完成單片機(jī)的初始化配置,包括I/O口、定時(shí)器、中斷等的設(shè)置。例如,將P0口的0-7位分別連接到LCD1602模塊的數(shù)據(jù)接口,將P1口的0-7位連接到矩陣按鍵模塊,用于掃描按鍵狀態(tài)。將P3.2和P2.0位分別連接到紅外接收模塊和繼電器模塊,用于接收紅外遙控指令和控制電磁鎖的開(kāi)關(guān)。通過(guò)合理的I/O口分配,STC89C52能夠與系統(tǒng)中的各個(gè)模塊高效地進(jìn)行數(shù)據(jù)交互。在定時(shí)器配置方面,利用T0和T1兩個(gè)16位定時(shí)器,分別用于實(shí)現(xiàn)矩陣按鍵的掃描和紅外遙控信號(hào)的解碼。通過(guò)定時(shí)器的定期中斷觸發(fā),單片機(jī)可以及時(shí)獲取按鍵輸入和紅外遙控指令,確保系統(tǒng)的實(shí)時(shí)響應(yīng)性。在程序中設(shè)置了外部中斷INT0和INT1,分別用于檢測(cè)用戶(hù)輸入密碼完成和紅外遙控指令接收完成的事件。當(dāng)這些事件發(fā)生時(shí),單片機(jī)能夠快速進(jìn)入相應(yīng)的中斷服務(wù)程序,執(zhí)行密碼校驗(yàn)、電磁鎖控制等操作,提高系統(tǒng)的交互性和響應(yīng)速度。在編寫(xiě)主程序流程時(shí),首先完成系統(tǒng)的初始化工作,包括配置I/O口、初始化定時(shí)器和中斷等。然后,主程序進(jìn)入一個(gè)無(wú)限循環(huán),不斷地掃描按鍵狀態(tài)、檢測(cè)紅外遙控指令,并根據(jù)用戶(hù)的操作,執(zhí)行相應(yīng)的密碼鎖控制邏輯,如密碼輸入、密碼校驗(yàn)、電磁鎖開(kāi)關(guān)等。通過(guò)STC89C52單片機(jī)的強(qiáng)大性能,結(jié)合周?chē)黝?lèi)模塊的協(xié)同工作,實(shí)現(xiàn)了一個(gè)功能全面、操作簡(jiǎn)單的密碼鎖控制系統(tǒng)。STC89C52單片機(jī)引腳如REF_Ref165045910\h圖3.1所示。圖STYLEREF1\s3.1STC89C52單片機(jī)引腳3.2紅外接收模塊設(shè)計(jì)本系統(tǒng)采用紅外遙控技術(shù),通過(guò)紅外接收模塊接收用戶(hù)通過(guò)遙控器發(fā)送的各類(lèi)控制指令,如開(kāi)鎖、關(guān)鎖和修改密碼等。紅外接收模塊由紅外接收芯片和相關(guān)電路組成,能夠?qū)⒓t外遙控器發(fā)出的紅外信號(hào)轉(zhuǎn)換為電子脈沖信號(hào),并將其傳輸給單片機(jī)進(jìn)行識(shí)別和處理。在系統(tǒng)設(shè)計(jì)中,選用了常見(jiàn)的紅外接收模塊TSOP1738,它采用38kHz調(diào)制頻率的紅外信號(hào),可以有效抑制環(huán)境干擾,提高接收的可靠性。紅外接收模塊的引腳需要與STC89C52單片機(jī)的I/O口相連,將其連接到P3.2引腳上。單片機(jī)可以通過(guò)讀取紅外接收模塊的輸出狀態(tài),判斷用戶(hù)發(fā)送的具體指令,并相應(yīng)地執(zhí)行相關(guān)的控制操作。為了實(shí)現(xiàn)紅外遙控指令的解碼,在程序中設(shè)計(jì)了一個(gè)紅外中斷服務(wù)程序。當(dāng)用戶(hù)通過(guò)遙控器發(fā)送指令時(shí),紅外接收模塊會(huì)產(chǎn)生一個(gè)外部中斷INT0,單片機(jī)會(huì)進(jìn)入該中斷服務(wù)程序。在中斷程序中,首先判斷接收到的紅外信號(hào)是否有效,然后根據(jù)解碼出的指令類(lèi)型,執(zhí)行相應(yīng)的控制邏輯,如開(kāi)鎖、關(guān)鎖或修改密碼等。通過(guò)該中斷機(jī)制,單片機(jī)能夠及時(shí)響應(yīng)用戶(hù)的遙控操作,提高了系統(tǒng)的交互性和靈活性。由于紅外信號(hào)容易受到環(huán)境光照、電磁干擾等因素的影響,在電路設(shè)計(jì)時(shí),采用了合理的濾波電路,提高了紅外接收模塊的抗干擾能力,確保紅外遙控指令的可靠接收。通過(guò)紅外接收模塊的設(shè)計(jì),用戶(hù)可以方便地通過(guò)遙控器遠(yuǎn)程控制密碼鎖的狀態(tài),如開(kāi)鎖、關(guān)鎖和修改密碼等,極大地提高了系統(tǒng)的使用便利性。紅外接收模塊電路設(shè)計(jì)見(jiàn)圖REF_Ref5066\r\h3.3所示:圖STYLEREF1\s3.2紅外接收模塊電路3.3LCD顯示模塊設(shè)計(jì)LCD1602液晶顯示模塊是本系統(tǒng)中重要的人機(jī)交互界面,能夠?qū)崟r(shí)顯示系統(tǒng)的工作狀態(tài)和密碼輸入情況,為用戶(hù)提供直觀的反饋信息。LCD1602模塊由LCD控制芯片和液晶顯示屏組成,可以顯示16個(gè)字符,分兩行顯示。LCD1602液晶顯示模塊采用標(biāo)準(zhǔn)的并行8位數(shù)據(jù)接口,可以直接與STC89C52單片機(jī)的I/O口相連。將LCD1602模塊的數(shù)據(jù)接口引腳D0-D7分別連接到STC89C52的P0口,控制引腳RS和E分別連接到P2.0和P2.1引腳。通過(guò)這種連接方式,單片機(jī)可以通過(guò)向LCD1602發(fā)送相應(yīng)的指令和數(shù)據(jù),控制屏幕上的內(nèi)容顯示。為了實(shí)現(xiàn)LCD1602的顯示控制,在程序中編寫(xiě)了一系列LCD驅(qū)動(dòng)函數(shù),如LCD初始化、LCD寫(xiě)命令、LCD寫(xiě)數(shù)據(jù)等。在系統(tǒng)啟動(dòng)時(shí),首先對(duì)LCD1602進(jìn)行初始化配置,包括設(shè)置顯示模式、光標(biāo)控制、顯示開(kāi)關(guān)等。之后,在主程序中,根據(jù)系統(tǒng)的工作狀態(tài),動(dòng)態(tài)地更新LCD1602的顯示內(nèi)容。當(dāng)用戶(hù)輸入密碼時(shí),LCD1602可以顯示"請(qǐng)輸入密碼"的提示信息;當(dāng)密碼輸入完成后,LCD1602可以顯示"密碼正確/錯(cuò)誤"的反饋信息;如果用戶(hù)通過(guò)遙控器修改了密碼,LCD1602也會(huì)相應(yīng)地顯示"密碼修改成功"的提示。通過(guò)LCD1602模塊的顯示,用戶(hù)可以及時(shí)了解系統(tǒng)的工作狀態(tài),提高了人機(jī)交互的友好性。由于LCD1602的刷新頻率較低,如果直接在主程序中進(jìn)行顯示操作,可能會(huì)導(dǎo)致畫(huà)面卡頓或閃爍。為了解決這一問(wèn)題,在程序中設(shè)計(jì)了一個(gè)LCD顯示任務(wù),利用定時(shí)器中斷周期性地更新LCD1602的顯示內(nèi)容,確保畫(huà)面能夠流暢地呈現(xiàn)給用戶(hù)。液晶顯示模塊電路如圖REF_Ref5406\r\h3.3所示。圖STYLEREF1\s3.3液晶顯示模塊電路3.4門(mén)鎖模塊設(shè)計(jì)電磁鎖模塊是密碼鎖系統(tǒng)中的執(zhí)行機(jī)構(gòu),負(fù)責(zé)完成門(mén)鎖的開(kāi)鎖和關(guān)鎖動(dòng)作。電磁鎖模塊由電磁鎖芯和驅(qū)動(dòng)電路組成,當(dāng)系統(tǒng)檢測(cè)到用戶(hù)輸入的密碼正確時(shí),單片機(jī)會(huì)通過(guò)輸出控制信號(hào)驅(qū)動(dòng)電磁鎖模塊,使電磁鎖芯吸合或釋放,從而實(shí)現(xiàn)開(kāi)鎖或關(guān)鎖的功能。為了驅(qū)動(dòng)電磁鎖,本系統(tǒng)設(shè)計(jì)了一個(gè)繼電器驅(qū)動(dòng)電路,將STC89C52單片機(jī)的P2.0引腳連接到繼電器模塊的控制端,單片機(jī)可以通過(guò)輸出高低電平,控制繼電器的吸合與釋放,進(jìn)而控制電磁鎖的開(kāi)閉。當(dāng)用戶(hù)輸入正確的密碼時(shí),單片機(jī)會(huì)向繼電器模塊發(fā)送開(kāi)鎖指令,使繼電器吸合,從而為電磁鎖芯通電。這樣,電磁鎖就會(huì)吸合,門(mén)鎖處于開(kāi)啟狀態(tài)。相反,當(dāng)用戶(hù)輸入錯(cuò)誤的密碼時(shí),單片機(jī)會(huì)向繼電器模塊發(fā)送關(guān)鎖指令,使繼電器釋放,切斷電磁鎖芯的電源,電磁鎖就會(huì)釋放,門(mén)鎖處于關(guān)閉狀態(tài)。由于電磁鎖的工作電壓和電流較高,通常需要獨(dú)立的電源供應(yīng)。在設(shè)計(jì)中,采用了隔離的電源模塊,為電磁鎖提供穩(wěn)定的12V直流電源,確保其能夠可靠地工作。為了避免電磁鎖在工作過(guò)程中產(chǎn)生的反向電動(dòng)勢(shì)對(duì)單片機(jī)造成損害,在繼電器驅(qū)動(dòng)電路中加入了二極管等保護(hù)措施,確保單片機(jī)的安全運(yùn)行。電磁鎖驅(qū)動(dòng)電路設(shè)計(jì)見(jiàn)圖3.4所示:圖STYLEREF1\s3.4電磁鎖驅(qū)動(dòng)電路3.5按鍵模塊設(shè)計(jì)按鍵模塊是本系統(tǒng)中用戶(hù)輸入密碼和修改密碼的主要接口,按鍵模塊由矩陣按鍵和按鍵掃描電路組成,能夠?qū)⒂脩?hù)的按鍵操作轉(zhuǎn)換為電信號(hào),傳輸給單片機(jī)進(jìn)行識(shí)別和處理。在系統(tǒng)設(shè)計(jì)中,選用了4x4的矩陣按鍵作為輸入設(shè)備,矩陣按鍵的優(yōu)點(diǎn)是可以使用較少的I/O引腳實(shí)現(xiàn)多按鍵檢測(cè),降低了單片機(jī)的資源占用。將矩陣按鍵的行線(xiàn)連接到STC89C52的P1.0-P1.3引腳,列線(xiàn)連接到P1.4-P1.7引腳,構(gòu)成一個(gè)16鍵的矩陣按鍵陣列。將行線(xiàn)設(shè)為輸出低電平,列線(xiàn)設(shè)為輸入上拉,然后逐個(gè)掃描各行線(xiàn),檢測(cè)列線(xiàn)的電平變化。如果檢測(cè)到某個(gè)列線(xiàn)的電平發(fā)生變化,說(shuō)明對(duì)應(yīng)的按鍵被按下。可以通過(guò)行列交叉點(diǎn)的信息,確定用戶(hù)按下的具體按鍵。為了消除按鍵抖動(dòng)的影響,在按鍵掃描程序中加入了軟件去抖動(dòng)處理。具體來(lái)說(shuō),當(dāng)檢測(cè)到按鍵被按下時(shí),不會(huì)立即響應(yīng),而是延遲一段時(shí)間(如10ms)后,再次檢測(cè)按鍵狀態(tài)。只有在這段時(shí)間內(nèi),按鍵狀態(tài)一直保持按下,才認(rèn)為這是一次有效的按鍵輸入,并將其傳遞給上層邏輯進(jìn)行處理。這種簡(jiǎn)單而有效的去抖動(dòng)方法,確保了按鍵輸入的可靠性,避免了因按鍵抖動(dòng)而導(dǎo)致的錯(cuò)誤輸入。當(dāng)檢測(cè)到用戶(hù)按下密碼輸入鍵時(shí),會(huì)將按鍵值緩存到一個(gè)輸入緩沖區(qū)中。同時(shí),還會(huì)根據(jù)用戶(hù)的按鍵操作,執(zhí)行相應(yīng)的邏輯,如密碼輸入、密碼修改等。例如,當(dāng)用戶(hù)按下"確認(rèn)"鍵時(shí),會(huì)從輸入緩沖區(qū)讀取密碼數(shù)據(jù),并將其傳遞給密碼校驗(yàn)?zāi)K進(jìn)行驗(yàn)證。按鍵電路設(shè)計(jì)如圖REF_Ref6177\r\h3.5所示.圖STYLEREF1\s3.5按鍵電路3.6存儲(chǔ)模塊設(shè)計(jì)AT24C02存儲(chǔ)模塊是本系統(tǒng)中用于存儲(chǔ)用戶(hù)密碼的非易失性存儲(chǔ)器,AT24C02是一款2Kbit的EEPROM芯片,能夠在斷電情況下保存用戶(hù)設(shè)置的密碼信息。該芯片采用標(biāo)準(zhǔn)的I2C通信協(xié)議,可以直接與STC89C52單片機(jī)的I2C總線(xiàn)相連。當(dāng)用戶(hù)通過(guò)矩陣鍵盤(pán)輸入并修改密碼時(shí),單片機(jī)會(huì)將新的密碼信息寫(xiě)入AT24C02存儲(chǔ)模塊。同時(shí),在系統(tǒng)上電時(shí),單片機(jī)會(huì)從AT24C02中讀取存儲(chǔ)的密碼數(shù)據(jù),作為驗(yàn)證用戶(hù)輸入密碼的依據(jù)。通過(guò)AT24C02存儲(chǔ)模塊的設(shè)計(jì),密碼鎖系統(tǒng)能夠?qū)崿F(xiàn)密碼的持久化存儲(chǔ)和安全管理。用戶(hù)設(shè)置的密碼不會(huì)因?yàn)閿嚯姸鴣G失,同時(shí)也能夠得到有效的加密保護(hù),大大提高了系統(tǒng)的安全性。存儲(chǔ)模塊電路設(shè)計(jì)如圖3.6所示。圖STYLEREF1\s3.6存儲(chǔ)模塊電路4軟件設(shè)計(jì)4.1軟件總體設(shè)計(jì)在本系統(tǒng)的主程序流程中首先進(jìn)行系統(tǒng)初始化,包括I/O口、定時(shí)器、LCD顯示等模塊的初始化;然后檢測(cè)矩陣鍵盤(pán)狀態(tài),獲取用戶(hù)輸入的密碼;將用戶(hù)輸入的密碼與存儲(chǔ)在AT24C02中的密碼進(jìn)行比對(duì);如果密碼輸入正確,則通過(guò)繼電器控制電磁鎖實(shí)現(xiàn)開(kāi)鎖,同時(shí)在LCD上顯示"開(kāi)鎖成功"等提示信息;如果密碼輸入錯(cuò)誤,則通過(guò)蜂鳴器發(fā)出報(bào)警提示,同時(shí)在LCD上顯示"密碼錯(cuò)誤"等信息;緊接著檢測(cè)紅外遙控器的狀態(tài),根據(jù)用戶(hù)遙控指令控制電磁鎖的開(kāi)關(guān);如果用戶(hù)需要修改密碼,則通過(guò)矩陣鍵盤(pán)輸入新密碼,并將其存儲(chǔ)在AT24C02中;主程序流程的設(shè)計(jì)充分考慮了系統(tǒng)的各項(xiàng)功能需求,包括密碼輸入、密碼比對(duì)、鎖門(mén)控制、遠(yuǎn)程遙控、密碼修改等關(guān)鍵環(huán)節(jié)。該流程能夠確保系統(tǒng)各個(gè)模塊之間的協(xié)調(diào)工作,實(shí)現(xiàn)密碼鎖的全面功能。系統(tǒng)主程序的軟件設(shè)計(jì)框架見(jiàn)REF_Ref165045859\h圖4.1所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s11系統(tǒng)主程序流程圖4.2按鍵識(shí)別及處理程序設(shè)計(jì)按鍵函數(shù)子流程如REF_Ref165045536\h圖4.2所示:作為用戶(hù)本地手動(dòng)輸入的入口,按鍵子程序需要時(shí)刻掃描各按鍵的狀態(tài),一旦發(fā)現(xiàn)有按鍵按下,就需立即處理用戶(hù)的操作指令。首先通過(guò)軟件對(duì)多個(gè)按鍵端口線(xiàn)設(shè)置上拉電阻,當(dāng)無(wú)按鍵按下時(shí),對(duì)應(yīng)端口為高電平。然后周期性輪詢(xún)掃描這些端口口線(xiàn)的狀態(tài),一旦發(fā)現(xiàn)有端口由高電平轉(zhuǎn)為低電平,即判斷有按鍵被按下,從而確定是哪個(gè)按鍵被按下。圖STYLEREF1\s4.SEQ圖\*ARABIC\s12按鍵識(shí)別程序4.3軟件仿真本系統(tǒng)采用進(jìn)行了Proteus8.6仿真模擬。初始化界面如REF_Ref165045517\h圖4.3所示:圖STYLEREF1\s4.SEQ圖\*ARABIC\s13初始化界面當(dāng)使用者輸入超過(guò)三次密碼都識(shí)別出錯(cuò)誤的時(shí)候,鍵盤(pán)將會(huì)鎖死,顯示屏?xí)崾惧e(cuò)誤,如REF_Ref165045836\h圖4.4所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s14鍵盤(pán)鎖死使用者可以根據(jù)實(shí)際情況自行修改密碼,如REF_Ref165045611\h圖4.5所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s15修改密碼當(dāng)輸入了正確密碼后,繼電器線(xiàn)圈將會(huì)閉合,同時(shí)繼電器上的指示燈亮起,表示已經(jīng)開(kāi)鎖,如REF_Ref165045653\h圖4.6所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s16密碼正確本系統(tǒng)設(shè)有萬(wàn)能密碼,當(dāng)輸入萬(wàn)能密碼后,系統(tǒng)將自動(dòng)回到初始化狀態(tài),如REF_Ref165045707\h圖4.7所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s17程序初始化5功能測(cè)試分別對(duì)各個(gè)硬件模塊進(jìn)行單獨(dú)測(cè)試,驗(yàn)證其功能是否正常工作,包括檢查L(zhǎng)CD1602顯示模塊能否正確顯示預(yù)期內(nèi)容,矩陣鍵盤(pán)能否準(zhǔn)確檢測(cè)按鍵輸入,紅外遙控器能否發(fā)送正確的控制指令等。在各模塊單獨(dú)測(cè)試的基礎(chǔ)上,將各個(gè)模塊集成到完整的系統(tǒng)中,測(cè)試系統(tǒng)的整體功能是否符合設(shè)計(jì)要求。在系統(tǒng)測(cè)試過(guò)程中,重點(diǎn)關(guān)注了密碼輸入、鎖門(mén)控制、遠(yuǎn)程控制、密碼修改、顯示功能和報(bào)警功能等關(guān)鍵環(huán)節(jié)的測(cè)試。通過(guò)矩陣鍵盤(pán)輸入正確和錯(cuò)誤的密碼,檢查系統(tǒng)的密碼識(shí)別和處理功能是否正常。同時(shí)測(cè)試了系統(tǒng)通過(guò)繼電器控制電磁鎖開(kāi)關(guān)的功能,確保能夠可靠地實(shí)現(xiàn)密碼鎖的自動(dòng)開(kāi)鎖和關(guān)鎖。如果密碼輸入正確,在LCD上顯示"開(kāi)鎖成功"提示信息,如圖REF_Ref6921\r\h5.1所示。圖STYLEREF1\s5.SEQ圖\*ARABIC\s11開(kāi)鎖測(cè)試用戶(hù)通過(guò)矩陣鍵盤(pán)輸入密碼,如果輸入密碼錯(cuò)誤,蜂鳴器報(bào)警提示,LCD上顯示“密碼錯(cuò)誤”信息,如REF_Ref7692\h圖STYLEREF1\s5.2所示:圖STYLEREF1\s5.SEQ圖\*ARABIC\s12密碼錯(cuò)誤測(cè)試使用紅外遙控器發(fā)送開(kāi)鎖/關(guān)鎖指令,檢查系統(tǒng)的遠(yuǎn)程控制功能是否能夠正確執(zhí)行,如REF_Ref7692\h圖STYLEREF1\s5.3所示。圖STYLEREF1\s5.SEQ圖\*ARABIC\s13遙控器控制測(cè)試測(cè)試了用戶(hù)通過(guò)矩陣鍵盤(pán)修改密碼時(shí),新密碼是否能夠正確存儲(chǔ)和讀取,如REF_Ref8048\h圖STYLEREF1\s5.4所示。圖STYLEREF1\s5.SEQ圖\*ARABIC\s14修改密碼通過(guò)上述全面的測(cè)試,確保了該密碼鎖控制系統(tǒng)各項(xiàng)功能的穩(wěn)定可靠運(yùn)行。6結(jié)論6.1存在的問(wèn)題在本系統(tǒng)設(shè)計(jì)中,雖然達(dá)到了設(shè)計(jì)要求,但也存在這需要改進(jìn)和完善的地方,具體如下:(1)硬件成本與系統(tǒng)穩(wěn)定性本設(shè)計(jì)采用的STC89C52單片機(jī)雖然成本較低,但處理能力與擴(kuò)展性相對(duì)有限,可能在高并發(fā)或復(fù)雜環(huán)境下出現(xiàn)性能瓶頸,影響系統(tǒng)的穩(wěn)定性。同時(shí),為了降低成本,部分硬件模塊如LCD1602顯示模塊可能顯示效果不夠理想,影響用戶(hù)體驗(yàn)。(2)安全性與防護(hù)機(jī)制盡管系統(tǒng)設(shè)計(jì)了密碼錯(cuò)誤次數(shù)限制與報(bào)警機(jī)制,但在極端情況下,如持續(xù)暴力破解密碼,系統(tǒng)可能面臨安全風(fēng)險(xiǎn)。此外,對(duì)于電磁鎖等執(zhí)行機(jī)構(gòu)的物理防護(hù)措施不足,易受到外部攻擊或損壞。(3)用戶(hù)體驗(yàn)與交互性目前系統(tǒng)主要通過(guò)矩陣鍵盤(pán)和紅外遙控器進(jìn)行密碼輸入和遠(yuǎn)程控制,操作方式相對(duì)單一,對(duì)于不熟悉電子設(shè)備的用戶(hù)可能不夠友好。同時(shí),系統(tǒng)缺乏直觀的反饋機(jī)制,如聲音提示、動(dòng)畫(huà)效果等,影響了交互體驗(yàn)。6.2系統(tǒng)的優(yōu)化為了更加完善優(yōu)化系統(tǒng)設(shè)計(jì),增強(qiáng)產(chǎn)品的性能,其優(yōu)化方向如下:(1)升級(jí)硬件與提升性能可采用性能更強(qiáng)大的單片機(jī)或其他控制芯片,提升系統(tǒng)的處理能力和擴(kuò)展性。同時(shí),升級(jí)顯示模塊,如采用OLED顯示模塊,提高顯示效果和用戶(hù)體驗(yàn)。(2)加強(qiáng)安全性與防護(hù)措施增加密碼復(fù)雜度要求,引入更高級(jí)的加密算法,提高系統(tǒng)的安全性。加強(qiáng)電磁鎖等執(zhí)行機(jī)構(gòu)的物理防護(hù)措施,防止外部攻擊或損壞。此外,可設(shè)計(jì)多重驗(yàn)證機(jī)制,如指紋識(shí)別、動(dòng)態(tài)驗(yàn)證碼等,提升系統(tǒng)的安全防護(hù)水平。(3)改善用戶(hù)體驗(yàn)與交互性增加多種操作方式,如觸摸屏、語(yǔ)音識(shí)別等,降低用戶(hù)操作難度。引入更直觀的反饋機(jī)制,如語(yǔ)音提示、動(dòng)畫(huà)效果等,提升用戶(hù)交互體驗(yàn)。同時(shí),優(yōu)化用戶(hù)界面設(shè)計(jì),使其更加簡(jiǎn)潔明了,易于理解和使用。綜上所述,通過(guò)硬件升級(jí)、安全性加強(qiáng)、用戶(hù)體驗(yàn)改善和功能擴(kuò)展等方面的優(yōu)化措施,可以進(jìn)一步提升基于單片機(jī)的密碼鎖系統(tǒng)的性能、安全性和用戶(hù)體驗(yàn),滿(mǎn)足更多用戶(hù)的需求。參考文獻(xiàn)[1]陳新芬,金琦淳,張延麗,等.單片機(jī)指紋密碼鎖設(shè)計(jì)與仿真[J].工業(yè)控制計(jì)算機(jī),2021,34(11):151-154.[2]趙永濤.基于51單片機(jī)的RFID門(mén)禁密碼鎖設(shè)計(jì)[J].自動(dòng)化應(yīng)用,2022,(12):185-187+191.[3]徐劍琴,李克訥,梁奇峰.基于AVR單片機(jī)的電子密碼鎖控制系統(tǒng)設(shè)計(jì)[J].裝備制造技術(shù),2017,(02):63-67+70.[4]楊德斌,林建平,蔡榮智,等.基于MSP432單片機(jī)的電子密碼鎖設(shè)計(jì)與實(shí)現(xiàn)[J]

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論