熊佩軒,萬(wàn)在紅,賈宇琪,胡偉倩
(南昌航空大學(xué) 信息工程學(xué)院,江西 南昌 330000)
基于8086微機(jī)的多功能密碼鎖項(xiàng)目分析
熊佩軒,萬(wàn)在紅*,賈宇琪,胡偉倩
(南昌航空大學(xué) 信息工程學(xué)院,江西 南昌 330000)
本課題以8086微處理器為基礎(chǔ),設(shè)計(jì)了一個(gè)簡(jiǎn)單的低成本的多功能密碼鎖,旨在解決人們?nèi)粘I詈凸ぷ鳟?dāng)中遇到安全問(wèn)題。在Proteus仿真軟件中利用8086微處理器可編程的特點(diǎn)[1],以匯編語(yǔ)言為媒介[2],最后通過(guò)矩陣鍵盤輸入和LCD1602液晶顯示實(shí)現(xiàn)了多功能密碼鎖的開啟、關(guān)閉和報(bào)警以及密碼修改、液晶顯示密碼等一系列功能,成功地?fù)?dān)任了防盜衛(wèi)士的角色。
多功能密碼鎖;Proteus仿真;8086微處理器;矩陣鍵盤;LCD1602液晶屏
隨著科學(xué)技術(shù)的高速發(fā)展和高新技術(shù)的廣泛應(yīng)用,電子技術(shù)在人們的日常生活中所起的作用越來(lái)越大,并深深地滲透到了人們的生活,工作和學(xué)習(xí)的各個(gè)方面[3]。人們生活水平的不斷提高以及工業(yè)領(lǐng)域?qū)I(yè)性的提高,如何實(shí)現(xiàn)家庭防盜和加密的機(jī)械控制這一問(wèn)題也變得尤為突出。傳統(tǒng)的機(jī)械鎖構(gòu)造簡(jiǎn)單,被撬的事件屢有報(bào)道,電子密碼鎖由于其安全性較高,成本低廉,簡(jiǎn)單實(shí)用,開發(fā)性好等優(yōu)點(diǎn)受到了廣大用戶的青睞,得到了廣泛的應(yīng)用,本課題便是基于8086微處理器的多功能密碼鎖。
微電子技術(shù)的高速發(fā)展,出現(xiàn)了磁控鎖,聲控鎖,超聲波鎖,紅外線鎖,指紋鎖,遙控鎖等,這些鎖具有機(jī)械鎖無(wú)可比擬的高保密性能,特別是可以在特定的環(huán)境系統(tǒng)中,按照指定的邏輯關(guān)系實(shí)現(xiàn)系統(tǒng)的程序控制。但是由于成本較高,而且保密性超高,一般供給個(gè)人的箱,柜等等,這在一定程度上也影響了這一類型產(chǎn)品的大范圍推廣應(yīng)用。
此多功能密碼鎖是一款成本低廉,性價(jià)比高的密碼鎖,可以通過(guò)以此為基礎(chǔ)拓展更為豐富多樣的解鎖方式,例如當(dāng)下流行的指紋和虹膜解鎖,為了達(dá)到密碼鎖所需實(shí)現(xiàn)的基本要求,采用了8086微處理器作為核心,矩陣鍵盤作為輸入設(shè)備,LCD液晶顯示作為輸出設(shè)備,同時(shí)也是該產(chǎn)品和用戶的一個(gè)交互窗口,該鎖還提供了密碼修改功能和報(bào)警功能,當(dāng)使用該產(chǎn)品時(shí),液晶顯示屏?xí)@示PLEASE INPUT PASSWORD的提示信息,當(dāng)密碼輸入正確指示燈亮起,同時(shí)顯示OPEN字樣,當(dāng)密碼輸入錯(cuò)誤時(shí)發(fā)出錯(cuò)誤警告聲音,同時(shí)顯示ERROR字樣,還可以實(shí)現(xiàn)對(duì)密碼的修改,修改成功之后,LCD會(huì)提示修改成功并提示新密碼?;诖硕喙δ苊艽a鎖也可以與各類防盜報(bào)警電路配合達(dá)成更為強(qiáng)大的防盜報(bào)警功能。
1.1 系統(tǒng)硬件設(shè)計(jì)總體框架
系統(tǒng)硬件模塊包含:微處理器控制模塊,采用8086芯片;LCD液晶顯示模塊,采用LCD1602液晶屏;鍵盤輸入模塊,采用4×4矩陣鍵盤;開鎖報(bào)警模塊,采用蜂鳴器,LED以及電機(jī)構(gòu)成。系統(tǒng)總框架如圖1所示。
圖1 系統(tǒng)總框架
1.2 8086系統(tǒng)模塊
微處理器控制模塊使用8086作為CPU,74LS373作為地址鎖存器,可編程并行I/O接口芯片8255A作為并行I/O接口電路,如圖2所示。8086CPU由于引腳數(shù)目的限制,數(shù)據(jù)地址信號(hào)等引腳是分時(shí)復(fù)用的,構(gòu)成微型計(jì)算機(jī)系統(tǒng)必須外接總線配置芯片將復(fù)用的信號(hào)加以分離。利用74LS373將總線上的地址碼暫存起來(lái)。在CPU與外部通信時(shí),必須先發(fā)送存儲(chǔ)器或I/O端口的地址才能正確地發(fā)送數(shù)據(jù)[4]。通過(guò)74LS245實(shí)現(xiàn)8086與8255A芯片的雙向數(shù)據(jù)傳輸,并行接口具有傳送數(shù)據(jù)速度快、要求傳輸線較多的特點(diǎn)[5]。本系統(tǒng)中8255A選擇的是A組,以工作方式0輸出;B組以工作方式0輸出;C組端口高半字節(jié)輸入,低半字節(jié)輸出。A組連接LCD液晶顯示器8位數(shù)據(jù)線,B組連接低3位連接LCD液晶顯示器的控制引腳,同時(shí)控制報(bào)警器和開鎖指示燈以及電機(jī)。C口連接矩陣鍵盤[6]。
圖2 微處理器控制模塊
1.3 LCD液晶顯示模塊
LCD液晶顯示模塊使用LCD1602液晶屏,實(shí)物如圖3所示,受8255A的PA及PB口的低三位控制,電路如圖4所示,它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)的點(diǎn)陣型液晶模塊,顯示能容為16×2即可以顯示兩行,每行16個(gè)字符液晶顯示方陣[7]。LCD1602為16腳,1,2腳分別為電源地(VSS)和電源正極(VDD),3,4,5腳是控制引腳分別為數(shù)據(jù)/命令選擇端(RS)、讀/寫選擇端(R/W)、使能信號(hào)(E),7—14腳為8位的數(shù)據(jù)傳輸引腳,15,16腳為背光LED的電源的正極(LED+)和負(fù)極(LED-),若要向LCD中寫入命令則使RS=0,RW=0,E=1,D0-D7=指令碼。寫入數(shù)據(jù)則使RS=1,RW=0,E=1,D0-D7=數(shù)據(jù)。常用指令碼有初始化指令碼0011 1000。
圖3 LCD1602實(shí)物
圖4 LCD液晶顯示模塊
LCD1602的第一行字符起始顯示方陣地址為80 H,該行其余的顯示方陣可以通過(guò)80 H加上偏移地址來(lái)得到地址碼,先使RS=0,RW=0,E=1通過(guò)D0-D7寫入地址碼,再使RS=1,RW=0,E=1通過(guò)D0-D7寫入字符對(duì)應(yīng)的表格數(shù)據(jù)碼,即可在LCD指定位置上顯示一個(gè)指定的字符。
1.4 矩陣鍵盤模塊
矩陣鍵盤模塊采用四腳開關(guān)組成4×4鍵盤,實(shí)物如圖5所示,它與8255A芯片的PC端口相連,電路如圖6所示,本系統(tǒng)中使用了其中的12個(gè)鍵,包括數(shù)字鍵0-9和輸入鍵input和修改密碼鍵write。矩陣鍵盤是通過(guò)軟件實(shí)現(xiàn)對(duì)4×4的按鍵進(jìn)行動(dòng)態(tài)逐行掃描,并實(shí)現(xiàn)按鍵的單次點(diǎn)擊識(shí)別。通過(guò)使用8255A芯片PC端口低半字節(jié)輸出、高半字節(jié)輸入,再將鍵盤狀態(tài)讀取至8086中,接著對(duì)數(shù)據(jù)進(jìn)行處理并識(shí)別被點(diǎn)擊的按鍵,最終將輸入保存的六位數(shù)據(jù)進(jìn)行密碼核對(duì)或密碼修改。
圖5 矩陣鍵盤實(shí)物
1.5 開鎖報(bào)警模塊
開鎖報(bào)警模塊分為3個(gè)部分,如圖7所示,由8255A芯片的PB口的高四位和低四位分別進(jìn)行控制,當(dāng)輸入密碼核對(duì)正確時(shí),控制PB4口輸出低電平,使開鎖指示燈亮起,同時(shí)帶鐵芯的電感線圈由于電流產(chǎn)生磁性,將密碼鎖的鎖芯吸起使密碼鎖得以打開。當(dāng)程序識(shí)別輸入密碼錯(cuò)誤時(shí),通過(guò)8086控制8255A芯片的低四位輸出低電平,通過(guò)與非門使蜂鳴器發(fā)出報(bào)警,通過(guò)增加外圍電路可以實(shí)現(xiàn)多種報(bào)警方式,例如添加藍(lán)牙通信模塊可進(jìn)行近距離無(wú)線報(bào)警。
本系統(tǒng)的軟件設(shè)計(jì)分為3個(gè)部分,主要包括驅(qū)動(dòng)LCD1602液晶顯示程序設(shè)計(jì)、矩陣鍵盤程序設(shè)計(jì)以及密碼存儲(chǔ)核對(duì)及修改程序設(shè)計(jì),系統(tǒng)主程序流程如圖8所示。
本系統(tǒng)設(shè)計(jì)以8086作為多功能密碼鎖監(jiān)控裝置的檢測(cè)與控制核心,通過(guò)編程實(shí)現(xiàn)對(duì)密碼鎖開關(guān)的控制。其特點(diǎn)是使用靈活性好,用戶可以隨時(shí)修改密碼,防止由于鑰匙丟失而引起的安全性下降。而不像機(jī)械鎖必須佩戴鑰匙才能開鎖。隨著科技發(fā)展和人們生活需求的提高,磁卡型、遙控型、指紋型電子鎖已成為現(xiàn)在的發(fā)展趨勢(shì),并且此密碼鎖基于8086編程靈活,能夠以此為基礎(chǔ)增加外圍模塊,拓展出更為強(qiáng)大的功能,擁有較為廣泛的市場(chǎng)前景。
圖7 開鎖報(bào)警模塊
圖8 主程序流程
[1]謝龍漢,莫衍.Proteus電子電路設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2012.
[2]王慶生.匯編語(yǔ)言程序設(shè)計(jì)教程[M].北京:人民郵電出版社,2013.
[3]閻石.數(shù)字電路技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.
[4]尹建華.微型計(jì)算機(jī)原理與接口技術(shù)[M].2版.北京:高等教育出版社,2008.
[5]顧暉,梁惺彥.微機(jī)原理與接口技術(shù)—基于8086和Proteus仿真[M].北京:電子工業(yè)出版社,2011.
[6]何宏.微機(jī)原理與接口技術(shù)—基于Proteus仿真的8086微機(jī)系統(tǒng)設(shè)計(jì)及應(yīng)用[M].北京:清華大學(xué)出版社,2015.
[7]郭天祥.新概念51單片機(jī)C語(yǔ)言教程—入門、提高、開發(fā)[M].北京:電子工業(yè)出版社,2009.
Analysis on multi-function combination lock project based on 8086 microcomputer
Xiong Peixuan,Wan Zaihong*, Jia Yuqi, Hu Weiqian
(Information Engineering College of Nanchang Hangkong University , Nanchang 330000, China)
This topic is based on 8086 microprocessor, and designs a simple low cost of multi-function combination lock, aiming at solving safety problems of people’s daily life and work. Take advantage of the characteristics of 8086 microprocessor programmable[1]in the Proteus simulation software, with assembly language as the medium[2], at last, through matrix keyboard input and LCD1602 display to realize the multi-functional combination lock’s a series of functions of open, close and alarm, and password revision, and liquid crystal display password, successful serving as the role of security guards.
multi-function combination lock; Proteus simulation; 8086 microprocessor; matrix keyboard; LCD 1602
熊佩軒(1995— ),男,江西樟樹,本科。
*通訊作者:萬(wàn)在紅(1970— ),女,江西南昌,碩士,副教授;研究方向:工藝過(guò)程控制。