




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)電子密碼鎖設(shè)計(jì)摘要在尋常生活和工作中,住宅與部門(mén)安全防范、單位文獻(xiàn)檔案、財(cái)務(wù)報(bào)表以及某些個(gè)人資料保存多以加鎖辦法來(lái)解決。若使用老式機(jī)械式鑰匙開(kāi)鎖,人們常需攜帶多把鑰匙,使用極不以便,且鑰匙丟失后安全性即大打折扣。老式門(mén)鎖既要備有大量鑰匙,又要緊張鑰匙丟失后麻煩。隨著單片機(jī)問(wèn)世,浮現(xiàn)了帶微解決器密碼鎖,它除具備電子密碼鎖功能外,還引入了智能化、科技化等功能,從而使密碼鎖具備很高安全性、可靠性,受到了廣大顧客親睞。本系統(tǒng)由AT89C51單片機(jī)系統(tǒng)(重要是AT89C51單片機(jī)最小系統(tǒng))、4×4矩陣鍵盤(pán)、LCD1602顯示和報(bào)警系統(tǒng)等構(gòu)成,具備設(shè)立、修改六位顧客密碼、超次報(bào)警、密碼錯(cuò)誤報(bào)警等功能(本設(shè)計(jì)由P0口控制LCD顯示,密碼對(duì)的顯示passwordok!密碼錯(cuò)誤顯示passworderror!超過(guò)三次輸入錯(cuò)誤啟動(dòng)報(bào)警功能。經(jīng)實(shí)驗(yàn)證明,該密碼鎖具備設(shè)計(jì)辦法合理,簡(jiǎn)樸易行,成本低,安全實(shí)用等特點(diǎn),符合住宅、辦公室用鎖規(guī)定,具備推廣價(jià)值。核心詞:AT89C51,LCD1602,電子密碼鎖,4×4矩陣鍵盤(pán)
目錄2215前言 15539第1章概述 2314281.1電子密碼鎖簡(jiǎn)介 291091.2電子密碼鎖發(fā)展趨勢(shì) 2274501.3本設(shè)計(jì)所要實(shí)現(xiàn)目的 3117651.4電子密碼鎖設(shè)計(jì)詳細(xì)規(guī)定 3145801.5總體設(shè)計(jì)方案選定 432213第2章硬件設(shè)計(jì) 580122.1單片機(jī)AT89C51簡(jiǎn)介 5178002.1.1重要特性 5251172.1.2引腳功能闡明 643362.2液晶顯示LCD1602簡(jiǎn)介 980492.3硬件電路設(shè)計(jì) 11268682.3.1硬件設(shè)計(jì)原理 1170502.3.2最小系統(tǒng)設(shè)計(jì) 12194182.3.3芯片擦除 15169902.3.4開(kāi)鎖機(jī)構(gòu) 15269842.3.5鍵盤(pán)設(shè)計(jì) 16127282.3.6顯示電路設(shè)計(jì) 18186662.4電路設(shè)計(jì)總圖 1931134第3章系統(tǒng)軟件設(shè)計(jì) 20288213.1系統(tǒng)軟件設(shè)計(jì)總體流程 20278213.2主程序模塊 2084153.3鍵盤(pán)掃描及程序流程圖 21267593.4系統(tǒng)密碼及開(kāi)鎖程序流程圖 233015第4章程序調(diào)試 25323954.1系統(tǒng)調(diào)試過(guò)程 25284494.2系統(tǒng)調(diào)試成果 2726477結(jié)論 2929269參照文獻(xiàn) 3016485附錄 32前言隨著社會(huì)物質(zhì)財(cái)富日益增長(zhǎng)和人們生活水平提高,安全成為當(dāng)代居民最關(guān)懷問(wèn)題之一。此外電子技術(shù)飛速發(fā)展,給老式機(jī)械鎖帶來(lái)了巨大變革,當(dāng)代電子技術(shù)與機(jī)械技術(shù)相結(jié)合,產(chǎn)生了一大批智能鎖:指紋鎖、IC卡辨識(shí)、遙控鎖、聲控鎖等先進(jìn)鎖具。雖然此類產(chǎn)品安全性高,但是此類產(chǎn)品特點(diǎn)是針對(duì)特定指紋或有效卡,只能合用于保密規(guī)定高且僅供個(gè)人使用箱、柜、房間等。并且卡片式IC卡尚有易丟失等特點(diǎn),加上其生產(chǎn)成本高,安裝使用不以便,一定限度上限制了此類產(chǎn)品普及和推廣。由于數(shù)字、字符、圖形圖像、人體生物特性和時(shí)間等要素均可成為鑰匙電子信息,組合使用這些信息可以使電子密碼鎖獲得高度保密性,如防范森嚴(yán)金庫(kù),需要使用復(fù)合信息密碼電子密碼鎖,這樣對(duì)盜賊而言是“道高一尺、魔高一丈”。組合使用信息也可以使電子密碼鎖獲得無(wú)窮擴(kuò)展也許,使產(chǎn)品多樣化,對(duì)顧客而言是“千挑百選、自得其所”。本文簡(jiǎn)介是一種基于ST89C51單片機(jī)和4*4矩陣鍵盤(pán)硬件設(shè)計(jì)和軟件實(shí)現(xiàn)辦法,這種電路設(shè)計(jì)具備防試探按鍵輸入、智能控制上鎖、開(kāi)鎖、報(bào)警、修改密碼等各種功能。保密性強(qiáng),靈活性高,外接各種執(zhí)行機(jī)構(gòu),可廣泛用于車(chē)輛、大門(mén)、保險(xiǎn)柜等各種需上鎖場(chǎng)合。第1章概述1.1電子密碼鎖簡(jiǎn)介電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)閉合,完畢開(kāi)鎖、閉鎖任務(wù)電子產(chǎn)品。它種類諸多,有簡(jiǎn)易電路產(chǎn)品,也有基于芯片性價(jià)比較高產(chǎn)品。當(dāng)前應(yīng)用較廣電子密碼鎖是以芯片為核心,通過(guò)編程來(lái)實(shí)現(xiàn)。其性能和安全性已大大超過(guò)了機(jī)械鎖。其特點(diǎn)如下:(1)保密性好,編碼量多,遠(yuǎn)遠(yuǎn)不不大于彈子鎖。隨機(jī)開(kāi)鎖成功率幾乎為零。(2)密碼可變,顧客可以隨時(shí)更改密碼,防止密碼被盜,同步也可以避免因人員更替而使鎖密級(jí)下降。(3)誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。(4)無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。(5)使用靈活性好,不像機(jī)械鎖必要佩帶鑰匙才干開(kāi)鎖。(6)電子密碼鎖操作簡(jiǎn)樸易行,一學(xué)即會(huì)。1.2電子密碼鎖發(fā)展趨勢(shì)在尋常生活和工作中,住宅與部門(mén)安全防范、單位文獻(xiàn)檔案、財(cái)務(wù)報(bào)表以及某些個(gè)人資料保存多以加鎖辦法來(lái)解決。當(dāng)前門(mén)鎖重要用彈子鎖,其鑰匙容易丟失;保險(xiǎn)箱重要用機(jī)械密碼鎖,其構(gòu)造較為復(fù)雜,制造精度規(guī)定高,成本高,且易浮現(xiàn)故障,人們常需攜帶多把鑰匙,使用極不以便,且鑰匙丟失后安全性即大打折扣。針對(duì)這些鎖具給人們帶來(lái)不便若使用機(jī)械式鑰匙開(kāi)鎖,為滿足人們對(duì)鎖使用規(guī)定,增長(zhǎng)其安全性,用密碼代替鑰匙密碼鎖應(yīng)運(yùn)而生。它浮現(xiàn)為人們生活帶來(lái)了很大以便,有很遼闊市場(chǎng)前景。由于電子器件所限,此前開(kāi)發(fā)電子密碼鎖,其種類不多,保密性差,最基本就是只依托最簡(jiǎn)樸模仿電子開(kāi)關(guān)來(lái)實(shí)現(xiàn),制作簡(jiǎn)樸但很不安全,在后為多是基于EDA來(lái)實(shí)現(xiàn),其電路構(gòu)造復(fù)雜,電子元件繁多,也有使用早先20引角2051系列單片機(jī)來(lái)實(shí)現(xiàn),但密碼簡(jiǎn)樸,易破解。隨著電子元件進(jìn)一步發(fā)展,電子密碼鎖也浮現(xiàn)了諸各種類,功能日益強(qiáng)大,使用更加以便,安全保密性更強(qiáng),由此前單密碼輸入發(fā)展到當(dāng)前,密碼加感應(yīng)元件,實(shí)現(xiàn)了真真電子加密,顧客只有密碼或電子鑰匙中同樣,是打不開(kāi)鎖,隨著電子元件發(fā)展及人們對(duì)保密性需求提高浮現(xiàn)了越來(lái)越多電子密碼鎖。出于安全、以便等方面需要許多電子密碼鎖已相繼問(wèn)世。但此類產(chǎn)品特點(diǎn)是針對(duì)特定有效卡、指紋或聲音有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只能合用于保密規(guī)定高且供個(gè)人使用箱、柜、房間等。由于數(shù)字、字符、圖形圖像、人體生物特性和時(shí)間等要素均可成為鑰匙電子信息,組合使用這些信息可以使電子防盜鎖獲得高度保密性,如防范森嚴(yán)金庫(kù),需要使用復(fù)合信息密碼電子防盜鎖,這樣對(duì)盜賊而言是“道高一尺、魔高一丈”。組合使用信息也可以使電子防盜鎖獲得無(wú)窮擴(kuò)展也許,使產(chǎn)品多樣化,對(duì)顧客而言是“千挑百選、自得其所”。可以看出組合使用電子信息是電子密碼鎖后來(lái)發(fā)展趨勢(shì)。1.3本設(shè)計(jì)所要實(shí)現(xiàn)目的本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路,構(gòu)成電子密碼鎖,顧客想要打開(kāi)鎖,必先通過(guò)提供鍵盤(pán)輸入對(duì)的密碼才干將鎖打開(kāi),密碼輸入錯(cuò)誤有提示,為了提高安全性,當(dāng)密碼輸入錯(cuò)誤三次將報(bào)警。密碼可以由顧客自己修改設(shè)定,鎖打開(kāi)后才干修改密碼。修改密碼之前必要再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。1.4電子密碼鎖設(shè)計(jì)詳細(xì)規(guī)定(1)本設(shè)計(jì)為了防止密碼被竊取規(guī)定在輸入密碼時(shí)在LCD屏幕上顯示*號(hào)。(2)設(shè)計(jì)開(kāi)鎖密碼位六位密碼電子密碼鎖。(3)可以LCD顯示在密碼對(duì)的時(shí)顯示PASSWORDOK,密碼錯(cuò)誤時(shí)顯示PASSWORDERROR,輸入密碼時(shí)顯示INPUTPASSWORD。(4)實(shí)現(xiàn)輸入密碼錯(cuò)誤超過(guò)限定三次電子密碼鎖定。(5)4×4矩陣鍵盤(pán)其中涉及0-9數(shù)字鍵和A-F功能鍵(6)本產(chǎn)品具備報(bào)警功能,當(dāng)輸入密碼錯(cuò)誤時(shí)蜂鳴器響并且LED燈亮。(7)密碼可以由顧客自己修改設(shè)定(只支持6位密碼),修改密碼之前必要再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。1.5總體設(shè)計(jì)方案選定采用一種是用以AT89C51為核心單片機(jī)控制方案。選用單片機(jī)AT89C51作為本設(shè)計(jì)核心元件,運(yùn)用單片機(jī)靈活編程設(shè)計(jì)和豐富IO端口,及其控制精確性,實(shí)現(xiàn)基本密碼鎖功能。在單片機(jī)外圍電路外接輸入鍵盤(pán)用于密碼輸入和某些功能控制,外接LCD1602顯示屏用于顯示作用。其原理如下圖1-1所示:圖1-1單片機(jī)控制密碼鎖原理框圖第2章硬件設(shè)計(jì)2.1單片機(jī)AT89C51簡(jiǎn)介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)低電壓,高性能CMOS8位微解決器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器單片機(jī)。單片機(jī)可擦除只讀存儲(chǔ)器可以重復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMELAT89C51是一種高效微控制器,AT89C20與工業(yè)原則MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU51是它一種精簡(jiǎn)版本。AT89C單片機(jī)為諸多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉方案。圖2-1AT89C51與AT89C20512.1.1重要特性(1)與MCS-51兼容;(2)4K字節(jié)可編程閃爍存儲(chǔ)器;(3)壽命:1000寫(xiě)/擦循環(huán);(4)數(shù)據(jù)保存時(shí)間:;(5)全靜態(tài)工作:0Hz-24Hz;(6)三級(jí)程序存儲(chǔ)器鎖定;(7)128*8位內(nèi)部RAM;(8)32可編程I/O線;(9)兩個(gè)16位定期器/計(jì)數(shù)器;(10)5個(gè)中斷源;(11)可編程串行通道;(12)低功耗閑置和掉電模式;(13)片內(nèi)振蕩器和時(shí)鐘電路;2.1.2引腳功能闡明圖2-2單片機(jī)引腳圖Vcc:電源電壓GND:接地P0口:P0口是一組8位漏極開(kāi)路型雙向I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在F1ash編程時(shí),P0口接受指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),規(guī)定外接上拉電阻。P1口:Pl是一種帶內(nèi)部上拉電阻8位雙向I/O口,Pl輸出緩沖級(jí)可驅(qū)動(dòng)(吸取或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“l(fā)”,通過(guò)內(nèi)部上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),由于內(nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一種電流(IIL),F(xiàn)lash編程和程序校驗(yàn)期間,Pl接受低8位地址。P2口:P2是一種帶有內(nèi)部上拉電阻8位雙向I/O口,P2輸出緩沖級(jí)可驅(qū)動(dòng)(吸取或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),由于內(nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一種電流(IIL),在訪問(wèn)外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@Ri指令)時(shí),P2口線上內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器內(nèi)容),在整個(gè)訪問(wèn)期間不變化。Flash編程或校驗(yàn)時(shí),P2亦接受高位地址和其他控制信號(hào)。P3口:P3口是一組帶有內(nèi)部上拉電阻8位雙向I/0口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸取或輸出電流)4個(gè)TTL邏輯門(mén)電路。P3口除了作為普通I/0口線外,更重要用途是它第二功能,如下表所示:P3口還接受某些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)控制信號(hào)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳浮現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)立SFRAUXRDISRT0位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開(kāi)狀態(tài)。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存容許)輸出脈沖用于鎖存地址低8位字節(jié)。雖然不訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率1/6輸出固定正脈沖信號(hào),因而它可對(duì)外輸出時(shí)鐘或用于定期目。PSEN:程序儲(chǔ)存容許(PSEN)輸出是外部程序存儲(chǔ)器讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效PSEN信號(hào)。EA/VPP:外部訪問(wèn)容許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必要保持低電平(接地)。需注意是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V編程電壓Vpp。XTALl:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器輸入端。XTAL2:振蕩器反相放大器輸出端。89C51相對(duì)于89C51增長(zhǎng)新功能涉及:(1)ISP在線編程功能,這個(gè)功能優(yōu)勢(shì)在于改寫(xiě)單片機(jī)存儲(chǔ)器內(nèi)程序不需要把芯片從工作環(huán)境中剝離,是一種強(qiáng)大易用功能。(2)最高工作頻率為33MHz,89C51極限工作頻率為24MHz,就是說(shuō)C51具備更高工作頻率,從而具備了更快計(jì)算速度。(3)具備雙工UART串行通道。(4)內(nèi)部集成看門(mén)狗計(jì)時(shí)器,不再需要像C51那樣外接看門(mén)狗計(jì)時(shí)器單元電路。(5)雙數(shù)據(jù)批示器。(6)電源關(guān)閉標(biāo)記。(7)全新加密算法,這使得對(duì)于89C51解密變?yōu)椴灰苍S,程序保密性大大加強(qiáng),這樣就可以有效地保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯。(8)兼容性方面:向下完全兼容51所有字系列產(chǎn)品。(9)程序存儲(chǔ)器寫(xiě)入方式:兩者寫(xiě)入程序方式不同,89C51只支持并行寫(xiě)入,同步需要VPP燒寫(xiě)高壓。89C51則支持Isp在線編程寫(xiě)入技術(shù)。串行寫(xiě)入、速度更快、穩(wěn)定性更好,燒寫(xiě)電壓也僅僅需要4~5V即可。(10)電源范疇:89C51電源范疇寬達(dá)4~5.5V,而89C51在低于4.8V和高于5.3V時(shí)候則無(wú)法正常工作。(11)燒寫(xiě)壽命更長(zhǎng):89C51標(biāo)稱1000次,實(shí)際至少是1000~10000次,這樣更有助于初學(xué)者重復(fù)燒寫(xiě),減少學(xué)習(xí)成本。綜上所述本設(shè)計(jì)選定AT89C51。2.2液晶顯示LCD1602簡(jiǎn)介1.LM1602字符型模塊性能重量輕:<100g;體積?。?lt;11mm厚;功耗低:10—15mW;顯示內(nèi)容:192種字符(5×7點(diǎn)字型);32種字符(5×10點(diǎn)字型);可自編8(5×7)或許(5×10)種字符;指令功能強(qiáng):可組合成各種輸入、顯示、移位方式以滿足不同規(guī)定;接口簡(jiǎn)樸以便:可與8位微解決器或微控制器相聯(lián);工作溫度寬:0—50oC可靠性高:壽命為50,000小時(shí)(25oC)2.基本原理(1)液晶體液晶板上排列著若干5×7或5×10點(diǎn)陣字符顯示位,每個(gè)顯示位可顯示1個(gè)字符,從規(guī)格上分為每行8、16、20、24、32、40位,有一行、兩行及四行三類。(2)工作電路它由KS0066、KS0065及幾種電阻電容構(gòu)成。KS0065是擴(kuò)展顯示字符用(例如:16個(gè)字符×1行模塊就可不用KS0065,16個(gè)字符×2行模塊就要用1片KS0065)接口方面,有8條數(shù)據(jù),三條控線??膳c微解決器或微控制相連,通過(guò)送入數(shù)據(jù)和指令,就可使模塊正常工作。(3)LCD驅(qū)動(dòng)器和控制器A.LCD驅(qū)動(dòng)器KS0065KS0065是用低功耗CMOS技術(shù)制造大規(guī)模LCD驅(qū)動(dòng)IC。它既可當(dāng)行驅(qū)動(dòng)用,也可以當(dāng)列驅(qū)動(dòng)用,由20×2Bin二進(jìn)制移位寄存器、20×2Bin數(shù)據(jù)鎖存器和20×2Bin驅(qū)動(dòng)器構(gòu)成功能:a.40通道點(diǎn)陣LCD驅(qū)動(dòng);b.可選取當(dāng)做行驅(qū)動(dòng)或列驅(qū)動(dòng);c.輸入/輸出信號(hào):輸出,能產(chǎn)生20×2個(gè)LCD驅(qū)動(dòng)波型;輸入,接受控制器送出串行數(shù)據(jù)和控制信號(hào),偏壓(V1—V6);特性:a.顯示驅(qū)動(dòng)偏壓低:靜態(tài)~1/5;b.電源電壓:+5V+10%;c.顯示驅(qū)動(dòng)電源:-5V;d.CMOS解決;e.60引腳、塑封;B.LCD控制器KS0066KS0066是用低功耗CMOS技術(shù)制造大規(guī)模點(diǎn)陣LCD控制器(兼帶驅(qū)動(dòng)器),和4Bin/8Bin微解決器相連連,它能使點(diǎn)陣LCD顯示大小英文字母、符號(hào)。應(yīng)用KS0066,顧客能有少量元件就可構(gòu)成一種完整點(diǎn)陣LCD系統(tǒng)。特性:a.容易和Bin/8BinMpu相連;b.可選取5×7或5×10點(diǎn)字符;c.顯示數(shù)據(jù)RAM容量:80×8Bin(80字符);d.字符發(fā)生器ROM能提供戶所需字符庫(kù)或原則庫(kù);字符容量:192個(gè)字符(5×7點(diǎn)字符);32個(gè)字符(5×10點(diǎn)字符);e.DDRAM和CGRAM都能從Mpu讀取數(shù)據(jù);f.輸出信號(hào):16個(gè)行掃信號(hào)(commonsingnal),40個(gè)列掃信號(hào)(sengmentsingnal)g.電源復(fù)位電路;h.顯示占空比:1/8duty(1Line,5×7dots+Cursor);1/11duty(1Line,5×10dote+Cuesor);1/16duty(2Line,5×7dots+Cuesir);i.振蕩電路;j.指令:11種;k.80引腳、塑封。(4)技術(shù)參數(shù)表2-1極限參數(shù)2.3硬件電路設(shè)計(jì)2.3.1硬件設(shè)計(jì)原理本設(shè)計(jì)重要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示屏和密碼存儲(chǔ)等某些構(gòu)成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能實(shí)現(xiàn)。由顧客通過(guò)連接單片機(jī)矩陣鍵盤(pán)輸入密碼,后通過(guò)單片機(jī)對(duì)顧客輸入密碼與自己保存密碼進(jìn)行對(duì)比,從而判斷密碼與否對(duì)的,然后控制引腳高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)負(fù)載由繼電器換成電子密碼鎖電磁鐵吸合線圈即可,固然也可以用繼電器常開(kāi)觸點(diǎn)去控制電磁鐵吸合線圈。本系統(tǒng)共有兩某些構(gòu)成,即硬件某些與軟件某些。其中硬件某些由電源輸入某些、鍵盤(pán)輸入某些、密碼存儲(chǔ)某些、復(fù)位某些、晶振某些、顯示某些、報(bào)警某些、開(kāi)鎖某些構(gòu)成,軟件某些相應(yīng)由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、建功能程序、密碼設(shè)立程序、EEPROM讀寫(xiě)程序和延時(shí)程序等構(gòu)成。其原理框圖如圖2-3所示:圖2-3電子密碼鎖原理框圖本設(shè)計(jì)單片機(jī)硬件資源分派:P0.0~P0.7用于LCD液晶顯示作用。P3.7和P2.7用于蜂鳴器和報(bào)警燈控制。P2.6用于開(kāi)鎖電路控制。P1.0~P1.7用于鍵盤(pán)電路控制。P2.0~P2.2用于LCD顯示模塊控制端口控制。2.3.2最小系統(tǒng)設(shè)計(jì)當(dāng)MCS-5l系列單片機(jī)復(fù)位引腳RST(全稱RESET)浮現(xiàn)2個(gè)機(jī)器周期以上高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處在循環(huán)復(fù)位狀態(tài)。依照應(yīng)用規(guī)定,復(fù)位操作普通有兩種基本形式:上電復(fù)位和開(kāi)關(guān)復(fù)位。圖2-4即為手動(dòng)(開(kāi)關(guān))復(fù)位電路:圖2-4手動(dòng)復(fù)位電路復(fù)位后狀態(tài)a.復(fù)位后PC值為0000H,表白復(fù)位后程序從0000H開(kāi)始執(zhí)行。b.SP值為07H,表白堆棧底部在07H,普通需要重新設(shè)立SP值。c.P0~P3口值為FFH。P0~P3口用作輸入口時(shí),必要先寫(xiě)入“1”。單片機(jī)在復(fù)位后,已使P0~P3口每一端線為“1”,為這些端線用作輸入口做好了準(zhǔn)備。WDT溢出將使該引腳輸出高電平,因此本設(shè)計(jì)采用圖2-5手動(dòng)復(fù)位電路:圖2-5本設(shè)計(jì)手動(dòng)復(fù)位電路AT89C51中有一種用于構(gòu)成內(nèi)部振蕩器高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器輸入端和輸出端。這個(gè)放大器與作為反饋元件片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖2-3-4。外接石英晶體(或陶瓷諧振器)及電容Cl、C2接在放大器反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容Cl、C2雖然沒(méi)有十分嚴(yán)格規(guī)定,但電容容量大小會(huì)輕微影響振蕩頻率高低、振蕩器工作穩(wěn)定性、起振難易程序及溫度穩(wěn)定性。如果使用石英晶體,咱們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選取40pF±10F。顧客也可以采用外部時(shí)鐘。采用外部時(shí)鐘電路如圖2-5所示。這種狀況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一種2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào),因此對(duì)外部時(shí)鐘信號(hào)占空比沒(méi)有特殊規(guī)定,但最小高電平持續(xù)時(shí)間和最大低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件規(guī)定。圖2-6單片機(jī)自激震蕩電路由于單片機(jī)有內(nèi)部振蕩器,因此本設(shè)計(jì)采用圖2-7晶振電路:圖2-7晶振電路2.3.3芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位電擦除可通過(guò)對(duì)的控制信號(hào)組合,并保持ALE管腳處在低電平10ms來(lái)完畢。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程此前,該操作必要被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率條件下靜態(tài)邏輯,支持兩種軟件可選掉電模式。在閑置模式下,CPU停止工作。但RAM,定期器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM內(nèi)容并且凍結(jié)振蕩器,禁止所用其她芯片功能,直到下一種硬件復(fù)位為止。2.3.4開(kāi)鎖機(jī)構(gòu)顧客通過(guò)LCD提示信息,用鍵盤(pán)輸入對(duì)的密碼,從而達(dá)到開(kāi)鎖目。當(dāng)顧客輸入密碼對(duì)的并且是在按下擬定鍵話,單片機(jī)便輸出開(kāi)門(mén)信號(hào),送到開(kāi)鎖驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開(kāi)門(mén)目。電路驅(qū)動(dòng)和開(kāi)鎖兩級(jí)構(gòu)成。由D4、三極管構(gòu)成驅(qū)動(dòng)電路,其中三極管可以選取普通小功率三極管如9014、9018都可以滿足規(guī)定;開(kāi)鎖某些由繼電器實(shí)現(xiàn),繼電器選用要視狀況而定,但是吸合力要足夠且由一定余量。D1作為開(kāi)鎖提示,當(dāng)輸入密碼對(duì)的時(shí),D1亮;本設(shè)計(jì)電子鎖控制電路重要由繼電器、三極管和發(fā)光二極管構(gòu)成。電子鎖控制電路圖如圖2-3-6所示:圖2-8電磁鎖控制電路圖繼電器線圈一種引腳接電源正極,另一端接NPN三極管集電極。三極管基極通過(guò)一種電阻接單片機(jī)引腳。當(dāng)LOCKCON輸出高電平時(shí),三極管導(dǎo)通,繼電器線圈得電,觸點(diǎn)閉合,相稱于電子鎖閉鎖;當(dāng)LOCKCON輸出低電平時(shí),三極管截止,繼電器線圈失電,觸點(diǎn)釋放,發(fā)光二極管D1亮,相稱于電子鎖開(kāi)鎖。圖中普通二極管是繼電器線圈續(xù)流二極管,為感應(yīng)電動(dòng)勢(shì)提供回路,以免損壞三極管。2.3.5鍵盤(pán)設(shè)計(jì)本設(shè)計(jì)就采用行列式鍵盤(pán),同步也能減少鍵盤(pán)與單片機(jī)接口時(shí)所占用I/O線數(shù)目,在按鍵比較多時(shí)候,普通采用這樣辦法。每一條水平(行線)與垂直線(列線)交叉處不相通,而是通過(guò)一種按鍵來(lái)連通,運(yùn)用這種行列式矩陣構(gòu)造只需要N條行線和M條列線,即可構(gòu)成具備N×M個(gè)按鍵鍵盤(pán)。在這種行列式矩陣鍵盤(pán)非鍵盤(pán)編碼單片機(jī)系統(tǒng)中,鍵盤(pán)解決程序一方面執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下程序段。(1)4×4矩陣鍵盤(pán)工作原理在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口占用,普通將按鍵排列成矩陣形式,如下圖所示。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一種按鍵加以連接。這樣,一種端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多余了一倍,并且線數(shù)越多,區(qū)別越明顯,例如再多加一條線就可以構(gòu)成20鍵鍵盤(pán),而直接用端口線則只能多余一鍵(9鍵)。由此可見(jiàn),在需要鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理。(2)掃描原理把每個(gè)鍵都提成水平和垂直兩端接入,例如說(shuō)掃描碼是從垂直入,那就代表那一行所接受到掃描碼是同一種bit,而讀入掃描碼則是水平,掃描動(dòng)作是先輸入掃描碼,再去讀取輸入值,通過(guò)比對(duì)之后就可懂得是哪個(gè)鍵被按下。例如說(shuō)掃描碼送入01111111,前面0111是代表此時(shí)掃描第一行P1.0列,而背面1111是讓讀取4行接腳先設(shè)為VDD,若此時(shí)第一行第三列按鍵被按下,那讀取成果就會(huì)變成01111101(注意1111變成1101),其中LSB第三個(gè)bit會(huì)由1變成0,這是由于這個(gè)按鍵被按下之后,會(huì)被垂直掃描碼電位short,而把讀取LSBbit電位拉到0,此即為掃描原理。由於這種按鍵是機(jī)械式開(kāi)關(guān),當(dāng)按鍵被按下時(shí),鍵會(huì)震動(dòng)一小段時(shí)間才穩(wěn)定,為了避免讓8051誤判為多次輸入同一按鍵。咱們必要在偵測(cè)到有按鍵被按下,就Delay一小段時(shí)間,使鍵盤(pán)以達(dá)穩(wěn)定狀態(tài),再去判讀所按下鍵,就可以讓鍵盤(pán)輸入穩(wěn)定。圖2-9為鍵盤(pán)整體??驁D:圖2-9鍵盤(pán)整體??驁D2.3.6顯示電路設(shè)計(jì)顯示設(shè)計(jì)采用字符型液晶屏設(shè)計(jì),由單片機(jī)P0口控制顯示,由P2.0~P2.2控制LCD控制端口。本系統(tǒng)設(shè)計(jì)顯示電路是為了給使用者以提示而設(shè)立為達(dá)到界面和諧目,顯示某些由液晶顯示LCD1602取代普通數(shù)碼管完畢。開(kāi)鎖時(shí),按下鍵盤(pán)上開(kāi)鎖按鍵后,運(yùn)用鍵盤(pán)上數(shù)字鍵0-9輸入密碼,每按下一種數(shù)字鍵后在顯示屏上顯示一種*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完畢時(shí),按下確認(rèn)鍵,如果輸入密碼對(duì)的話,LCD顯示“IUPUTRIGHT”,單片機(jī)其中P2.6引腳會(huì)輸出低電平,使三極管導(dǎo)通,電磁鐵吸合,繼電器開(kāi)關(guān)跳轉(zhuǎn),電子密碼鎖被打開(kāi),如果密碼不對(duì)的,LCD顯示屏?xí)@示“IUPUTERROR”,P2.6輸出是高電平,電子密碼鎖不能打開(kāi)。通過(guò)LCD顯示屏,可以清晰地判斷出密碼鎖所處狀態(tài)。電路圖如圖2-10所示:圖2-10LCD液晶顯示電路圖2.4電路設(shè)計(jì)總圖Proteus軟件是LabcenterElectronics公司一款電路設(shè)計(jì)與仿真軟件,它涉及ISIS、ARES等軟件模塊,ARES模塊重要用來(lái)完畢PCB設(shè)計(jì),而ISIS模塊用來(lái)完畢電路原理圖布圖與仿真。Proteus軟件仿真基于VSM技術(shù),它與其她軟件最大不同也是最大優(yōu)勢(shì)就在于它能仿真大量單片機(jī)芯片,例如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,例如鍵盤(pán)、LED、LCD等等。通過(guò)Proteus軟件使用咱們可以容易地獲得一種功能齊全、實(shí)用以便單片機(jī)實(shí)驗(yàn)室。本密碼鎖采用proteus進(jìn)行電路圖設(shè)計(jì),通過(guò)元件選型,用萬(wàn)能實(shí)驗(yàn)版進(jìn)行硬件焊接,以實(shí)現(xiàn)硬件某些。圖2-11為proteus設(shè)計(jì)密碼鎖電路圖整體電路圖:圖2-11設(shè)計(jì)整體電路圖第3章系統(tǒng)軟件設(shè)計(jì)3.1系統(tǒng)軟件設(shè)計(jì)總體流程因設(shè)計(jì)重要是作用匯編語(yǔ)言來(lái)開(kāi)發(fā)51單片機(jī)項(xiàng)目程序,因此一方面必要有一種可以在WindowsXP或Windowsvista操作系統(tǒng)下執(zhí)行匯編語(yǔ)言編譯器,本設(shè)計(jì)采用Keil編譯器進(jìn)行編程,由于它可以支持一系列51單片機(jī)。圖3-1為主程序流程圖:圖3-1主程序流程圖3.2主程序模塊主程序重要是完畢系統(tǒng)初始化、設(shè)立中斷向量、檢查有無(wú)鍵按下、以及調(diào)用顯示等等。主程序某些如下所示:enbitp2.2 ;將lcden管腳連接到單片機(jī)p2.2口rwbitp2.1 ;將lcdrw管腳連接到單片機(jī)p2.1口rsbitp2.0 ;將lcdrs管腳連接到單片機(jī)p2.0口displayequp0 ;將lcd顯示端口連接到p0口上speakerbitp3.7 ;蜂鳴器連接到p3.7口ledbitp2.7 ;開(kāi)鎖信號(hào)連到p2.7口openbitp2.6 ;開(kāi)鎖電路控制端連接到p2.6口returnbitbit20h.1;ORG0000h ;程序開(kāi)始地址LJMPstart;ORG000bh;LJMPintermit_t0;ORG001bh;LJMPintermit_t1;ORG0030h;start:MOVsp,#60h;lcallsys_initialization ;調(diào)用子程序sys_initialization3.3鍵盤(pán)掃描及程序流程圖鍵盤(pán)采用查詢方式,放在主程序中,當(dāng)沒(méi)有按鍵按下時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)子程序解決,解決結(jié)束再返回。(1)矩陣式鍵盤(pán)按鍵辨認(rèn)辦法:擬定矩陣式鍵盤(pán)上何鍵被按下簡(jiǎn)介一種“行掃描法”。行掃描法:行掃描法又稱為逐行(或列)掃描查詢法,是一種最慣用按鍵辨認(rèn)辦法,如上圖所示鍵盤(pán),簡(jiǎn)介過(guò)程如下。a.判斷鍵盤(pán)中有無(wú)鍵按下將所有行線Y0-Y3置低電平,然后檢測(cè)列線狀態(tài)。只要有一列電平為低,則表達(dá)鍵盤(pán)中有鍵被按下,并且閉合鍵位于低電平線與4根行線相交叉4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)中無(wú)鍵按下。b.判斷閉合鍵所在位置在確認(rèn)有鍵按下后,即可進(jìn)入擬定詳細(xì)閉合鍵過(guò)程。其辦法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其他線為高電平。在擬定某根行線位置為低電平后,再逐行檢測(cè)各列線電平狀態(tài)。若某列為低,則該列線與置為低電平行線交叉處按鍵就是閉合按鍵。(2)下面給出一種詳細(xì)例子:?jiǎn)纹瑱C(jī)P1口用作鍵盤(pán)I/O口,鍵盤(pán)列線接到P1口低4位,鍵盤(pán)行線接到P1口高4位。列線P1.0-P1.3分別接有4個(gè)上拉電阻到正電源+5V,并把列線P1.0-P1.3設(shè)立為輸入線,行線P1.4-P.17設(shè)立為輸出線。4根行線和4根列線形成16個(gè)相交點(diǎn)。a.檢測(cè)當(dāng)前與否有鍵被按下。檢測(cè)辦法是P1.4-P1.7輸出全“0”,讀取P1.0-P1.3狀態(tài),若P1.0-P1.3為全“1”,則無(wú)鍵閉合,否則有鍵閉合。b.去除鍵抖動(dòng)。當(dāng)檢測(cè)到有鍵按下后,延時(shí)一段時(shí)間再做下一步檢測(cè)判斷。c.若有鍵被按下,應(yīng)辨認(rèn)出是哪一種鍵閉合。辦法是對(duì)鍵盤(pán)行線進(jìn)行掃描。P1.4-P1.7按下述4種組合依次輸出:P1.71110P1.61101P1.51011P1.40111在每組行輸出時(shí)讀取P1.0-P1.3,若全為“1”,則表達(dá)為“0”這一行沒(méi)有鍵閉合,否則有鍵閉合。由此得到閉合鍵行值和列值,然后可采用計(jì)算法或查表法將閉合鍵行值和列值轉(zhuǎn)換成所定義鍵值其程序流程如圖3-2所示:圖3-2鍵盤(pán)掃描程序流程圖3.4系統(tǒng)密碼及開(kāi)鎖程序流程圖由于設(shè)計(jì)是分模塊化進(jìn)行,因此子程序是整體軟件系統(tǒng)構(gòu)成某些,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)樸化,同步也以便閱讀,修改等,每個(gè)功能模塊均有它自己子程序,在本設(shè)計(jì)中是用LCD顯示數(shù)據(jù),因此就要用到顯示子程序,設(shè)計(jì)中用是矩陣鍵盤(pán),因此就用到鍵盤(pán)掃描子程序,例如尚有顯示初始化子程序、LCD忙檢測(cè)子程序、關(guān)閉狀態(tài)顯示子程序、開(kāi)鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后提示子程序等。如下圖3-3為密碼修改子程序流程圖,圖3-4為開(kāi)鎖程序流程圖:圖3-3設(shè)立密碼子圖3-4輸入密碼開(kāi)鎖流程圖第4章程序調(diào)試4.1系統(tǒng)調(diào)試過(guò)程在硬件支持環(huán)境下,用proteus設(shè)計(jì)好電路,Keil編好程序編譯成芯片可辨認(rèn)C51文獻(xiàn),運(yùn)用PC機(jī)寫(xiě)進(jìn)proteus程序圖芯片內(nèi)進(jìn)行仿真測(cè)試,并對(duì)其浮現(xiàn)錯(cuò)誤進(jìn)行修改,由圖4-1~圖4-3可看出最后調(diào)試成功。圖4-1keil編譯程序成功圖4-2keil生成hex文獻(xiàn)圖4-3proteus調(diào)用keilhex文獻(xiàn)進(jìn)行仿真4.2系統(tǒng)調(diào)試成果調(diào)試成果共有三種狀態(tài),第一種狀態(tài)為上鎖狀態(tài),此時(shí)若要開(kāi)鎖則需輸入對(duì)的密碼。第二種為輸入密碼,若密碼對(duì)的,開(kāi)鎖成功且此時(shí)綠燈亮。第三種狀態(tài)為輸入密碼錯(cuò)誤,需重新輸入密碼。若輸入次數(shù)達(dá)到三次則報(bào)警啟動(dòng)。調(diào)試成果如下圖所示:圖4-4初始上鎖狀態(tài)圖4-5密碼對(duì)的綠燈亮圖4-6密碼錯(cuò)誤啟動(dòng)報(bào)警結(jié)論本學(xué)期課程設(shè)計(jì)總算完畢了,回顧起本次單片機(jī)課程設(shè)計(jì),至今我仍感觸頗多,確,從選題到定稿,從理論到實(shí)踐,可以說(shuō)得是苦多于甜,但是可以學(xué)到諸多諸多東西,同步不但可以鞏固了此前所學(xué)過(guò)知識(shí),并且學(xué)到了諸多在課本上所沒(méi)有學(xué)到過(guò)知識(shí)。通過(guò)這次畢業(yè)設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要。剛開(kāi)始時(shí)我不知該從何著手,日后參照了某些文獻(xiàn),我便開(kāi)始設(shè)計(jì)自己課程設(shè)計(jì)。我用是單片機(jī)芯片實(shí)現(xiàn)主控,LCD顯示,矩陣鍵盤(pán)等部件。我對(duì)這些知識(shí)掌握不太好,因此在作設(shè)計(jì)時(shí)遇到某些問(wèn)題,但通過(guò)不斷努力,終于把密碼鎖思路和模型定了下來(lái),去整頓和修改程序。咱們?nèi)チ藞D書(shū)館借某些參照書(shū),上網(wǎng)找某些有關(guān)資料,并且在指引教師翁教師指引下,我最后都逐個(gè)克服了遇到難題。并且我用是C語(yǔ)言來(lái)實(shí)現(xiàn)控制,這次應(yīng)用鞏固了我C語(yǔ)言知識(shí)??傊矣X(jué)得只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠,必要把所學(xué)理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才干真正為社會(huì)服務(wù),從而提高自己實(shí)際動(dòng)手能力和獨(dú)立思考能力。!參照文獻(xiàn)[1]楊西明,朱騏主編.單片機(jī)編程與應(yīng)用入門(mén)[M].北京:機(jī)械工業(yè)出版社.(06)
[2]先鋒工作室編著.單片機(jī)程序設(shè)計(jì)實(shí)例[J].北京:清華大學(xué)出版社.[3]謝宜仁主編.單片機(jī)實(shí)用技術(shù)問(wèn)答[J].北京:人民郵電出版社.[4]梁麗.電子密碼鎖計(jì)算機(jī)仿真設(shè)計(jì)[J].計(jì)算機(jī)仿真,[5]房小翠,王金鳳編著.單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社.1999(06)[6]王寬仁.可靠安全智能密碼鎖[J].電子技術(shù)應(yīng)用.[7]李捷,陳典濤,陳建華,等.一種基于單片機(jī)電子密碼鎖設(shè)計(jì)[J].農(nóng)機(jī)化研究,[8]董繼成.能防止多次試探密碼單片機(jī)密碼鎖[J].國(guó)外電子元器件.[9]趙益丹,徐曉林,周振峰編著.電子密碼鎖系統(tǒng)原理、設(shè)計(jì)程序及流程圖[J].嘉興學(xué)院學(xué)報(bào),[10]張培仁.基于C語(yǔ)言編程MCS-51單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,(12)[11]李朝清.PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,1999(02)[12]路而紅.專用集成電路設(shè)計(jì)與電子設(shè)計(jì)自動(dòng)化[M].北京:清華大學(xué)出版社,(08)[13]劉文濤.MCS-51單片機(jī)培訓(xùn)教程(C51)版[M].北京:電子工業(yè)出版社,(8)[14]王為青程國(guó)鋼.單片機(jī)KeilCx51應(yīng)用開(kāi)發(fā)技術(shù)[M].北京:人民郵電出版社,(03)[15]范風(fēng)強(qiáng)蘭嬋麗.單片機(jī)語(yǔ)言C51應(yīng)用實(shí)戰(zhàn)集錦[M].電子工業(yè)出版社,[16]龔運(yùn)新.單片機(jī)C語(yǔ)言開(kāi)發(fā)技術(shù)[J].北京:清華大學(xué)出版社,[17]貝貝.單片機(jī)嵌入式應(yīng)用在線開(kāi)發(fā)辦法[M].北京:清華大學(xué)出版社,(07)[18]王宜懷.單片機(jī)原理及其嵌入式應(yīng)用教程[M].北京::北京但愿電子出版社,(12)附錄程序代碼enbitp2.2;rwbitp2.1;rsbitp2.0;displayequp0;speakerbitp3.7;ledbitp2.7;openbitp2.6;returnbitbit20h.1;ORG0000h;LJMPstart;ORG000bh;LJMPintermit_t0;ORG001bh;LJMPintermit_t1;ORG0030h;start:MOVsp,#60h;lcallsys_initialization;main0:lcallstrat_display;main:clrspeakerclrled;setbtr0;lcallkey;cjnea,#'A',next1;LJMPset_password;next1:cjnea,#'B',next2;LJMPinput_password;next2:ajmpmain;sys_initialization:clrled;setbopen;clrspeaker;MOV34h,#'1';MOV35h,#'2';MOV36h,#'3';MOV37h,#'4';MOV38h,#'5';MOV39h,#'6';;存儲(chǔ)初始密碼MOVr7,#12;MOVr0,#40h;loop:MOV@r0,#10h;incr0;djnzr7,loop;;密碼鍵值存儲(chǔ)區(qū)清零完畢lcalldelay0_1s;MOVp0,#03h;callwrite_instruction;;液晶軟復(fù)位MOVp0,#01h;callwrite_instruction;movp0,#3fh;callwrite_instruction;movp0,#0fh;callwrite_instruction;movp0,#06h;callwrite_instruction;;液晶初始化完畢movr4,#10;movtmod,#11h;movth0,#0b0h;setbea;setbet0;;定期器t0,0.5s定期中斷初始化完畢ret;;系統(tǒng)初始化完畢intermit_t0:pushacc;pushpsw;movth0,#3ch;movtl0,#0b0h;djnzr4,return;clrled;movr4,#10;return:poppsw;popacc;reti;intermit_t1:pushacc;pushpsw;movth1,#9eh;movtl1,#58h;djnzr4,return_t1;clrled;cplspeaker;movr4,#10;return_t1:poppsw;popacc;reti;;;;;;;;;;;;;;;;;;鍵盤(pán)掃描key:callks;jnzk1;jmpkey;k1:calldelay;callks;jnzk2;jmpkey;k2:clrtr0;clrled;movr2,#0feh;movr6,#00h;k3:mova,r2;movp1,a;mova,p1;jbacc.4,l1;mova,#0;LJMPlk;l1: jbacc.5,l2;mova,#4;ljmplk;l2:jbacc.6,l3;mova,#8;ljmplk;l3: jbacc.7,next_key;mova,#12;lk: adda,r6;movr6,a;k4: callks;jnzk4;mova,r6;movdptr,#table0;movca,@a+dptr;mov50h,a;;查表取值存入50H,保護(hù)鍵值ret;next_key:incr6;mova,r2;jnbacc.7,key;rla;movr2,a;jmpk3;;;;;;;;;;;;;ks:movp1,#0f0h;mova,p1;xrla,#0f0h;ret;;;;;;;;;;;;;;;;;;設(shè)立密碼程序set_password:callclear_display;movdptr,#table4;callinput_hint;movr0,#40h;callpassword;jbcreturnbit,set_password;;先輸入原密碼完畢movr5,#6;movr0,#40h;movr1,#34h;input_compere:mova,@r0;xrla,@r1;jnzinput_error;incr0;incr1;nop;nop;djnzr5,input_compere;;驗(yàn)證輸入密碼完畢jmpset_password0;input_error:callclear_display;movdptr,#table5;callinput_hint;calldelay1_5s;setbspeaker;calldelay1_5sinc52h;mova,52h;cjnea,#3,set_password;;sjmp$;;輸入密碼錯(cuò)誤次數(shù)超過(guò)3次,鎖死setbSPEAKERlcallwarnninglcallkey;cjnea,#'E',next3;LJMPSTART;next3:nop;;;;;;;;;;;;;;;;set_password0:callclear_display;movdptr,#table2;callinput_hint;movr0,#40h;callpassword;jbcreturnbit,set_password;;第一次輸入新密碼完畢callclear_display;movdptr,#table3;callinput_hint;calldelay1_5s;;顯示再次輸入新密碼完畢callclear_display;movdptr,#table4;callinput_hint;movr0,#46h;callpassword;jbcreturnbit,set_password;;第二次輸入新密碼完畢movr5,#6;movr0,#40h;movr1,#46h;set_compere:mova,@r0;xrla,@r1;jnzset_error;incr0;incr1;djnzr5,set_compere;mov34h,40h;mov35h,41h;mov36h,42h;mov37h,43h;mov38h,44h;mov39h,45h;;存入新密碼完畢jmpmain0;;設(shè)立新密碼成功,返回主程序set_error:callclear_display;movdptr,#table5;callinput_hint;calldelay1_5s;setbspeaker;clrled;ljmpset_password0;;先后兩次輸入新密碼不一致,返回重設(shè);;;;;;;;;;;;;;;;;輸入密碼開(kāi)鎖程序input_password:clrspeakercallclear_display;movdptr,#table4;callinput_hint;movr0,#40h;callpassword;jbcreturnbit,input_password;;輸入原密碼完畢movr5,#6;movr0,#40h;movr1,#34h;input_compere0:mova,@r0;xrla,@r1;jnzinput_error22;incr0;incr1;nop;nop;djnzr5,input_compere0;;驗(yàn)證輸入密碼完畢setbledjmpdisplay_right;input_error22:callclear_display;movdptr,#table5;callinput_hint;calldelay1_5s;clrspeaker;clrled;inc52h;mova,52h;cjnea,#3,input_password;setbspeaker;sjmp$;入密碼錯(cuò)誤超過(guò)3次,鎖死lcallwarnning;;;;;;;;;;;;;;;BAC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程勞務(wù)分工合同
- 展覽展廳租賃服務(wù)合同書(shū)
- 培訓(xùn)學(xué)校服務(wù)合同
- 實(shí)習(xí)協(xié)議沒(méi)到期勞動(dòng)合同
- 汽車(chē)合同變更協(xié)議
- 汽車(chē)城物業(yè)服務(wù)協(xié)議合同
- 戶內(nèi)穿線協(xié)議合同
- 廚房出租合同協(xié)議書(shū)模板
- 合同終止簽收協(xié)議
- 會(huì)計(jì)人員聘用合同協(xié)議書(shū)
- 康復(fù)評(píng)定-常用康復(fù)評(píng)定項(xiàng)目課件
- 半導(dǎo)體物理與器件(第4版)尼曼課后答案【半導(dǎo)體物理與器件】【尼曼】課后小結(jié)與重要術(shù)語(yǔ)解
- 北師大版三年級(jí)數(shù)學(xué)下冊(cè) (什么是面積)面積教學(xué)課件
- 建筑工程材料測(cè)試題及參考答案
- 醫(yī)院檢查報(bào)告單模板
- 《洗紅領(lǐng)巾》(教學(xué)設(shè)計(jì))-一年級(jí)下冊(cè)勞動(dòng)浙教版
- 有償借用鄉(xiāng)村道路協(xié)議書(shū)
- 酶免疫技術(shù)(免疫學(xué)檢驗(yàn)課件)
- 教育經(jīng)濟(jì)與管理院校排名
- 基本農(nóng)田劃定技術(shù)規(guī)程(TDT1032-2011)
- 圍術(shù)期支氣管痙攣
評(píng)論
0/150
提交評(píng)論