版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.1/31摘要電子密碼鎖己廣泛的應(yīng)用于日常生活中,隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,單片機(jī)已成為電子產(chǎn)品研制和開發(fā)中首選的控制器。由于單片機(jī)具有體積小,耗電少,控制精度高,運(yùn)行可靠等的特點(diǎn),所以廣泛應(yīng)用于生產(chǎn)實(shí)際中。電子密碼鎖是每個(gè)行業(yè)和生活中的重要參數(shù)之一。為了更好地推廣電子鎖在各領(lǐng)域中的應(yīng)用,在此根據(jù)任務(wù)要求設(shè)計(jì)了一種基于AT89S52單片機(jī)控制的電子密碼鎖。并介紹了單片機(jī)控制的矩陣式開關(guān)與數(shù)碼管控制裝置及其工作原理、設(shè)計(jì)思想、以及硬件電路和軟件程序等。裝置應(yīng)用AT89S52單片機(jī),通過單片機(jī)編寫密碼程序,并用74LS47和3-8譯碼器74LS138驅(qū)動(dòng)的數(shù)碼管來(lái)顯示密碼。數(shù)碼管可以時(shí)時(shí)顯示當(dāng)前輸入的六位數(shù)字。當(dāng)輸入密碼正確時(shí),對(duì)應(yīng)的指示燈亮;當(dāng)密碼不正確時(shí),另一個(gè)對(duì)應(yīng)的指示燈亮且并且發(fā)出聲音報(bào)警。關(guān)鍵詞:矩陣式鍵盤,單片機(jī),數(shù)碼管顯示,電子密碼鎖,譯碼器..AbstractElectroniclockshavebeenwidelyusedindailylife,aselectronicproductstointelligentandminiaturization,SCMhasbecomeelectronicproductresearchanddevelopmentinthepreferredcontroller。Sincethemicrocontrollerwithsmall,lowpowerconsumption,highprecisioncontrol,reliable,andmorefeatures,itiswidelyusedinproduction。Electroniccodelockisthelifeofeachindustryandoneoftheimportantparameters。Inordertobetterpromoteelectroniclocksinallareasofapplication,wedesignedanapplicationMCUAT89S52microcontroller-basedcontroldesignofamatrixswitchwithdigitalcontroldevicesandtheirworkingprinciple,design,andhardwareandsoftwareofelectroniclock。AT89S52microcontrollerdeviceapplications,thepasswordprogramwrittenbySCM,and3-8with74LS47Decoder74LS138-drivendigitalcontroltodisplaythepassword。Digitaltubecanalwaysdisplaythecurrentinputofsixdigits。Whenyouenterthepasswordcorrectly,thecorrespondingindicatorlight;Whenthepasswordisincorrect,theother,andthecorrespondingindicatorlightandsoundalarm。Keyword:Matrixkeyboard,SCM,Digitaldisplay,Electroniclocks..目錄摘要ⅠAbstractⅡ引言1第1章.系統(tǒng)方案選擇和論證21.1設(shè)計(jì)要求21.2系統(tǒng)基本方案21.2.1系統(tǒng)框圖21.2.2各模塊方案選擇和論證31.2.3系統(tǒng)各模塊的最終方案4第2章.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)62.1系統(tǒng)硬件概述62.2主要單元電路的設(shè)計(jì)62.2.1鍵盤掃描模塊電路的設(shè)計(jì)62.2.2單片機(jī)控制模塊電路的設(shè)計(jì)72.2.3聲光報(bào)警模塊電路的設(shè)計(jì)82.2.4數(shù)碼顯示模塊電路的設(shè)計(jì)9第3章.系統(tǒng)的軟件設(shè)計(jì)113.1系統(tǒng)軟件概述113.1.1軟件系統(tǒng)分析113.1.2主程序流程圖:123.2子程序的設(shè)計(jì)133.2.1自檢子程序133.2.2鍵盤掃描子程序143.2.3移位子程序153.2.4顯示子程序163.2.5密碼顯示子程序173.2.6開鎖子程序183.2.7修改密碼子程序19第4章.分析與結(jié)論20第5章.致謝辭20第6章.參考文獻(xiàn)21附錄A:系統(tǒng)電路圖22附錄B:系統(tǒng)主要元件清單24附錄C:系統(tǒng)程序清單25附錄D:系統(tǒng)使用說明書36...引言在日常的生活和工作中,住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來(lái)解決。若使用傳統(tǒng)的機(jī)械式鑰匙開鎖,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求越來(lái)越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見不鮮。電子密碼鎖是由電子電路控制鎖體的新型鎖具,它采用觸摸鍵盤方式輸入開鎖密碼,操作方便。觸摸式電子鎖的輸入部分采用觸摸開關(guān)〔鍵盤輸入,其優(yōu)勢(shì)在于傳統(tǒng)的機(jī)械開關(guān)之出在于其保密性高,使用靈活性好,安全系數(shù)高,無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)等受到了廣大用戶的親呢。出于安全、方便等方面的需要許多電子密碼鎖已相繼問世。但這類產(chǎn)品的特點(diǎn)是針對(duì)特定有效卡、指紋或聲音有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只能適用于保密要求高且供個(gè)人使用的箱、柜、房間等。而且卡片式IC卡還有易丟失等特點(diǎn),加上其成本一般較高,一定程度上限制了這類產(chǎn)品的普及和推廣。在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用也日趨重要。一般來(lái)說大部分電子密碼鎖設(shè)計(jì)采用單片機(jī)為核心單元,設(shè)計(jì)一款具有本機(jī)開鎖和報(bào)警功能的電子密碼鎖,既簡(jiǎn)單又實(shí)用。在設(shè)計(jì)此類系統(tǒng)中主要由單片機(jī)系統(tǒng)、矩陣鍵盤、液晶顯示、密碼存儲(chǔ)和報(bào)警系統(tǒng)組成。設(shè)置開鎖密碼,利用軟件與硬件結(jié)合的方法來(lái)實(shí)現(xiàn)。系統(tǒng)能完成本機(jī)開鎖、超時(shí)報(bào)警、超次鎖定、管理員解密、修改用戶密碼基本的密碼鎖的功能。除上述基本的密碼鎖功能外,有的電子密碼鎖系統(tǒng)還具有調(diào)電存儲(chǔ)、聲光提示等功能,依據(jù)實(shí)際的情況還可以添加遙控功能,此類系統(tǒng)成本低廉,功能實(shí)用。...第1章.系統(tǒng)方案選擇和論證1.1設(shè)計(jì)要求1.1.1初始密碼統(tǒng)一設(shè)定為"123456”1.1.2要求電子密碼鎖具有開機(jī)自檢功能。1.1.316個(gè)陣列式分別代表"1”—"9鎖按鈕、關(guān)閉報(bào)警按鈕、清除最高按鈕、退格按鈕。1.1.4用六位數(shù)碼管時(shí)時(shí)顯示陣列式開關(guān)輸入的數(shù)據(jù)。1.1.5當(dāng)開鎖按鈕被按下時(shí),如果數(shù)碼管當(dāng)前顯示值與密碼值相同則點(diǎn)亮綠燈;如果與密碼值不同則點(diǎn)亮紅燈,并發(fā)出報(bào)警。1.2系統(tǒng)基本方案1.2.1系統(tǒng)框圖簡(jiǎn)易電子密碼鎖是由5個(gè)部分組成,如圖1.1所示:鍵盤模塊鍵盤模塊電源模塊報(bào)警模塊顯示模塊單片機(jī)控制模塊圖1.1電子密碼鎖控制系統(tǒng)電源模塊:由+5V的直流穩(wěn)壓電源供電給整個(gè)系統(tǒng)工作。.鍵盤模塊:由16個(gè)輕觸式開關(guān)組成。單片機(jī)控制模塊:采用支持ISP在線編程技術(shù)的單片機(jī)AT89S52便于燒寫程序。顯示模塊:采用六個(gè)數(shù)碼管時(shí)時(shí)顯示當(dāng)前輸入數(shù)據(jù);報(bào)警模塊:采用發(fā)光二極管和蜂鳴器做聲光報(bào)警。各模塊方案選擇和論證〔1單片機(jī)的選擇方案一:采用AT89C51單片機(jī),它可以與其它51系列的單片機(jī)兼容、內(nèi)部ROM全部采用FLASHROM、最高時(shí)鐘頻率可達(dá)24MHz且能以3V超低壓工作。但不支持ISP在線編程技術(shù)、內(nèi)部ROM僅為4KB不利于功能擴(kuò)展。方案二:采用AT98S52單片機(jī),它具同時(shí)被AT98C51的全部功能外,還支持ISP在線編程技術(shù)且內(nèi)部ROM為8KB有利于功能擴(kuò)展。〔2鍵盤的選擇方案一:使用獨(dú)立式按鍵來(lái)控制使用獨(dú)立式按鍵來(lái)控制數(shù)碼管的顯示,這樣需要很多的按鍵,每個(gè)按鍵實(shí)現(xiàn)一個(gè)能,易于控制,程序編寫簡(jiǎn)單,但是每個(gè)按鍵都要接上拉電阻,占用了單片機(jī)大量的I/O接口資源,要對(duì)單片機(jī)外擴(kuò)I/O口,并且在電路焊接方面又不方便,還要浪費(fèi)大量的資源,提高了成本。方案二:采用矩陣式鍵來(lái)控制把按鍵按行列組成矩陣,在行列交點(diǎn)上都對(duì)應(yīng)有一個(gè)鍵,這樣使用的按鍵要少,為判定有無(wú)鍵被按下以及被按鍵的位置,這種稱為鍵掃描法。這樣雖然提高了編程難度,但是節(jié)約了單片機(jī)大量的I/O口,免去了上拉電阻為焊接帶來(lái)了方便,提高了整塊電路板的美觀度。〔3顯示模塊的選擇方案一:數(shù)碼管靜態(tài)顯示采用LED數(shù)碼管靜態(tài)顯示方法,電路容易理解,驅(qū)動(dòng)程序簡(jiǎn)單,但需要每個(gè)數(shù)碼管都要一塊74LS47來(lái)驅(qū)動(dòng)顯示,增高了成本,浪費(fèi)系統(tǒng)硬件資源,而需要占用單片機(jī)多個(gè)I/O口。方案二:數(shù)碼管動(dòng)態(tài)顯示.采用LED數(shù)碼管動(dòng)態(tài)掃顯示方法,只需一塊數(shù)碼管驅(qū)動(dòng)器芯片和一塊譯碼器芯片就可以驅(qū)動(dòng)多個(gè)數(shù)碼管,價(jià)格便宜,只需要7個(gè)I/O口就可以同時(shí)驅(qū)動(dòng)8個(gè)數(shù)碼管顯示。硬件利用效率高,驅(qū)動(dòng)程序容易理解和編程。方案三:液晶顯示采用LCD液晶顯示,顯示的位數(shù)多,由單片機(jī)驅(qū)動(dòng)。此方案有美觀、顯示清晰多樣的優(yōu)點(diǎn)。但同時(shí)液晶顯示器的驅(qū)動(dòng)程序復(fù)雜,編程困難,成本高,價(jià)格昂貴,浪費(fèi)大量的資源?!?數(shù)碼管驅(qū)動(dòng)選擇采用74LS47驅(qū)動(dòng)數(shù)碼管和74LS138譯碼器來(lái)控制數(shù)碼管的COM端,因?yàn)?4LS47只能驅(qū)動(dòng)共陽(yáng)數(shù)碼管,而74LS138的輸出為低電平有效。因此,在74LS138的輸出端加入反向器才可以接到數(shù)碼管的COM端。方案一:74LS04芯片的選擇采用74LS04芯片做反向器,74LS47是集成六反向器芯片,剛好可驅(qū)動(dòng)六個(gè)數(shù)碼管,但是它的輸入輸出引腳兩邊均分布,造成跳線較多給電路焊接時(shí)帶來(lái)麻煩影響了整塊電路的美觀度。方案二:三極管的選擇三極管也具有反向的功能,采用的是PNP管,電路的連接中又方便,減少了跳線提高美觀度?!?報(bào)警模塊的選擇方案一:采用語(yǔ)音報(bào)警,雖然可以使整個(gè)系統(tǒng)更加完美,但是會(huì)使程序更加復(fù)雜而且提高了整個(gè)系統(tǒng)的造價(jià)。方案二:采用發(fā)光二極管和蜂鳴器來(lái)報(bào)警,可以發(fā)出聲光報(bào)警且降低了成本。系統(tǒng)各模塊的最終方案結(jié)合整個(gè)系統(tǒng)的功能、成本、美觀度等綜合考慮,用AT89S52單片機(jī)為主控模塊、用4×4鍵盤輸入、用74LS47、74LS138和三極管來(lái)驅(qū)動(dòng)六個(gè)數(shù)碼管做顯示模塊、用發(fā)光二極管和蜂鳴器做為報(bào)警模塊。系統(tǒng)框圖如圖1.2.44×4鍵盤輸入AT89S52六位數(shù)碼管顯示直流穩(wěn)壓電源聲光報(bào)警圖1.2系統(tǒng)框圖.第2章.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)2.1系統(tǒng)硬件概述本系統(tǒng)是通過鍵盤掃描模塊,既能夠顯示數(shù)據(jù)并且還能修改密碼,開鎖密碼,具有強(qiáng)大的功能,通過鍵盤掃描模塊輸入到單片機(jī)控制系統(tǒng)AT89S52中。然后通過數(shù)碼顯示模塊來(lái)顯示我們所要有數(shù)據(jù),還有一個(gè)就是報(bào)警模塊,當(dāng)輸入的密碼相同時(shí),則顯示模塊的燈點(diǎn)亮,當(dāng)輸入的密碼是錯(cuò)誤時(shí),綠燈點(diǎn)亮,報(bào)警模塊立刻發(fā)出聲音報(bào)警。為了達(dá)到設(shè)定的功能,本裝置鍵盤掃描模塊、單片機(jī)控制模塊、數(shù)碼管顯示模塊,聲光報(bào)警模塊等4模塊組成。2.2主要單元電路的設(shè)計(jì)2.2.1鍵盤掃描模塊電路的設(shè)計(jì)圖2.1鍵盤掃描模塊.如圖2.1所示,本模塊的作用是進(jìn)行鍵盤的掃描,首先判定有沒有鍵被按下,然后再判定被按鍵的位置,因?yàn)殒I盤矩陣有鍵被按下時(shí),被按鍵處的行線和列線被接通,使得開關(guān)之間接通。當(dāng)掃描表明有按鍵被按下之后,緊接著應(yīng)是進(jìn)行去抖動(dòng)處理,一般我們采用的是軟件來(lái)去抖動(dòng),軟件方法則是采用時(shí)間延遲以躲過抖動(dòng),待行線上狀態(tài)穩(wěn)定之后,再進(jìn)行行狀態(tài)輸入。2.2.2單片機(jī)控制模塊電路的設(shè)計(jì)圖2.2單片機(jī)控制模塊如圖2.2所示,單片機(jī)作為本裝置的核心器件,在系統(tǒng)中起到控制聲光報(bào)警、以及數(shù)碼動(dòng)態(tài)顯示的作用,其中采用的是AT89S52,AT89S52是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,有4個(gè)八位的并行雙向I/O端口,分別記作P0、P1、P2、P3。第20引腳為接地端;第40引腳為電源端;第31引腳需要接高電位使單片.機(jī)選用內(nèi)部程序存儲(chǔ)器;第18、19腳之間接上一個(gè)12MHz的晶振為單片機(jī)提供時(shí)鐘信號(hào);第9腳為復(fù)位腳,當(dāng)其接高電位時(shí),單片機(jī)停止工作。P0口接兩個(gè)發(fā)光二極管和一個(gè)蜂鳴器以實(shí)現(xiàn)聲光報(bào)警功能,P2口連接一片七段譯碼器和一片3-8譯碼器以動(dòng)態(tài)掃描方式同時(shí)驅(qū)動(dòng)六個(gè)數(shù)碼管,P1口與16個(gè)陣列式按鍵相連實(shí)現(xiàn)對(duì)鍵盤的掃描。通過編程既能識(shí)別從譯碼器來(lái)驅(qū)動(dòng)數(shù)碼管來(lái)顯示數(shù)據(jù),同時(shí)也通過運(yùn)行指令來(lái)達(dá)到完成聲光報(bào)警及動(dòng)態(tài)顯示數(shù)碼管等功能。2.2.3聲光報(bào)警模塊電路的設(shè)計(jì)圖2.3聲光報(bào)警模塊如圖2.3所示,本模塊的作用是當(dāng)開鎖按鈕被按下時(shí),如果數(shù)碼管當(dāng)前顯示值相同,則綠燈點(diǎn)亮,當(dāng)輸入的數(shù)與密碼不同時(shí),則紅燈點(diǎn)亮并且蜂鳴器立刻發(fā)出聲音報(bào)警。.2.2.4數(shù)碼顯示模塊電路的設(shè)計(jì)圖2.4數(shù)碼顯示模塊如圖2.4所示,該模塊主要由74LS47譯碼器,74LS138譯碼器和6個(gè)8段數(shù)碼顯示管組成,如圖所示,從編碼器輸送過來(lái)的數(shù)據(jù)經(jīng)過兩片74LS47芯片和74LS138蕊片譯碼后,傳送到8段數(shù)碼顯示管,顯示管根據(jù)接收到數(shù)據(jù)電平的高低來(lái)顯示不同的數(shù)據(jù)。從圖中可以看到單片機(jī)P2口低4位連接一片74LS47七段譯碼器,由于74LS47是共陽(yáng)極數(shù)碼管的七段譯碼器,因此要選用共陽(yáng)極的數(shù)碼管。單片機(jī)P2.0-P21.3的輸出信號(hào)經(jīng)過74LS47譯碼后就可以驅(qū)動(dòng)數(shù)碼管的段碼顯示相應(yīng)的數(shù)字,另外在74LS47的輸出與數(shù)碼管之間還要接上7個(gè)470歐姆的限流電阻,以防止有過大的電流流過時(shí)燒壞數(shù)碼管。P2.4-P2.6口接于3-8譯碼器74LS138的三個(gè)輸入端,而74LS138的輸出端通過三極管分別接于八個(gè)數(shù)碼管的公共極。通過由P1.4-P1.6口的輸出量來(lái)控制74LS138選擇點(diǎn)亮某一個(gè)數(shù)碼管。由于74LS138是低電位有效,所以應(yīng)該采用PNP型的三極管來(lái)驅(qū)動(dòng)數(shù)碼管,在此三極管相當(dāng)于一個(gè)開關(guān)的作用依靠這兩塊芯片就可以控制數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)掃描顯示。.例如:使六個(gè)數(shù)碼管顯示123456。在第一時(shí)刻輸出"0001”給74LS47,讓數(shù)碼管顯示"1”,同時(shí)輸出"000”給74LS138,選擇第一個(gè)數(shù)碼管工作,其余數(shù)碼管不工作,這樣第一時(shí)刻就只有第一個(gè)數(shù)碼管顯示"1”,其余數(shù)碼管均不顯示。同理第二時(shí)刻也只有第二個(gè)數(shù)碼管顯示"2”,依次類推第N時(shí)刻就只有第N個(gè)數(shù)碼管顯示"N"。人的肉眼只能分辨0.1秒內(nèi)的變化,所以如果以每一時(shí)刻...第3章.系統(tǒng)的軟件設(shè)計(jì)3.1系統(tǒng)軟件概述3.1.1軟件系統(tǒng)分析本系統(tǒng)的工作流程為:通過鍵盤掃描來(lái)實(shí)現(xiàn)三種不同的功能,剛開始是設(shè)置的初始密碼123456通過數(shù)碼管來(lái)顯示,用10個(gè)按鍵來(lái)輸入0到9這從右到左依次輸入,還用三個(gè)按鍵來(lái)顯示密碼,修改密碼,開鎖等。當(dāng)開鎖按鈕被按下時(shí),如果數(shù)碼管與當(dāng)前顯示值相同,則點(diǎn)亮LED1;當(dāng)數(shù)碼管值不同時(shí),則點(diǎn)亮LED2,并且立刻發(fā)出報(bào)警聲音。.3.1.2主程序流程圖:開始開始初始化自檢子程序鍵盤掃描子程序有按鍵按下顯示子程序循環(huán)相應(yīng)子程序圖3.1主程序流程圖主程序說明:?jiǎn)纹瑱C(jī)復(fù)位后進(jìn)入初始化把初始密碼"123456"依次存放到40H到45H六個(gè)單元中,把30H到35H六個(gè)單設(shè)置為六位數(shù)碼管顯示數(shù)據(jù)的存放地址,設(shè)置完畢調(diào)用自檢子程序進(jìn)入自檢狀態(tài),自檢完畢調(diào)用掃描子程序?qū)︽I盤進(jìn)行掃描,如果有按鍵被按下則跳轉(zhuǎn)到相應(yīng)的子程序,再調(diào)用顯示子程序把30H到35H六個(gè)單元的數(shù)據(jù)給六個(gè)數(shù)碼管顯示出來(lái)。顯示完畢就跳加掃描子程序繼續(xù)對(duì)鍵盤進(jìn)行掃描,如此循環(huán)。.3.2子程序的設(shè)計(jì)3.2.1自檢子程序開始開始30H→38H移位次數(shù)6→R008H→P1顯示移位R0=0?〔38H=0?關(guān)閉自檢返回NONOYESYES圖3.2自檢子程序流程圖自檢子程序說明:進(jìn)入自檢子程序后先把循環(huán)次數(shù)30賦給38H單元,把移位次數(shù)6賦給R0,再把08H賦給P2口顯示,把08H移位后再賦給P2口,循環(huán)6次完成一次顯示,循環(huán)顯示完30次完成自檢。.3.2.2鍵盤掃描子程序開始開始初始化輸入掃描碼第一列按鍵第二列按鍵第三列按鍵第四列按鍵下一行超過四行防抖取出鍵值跳轉(zhuǎn)相應(yīng)子程序YESYESYESYESYESNONONONONO圖3.3鍵盤掃描子程序流程圖鍵盤掃描程序說明:給鍵盤所連接的P2口賦掃描碼,例如:MOVP2,#0FEH,則掃描最后一行按鍵。寫入這個(gè)掃描碼后P2口的高4位寫入"1",被設(shè)為輸入狀態(tài),低4位中只有P2.0為"0"。而P2口的高4位通過按鍵與低4位相連,所以此時(shí)從P2口的高4位就可以讀入低4位的數(shù)據(jù)。與被按下的鍵相連接的高位口,讀入的數(shù)據(jù)為"0",其它高位口讀入的為"1"從而識(shí)別出是哪一個(gè)按鍵.被按下。隨后再依次對(duì)P2口寫入FDH、FBH、07H,分別掃描第三、第二、第一行,這樣交替循環(huán)便可完成對(duì)4×4鍵盤的掃描。3.2.3移位子程序開始開始〔34H→<35H〔33H→<34H〔32H→<33H〔31H→<32H〔30H→<31H相應(yīng)數(shù)據(jù)→〔30H返回圖3.4移位子程序流程圖移位程序說明:進(jìn)入移位子后就把30H到35H六個(gè)單元里的數(shù)據(jù)向右移一位,移位完畢后把35H單元里的數(shù)據(jù)推出去,把30H單元空出。.3.2.4顯示子程序開始開始循環(huán)次數(shù)40→〔3AH<30H>→P2<31H>→P2<32H>→P2<33H>→P2<34H>→P2<35H>→P23AH減一為0?返回NOYES圖3.5顯示子程序流程圖顯示程序說明:進(jìn)入顯示子程序后把顯示次數(shù)40次賦給3AH單元,把30H到35H六個(gè)單元里的數(shù)據(jù)賦給P2口顯示完一次,顯示完40次返回。.3.2.5密碼顯示子程序開始開始循環(huán)次數(shù)250→〔4AH<40H>→P2<41H>→P2<42H>→P2<43H>→P2<44H>→P2<45H>→P24AH減一為0?返回YESNO圖3.6密碼顯示子程序流程圖密碼顯示程序說明:進(jìn)入密碼顯示子程序后把顯示次數(shù)250次賦給4AH單元,把30H到35H六個(gè)單元里的數(shù)據(jù)賦給P2口顯示完一次,顯示完250次返回。.3.2.6開鎖子程序開始開始〔30H~<35H>=<40H>~<45H>?開鎖返回報(bào)警YESNO圖3.7開鎖子程程序流程圖開鎖程序說明:判斷30H到35H單元里的數(shù)據(jù)與40H到45H單元里的數(shù)據(jù)是否相同,如果相同,開鎖成功綠燈亮;如果不相同,開鎖不成功報(bào)警紅燈亮且蜂鳴器響。.3.2.7修改密碼子程序開始開始成功開鎖修改密碼不修改返回YESNO圖3.8修改密碼子程序流程圖修改密碼程序說明:判斷綠燈是否已點(diǎn)亮,點(diǎn)亮則說明已開鎖成功可修改密碼,否則不修改。..第4章.分析與結(jié)論總體來(lái)看,已經(jīng)完成了題目所要求的基本功能,在完成成基本功能外還有解除報(bào)警功能和退格功能,這樣使整個(gè)系統(tǒng)的功能更加完美,成本也不高,應(yīng)用更加方便。整個(gè)電路從整體上看電路已基本穩(wěn)定,經(jīng)多次檢查已復(fù)合要求,加上軟件上的功能對(duì)于電子密碼鎖來(lái)說已完美。我設(shè)計(jì)的是基于單片機(jī)控制的電子密碼鎖。經(jīng)過一段時(shí)間的努力,我基本上完成了題目的要求設(shè)計(jì)和制作。在設(shè)計(jì)過程中,我首先進(jìn)行方案的設(shè)計(jì),然后是電路的布局和設(shè)計(jì),最后是對(duì)電路進(jìn)行仔細(xì)檢查。在方案的設(shè)計(jì)過程中,經(jīng)過了理論驗(yàn)證和篩選,才確定最終的方案。比如鍵盤掃描的設(shè)計(jì),就考慮過二種不同的方案;對(duì)數(shù)碼顯示模塊的使用,也使用了兩種不同的芯片來(lái)驅(qū)動(dòng)數(shù)碼管。而電路的制作更是成功完成制作的保證,因此在整個(gè)過程中,我從始至終都秉著嚴(yán)謹(jǐn)、認(rèn)真的態(tài)度來(lái)完成特別是在編程的時(shí),開始是一點(diǎn)不懂,看到編程有種頭痛的感覺,但在老師的指導(dǎo)下和同組的幫助下,我的設(shè)計(jì)程序己基本上實(shí)現(xiàn)了??傊?在這次畢業(yè)設(shè)計(jì)當(dāng)中,盡管時(shí)間有些緊迫,卻使我們學(xué)到了許多知識(shí),不管是專業(yè)基礎(chǔ)知識(shí)還是動(dòng)手制作能力,都得到了很大的提高,既開拓了思維也積累了經(jīng)驗(yàn),更重要的是使我們看到自己的不足和今后更需要努力的方向。以后我們將更加努力學(xué)好專業(yè)知識(shí),不斷地積累更豐富的經(jīng)驗(yàn),進(jìn)一步提高動(dòng)手技能。第5章.致謝辭感謝XX城建學(xué)院給予我們這個(gè)畢業(yè)設(shè)計(jì)的機(jī)會(huì),提供了一個(gè)讓我們展示才能,開拓創(chuàng)新思維,激發(fā)創(chuàng)新靈感,交流學(xué)習(xí)的平臺(tái)。我們通過這次畢業(yè)設(shè)計(jì),極大地提高了動(dòng)手能力,磨練了意志,同時(shí)也培養(yǎng)了自主創(chuàng)新的意識(shí)。感謝我的指導(dǎo)老師和在此設(shè)計(jì)過程中幫助我的一些同學(xué),在你們指導(dǎo)和幫助下,我才能順利的完成這次畢業(yè)設(shè)計(jì)。.第6章.參考文獻(xiàn)[1]劉勇.《數(shù)字電路》.電子工業(yè)出版社,2004[2]王法能.《單片機(jī)原理及應(yīng)用》.〔簡(jiǎn)明修訂版科學(xué)出版社,2001[3]趙偉軍.PROTEL99SE教程.人民郵電出版社,2004[4]黃強(qiáng).模擬電子技術(shù).科學(xué)出版社,2003[5]王磊,PLC控制的多功能磁卡式電子密碼鎖設(shè)計(jì),XX大學(xué)學(xué)報(bào),1998[6]祖龍起,劉仁杰,一種新型可編程密碼鎖XX輕工業(yè)學(xué)院學(xué)報(bào),2002[7]寧愛民,應(yīng)用AT89C2051單片機(jī)設(shè)計(jì)電子密碼鎖淮海工學(xué)院學(xué)報(bào)12〔2:28-31,2003[8]曾咭昭,外遙控電子密碼鎖應(yīng)用研究國(guó)外電子元器件,4:7-8,2002[9] 趙克林,姜春茂,韓忠東.《C語(yǔ)言程序設(shè)計(jì)教程》.北京工業(yè)大學(xué)出版[10]李曉白,秦紅磊等主編.《凌陽(yáng)16位單片機(jī)C語(yǔ)言開發(fā)》.北京航空航天大學(xué)出版[11]胡漢才.單片機(jī)原理及其接口技術(shù).清華大學(xué)出版社.1996年[12]余永權(quán).ATMEL89系列〔MCS-51兼容FLASH單片機(jī)原理及應(yīng)用.電子工業(yè)出版社.1997[13]劉樹林,高樹德.《低頻電子線路》.電子工業(yè)出版社。[14]21ic,美信的MAX7219的資料。[15]楊鳴,毛婕,馮文利.《max7219與單片機(jī)的駁接》.發(fā)布時(shí)間2006.06[16]ATmega.ATmega8L-8AC[17]WirelessWorld,1998,vol、84,No、1509,p69;..附錄A:系統(tǒng)電路圖..附錄B:系統(tǒng)主要元件清單.附錄C:系統(tǒng)程序清單ORG0000HLJMPSTARTSTART:MOV40H,#06H;設(shè)置初始密碼為"123456”并分別存放到MOV41H,#15HMOV42H,#24HMOV43H,#33HMOV44H,#42HMOV45H,#51H;六位密碼存放地址MOV30H,#0FFH;六個(gè)數(shù)碼管顯示數(shù)據(jù)存放地址MOV31H,#0FFHMOV32H,#0FFHMOV33H,#0FFHMOV34H,#0FFHMOV35H,#0FFHMOVR0,#06H;自檢移位次數(shù)LCALLZIJIAN;調(diào)用自檢子程序CHENGXU:LCALLSAOMIAO;調(diào)用掃描子程序LCALLXIANSHI;調(diào)用顯示子程序LJMPCHENGXU;循環(huán)ZIJIAN:;自檢子程序MOV38H,#30;循環(huán)次數(shù)A3:SETBP0.0SETBP0.1SETBP0.2MOVA,#00001000B;給數(shù)碼管顯示為"8"A4:MOVP2,AADDA,#00010000B;移位..LCALLDELE;調(diào)用顯示延時(shí)子程序DJNZR0,A4DJNZ38H,A3MOVP1,#0FFH;自檢完畢,關(guān)閉自檢CLRP0.0CLRP0.1CLRP0.2RETDELE:;顯示延時(shí)子程序MOV36H,#250DJNZ36H,$RETXIANSHI:;顯示子程序MOV3AH,#40;顯示循環(huán)次數(shù)XS2:MOVP2,30H;把30H到35H的數(shù)據(jù)給P1口顯示LCALLDELE;調(diào)用顯示延時(shí)子程序MOVP2,31HLCALLDELEMOVP2,32HLCALLDELEMOVP2,33HLCALLDELEMOVP1,34HLCALLDELEMOVP1,35HLCALLDELEDJNZ3AH,XS2;循環(huán)顯示RETSAOMIAO:;掃描子程序MOVR7,#0F7H;輸出掃描碼〔列:1111〔行:0111,掃描第一行MOVR6,#00H;用于檢測(cè)哪個(gè)按鍵被按下HANGSAO:.MOVA,R7MOVP1,A;開始掃描行MOVA,P2SETBCMOVR5,#04H;掃描同一行的4個(gè)按鍵LIESAO:RLCAJNCPANDUAN;檢測(cè)當(dāng)前按鍵是否被下,如果有馬上跳到判斷子程序INCR6;如果當(dāng)前沒有按鍵被按下則檢測(cè)下一個(gè)DJNZR5,LIESAO;檢測(cè)完本行的4個(gè)按鍵,則跳出MOVA,R7SETBCRRCAMOVR7,A;掃描碼右移一位,開始掃描下一行JCHANGSAO;沒有掃描完4行則跳到HANGSAO繼續(xù)掃描,已掃描完4行就返回RETPANDUAN:;判斷是那個(gè)開關(guān)被按下LCALLDEL;調(diào)用消抖延時(shí)子程序MOVA,R6XRLA,#00HJZKAIGUAN1;開關(guān)被按下跳轉(zhuǎn)按鍵1功能子程序MOVA,R6XRLA,#01HJZKAIGUAN2;開關(guān)被按下跳轉(zhuǎn)按鍵2功能子程序MOVA,R6XRLA,#02HJZKAIGUAN3;開關(guān)被按下跳轉(zhuǎn)按鍵3功能子程序MOVA,R6XRLA,#03HJZKAIGUAN4;開關(guān)被按下跳轉(zhuǎn)按鍵4功能子程序MOVA,R6XRLA,#04H.JZKAIGUAN5;開關(guān)被按下跳轉(zhuǎn)按鍵5功能子程序MOVA,R6XRLA,#05HJZKAIGUAN6;開關(guān)被按下跳轉(zhuǎn)按鍵6功能子程序MOVA,R6XRLA,#06HJZKAIGUAN7;開關(guān)被按下跳轉(zhuǎn)按鍵7功能子程序MOVA,R6XRLA,#07HJZKAIGUAN8;開關(guān)被按下跳轉(zhuǎn)按鍵8功能子程序MOVA,R6XRLA,#08HJZKAIGUAN9;開關(guān)被按下跳轉(zhuǎn)按鍵9功能子程序MOVA,R6XRLA,#09HJZKAIGUAN10;開關(guān)被按下跳轉(zhuǎn)按鍵10功能子程序MOVA,R6XRLA,#0AHJZKG11;開關(guān)被按下跳轉(zhuǎn)按鍵11功能子程序MOVA,R6XRLA,#0BHJZKG12;開關(guān)被按下跳轉(zhuǎn)按鍵12功能子程序MOVA,R6XRLA,#0CHJZKG13;開關(guān)被按下跳轉(zhuǎn)按鍵13功能子程序MOVA,R6XRLA,#0DHJZKG14;開關(guān)被按下跳轉(zhuǎn)按鍵14功能子程序MOVA,R6XRLA,#0EHJZKG15;開關(guān)被按下跳轉(zhuǎn)按鍵15功能子程序MOVA,R6XRLA,#0FHJZKG16;開關(guān)被按下跳轉(zhuǎn)按鍵16功能子程序.LJMPSAOMIAOKG11:LJMPKAIGUAN11KG12:LJMPKAIGUAN12KG13:LJMPKAIGUAN13KG14:LJMPKAIGUAN14KG15:LJMPKAIGUAN15KG16:LJMPKAIGUAN16DEL:;消抖延時(shí)子程序MOV3FH,#5D1:MOV3EH,#200DJNZ3EH,$DJNZ3FH,D1RETKAIGUAN1:;按鍵1功能子程序LCALLYIWEI;調(diào)用移位子程序MOV30H,#01H;把"1”給30HRET;按鍵2功能子程序KAIGUAN2:LCALLYIWEIMOV30H,#02HRETKAIGUAN3:;按鍵3功能子程序LCALLYIWEIMOV30H,#03HRETKAIGUAN4:;按鍵4功能子程序LCALLYIWEI.MOV30H,#04HRETKAIGUAN5:;按鍵5功能子程序LCALLYIWEIMOV30H,#05HRETKAIGUAN6:;按鍵6功能子程序LCALLYIWEIMOV30H,#06HRETKAIGUAN7:;按鍵7功能子程序LCALLYIWEIMOV30H,#07HRETKAIGUAN8:;按鍵8功能子程序LCALLYIWEIMOV30H,#08HRETKAIGUAN9:;按鍵9功能子程序LCALLYIWEIMOV30H,#09HRETKAIGUAN10:;按鍵10功能子程序LCALLYIWEIMOV30H,#00HRETKAIGUAN11:;顯示密碼子程序〔按鍵11功能子程序MOV4AH,#250;顯示循環(huán)次數(shù)XX:MOVP2,40H;把40H~~45H里的數(shù)據(jù)給P1口讓數(shù)碼管顯示LCALLDELEMOVP2,41HLCALLDELEMOVP2,42H.LCALLDELEMOVP2,43HLCALLDELEMOVP2,44HLCALLDELEMOVP2,45HLCALLDELEDJNZ4AH,XXRETKAIGUAN12:;開鎖子程序〔按鍵12功能子程序MOVA,30HXRLA,40H;檢查輸入密碼是否正確JNZBAOJING;不正確調(diào)用報(bào)警子程序報(bào)警2SMOVA,31HXRLA,41HJNZBAOJINGMOVA,32HXRLA,42HJNZBAOJINGMOVA,33HXRLA,43HJNZBAOJINGMOVA,34HXRLA,44HJNZBAOJINGMOVA,35HXRLA,45HJNZBAOJINGSETBP0.0;輸入密碼正確綠燈點(diǎn)亮RETKAIGUAN13:;修改密碼確認(rèn)子程序〔按鍵13功能子程序JNBP0.0,BUGAI;判斷綠是否點(diǎn)亮MOV40H,30H;把當(dāng)前顯示數(shù)據(jù)設(shè)為密碼MOV41H,31H.MOV42H,32HMOV43H,33HMOV44H,34HMOV45H,35HCLRP0.0;密碼修改成功,關(guān)閉綠燈BUGAI:RETKAIGUAN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GRP時(shí)間管理RevB》課件
- 2025年長(zhǎng)沙貨運(yùn)從業(yè)資格證考試模擬考試題庫(kù)答案
- 2025年內(nèi)蒙古貨物運(yùn)輸從業(yè)資格證考試題
- 2025年廣安貨運(yùn)資格證考試題
- 2025年石家莊貨運(yùn)從業(yè)考試試題答案解析
- 粵教版八年級(jí)下冊(cè)地理-第八章-珠江三角洲-單元檢測(cè)
- 社區(qū)用電安全規(guī)定
- 四川省城市排水工程招標(biāo)文件
- 文化產(chǎn)業(yè)園硅PU施工合同
- 裝卸作業(yè)應(yīng)急預(yù)案
- GA/T 1300-2016社會(huì)消防安全培訓(xùn)機(jī)構(gòu)設(shè)置與評(píng)審
- 高中期末復(fù)習(xí) 高效備考主題班會(huì) 課件
- 兒童故事:約瑟夫有件舊外套課件
- 2023年9月新《醫(yī)療器械分類目錄》-自2023年8月1日起施行
- 水池滿水試驗(yàn)報(bào)告
- 兩班倒排班表excel模板
- 數(shù)學(xué)說題大賽評(píng)分標(biāo)準(zhǔn)
- 人教版高中英語(yǔ)必修5_unit2The_united_Kingdom_Reading
- 哈汽東芝型超超臨界1000MW汽輪機(jī)低壓缸動(dòng)靜碰磨故障分析與對(duì)策
- 溫州市房屋租賃合同-通用版
- 醫(yī)源性冠狀動(dòng)脈夾層的識(shí)別與防治
評(píng)論
0/150
提交評(píng)論