版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ThedesignofmatrixkeyboardandLCDdisplaybasedonMCUAbstractThedevelopmentofmicroelectronicstechnologyandindustrialmeasurerequirementbringagoodopportunityfordevelopmentandresearchsystem,whichmakesitabroadprospects.Theequipmenthastheadvantagesofsmallsize,singlepowersupplyandavarietyofoutputvoltageleadsithasaspecialmodule.Throughtheanalysisofthehardwarestructure,wecansummarizeseachmoduleneeds.Forexample,weoftengothroughthekeystorealizethecontroloftheelectronicdevice.Smalltowatchmobilephone,totheTVcomputer,toavarietyofcomplexinstruments,allneedtorealizevariousoperationsthroughthebuttons.Thisdesignisanimportantpartofstepforthefurtherresearch,usingbuttonstocontrolthedisplay,includesomemoduleslikeLCD1602liquidcrystaldisplay,4*4matrixkeyboard,STC89C52single-chipmicrocomputerandotherchips.CombinewiththeProteussoftware,thesimulationresultsaredisplayedontheLCDin1602typeofdata.KEYWORDS:AT89C52single-chip;LCD1602liquidcrystaldisplay;4*4matrixkeyboard;Integratedinfraredemittingandreceiving基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第5頁(yè)。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第5頁(yè)。1緒論1.1課題設(shè)計(jì)背景及其意義近些年來,隨著改革開放的不斷深入,科研教育事業(yè)的不斷進(jìn)步,使得電子行業(yè)得到了快速發(fā)展,人們的精神生活得到很大滿足,許多家庭中也已購(gòu)置各種各樣昂貴的家電產(chǎn)品、首飾等。然而對(duì)于這些價(jià)值不菲的東西,給了我們很大的擔(dān)憂,除了增強(qiáng)平時(shí)的防盜意識(shí)外,我們又該如何采取一些手段或運(yùn)用科技技術(shù)來防止物品被盜呢?就拿我們生活中的一部分,比如門禁,保險(xiǎn)柜等等方面。是的,傳統(tǒng)的機(jī)械鎖靠用鑰匙或靠轉(zhuǎn)動(dòng)數(shù)字的方式已不能滿足需求,軟硬件結(jié)合的有報(bào)警功能的電子密碼鎖解決了我們的需求。技術(shù)層面已能解決一些問題,但是電子密碼鎖相對(duì)昂貴的制造價(jià)格,使其在市場(chǎng)上的推廣受阻,人們無法接觸到這類產(chǎn)品。假若再設(shè)計(jì)生產(chǎn)一種價(jià)格低廉、安全系數(shù)高、穩(wěn)定可靠的電子類密碼鎖,則其推廣度必然會(huì)提升,在防盜和保證安全領(lǐng)域必然會(huì)發(fā)揮更加有效的作用。電子密碼鎖采用軟件硬件相結(jié)合的方式進(jìn)行設(shè)計(jì),通過軟件的編程,確定每個(gè)按鍵所代表的功能,鍵入正確的密碼后通過信號(hào)的傳遞來控制機(jī)械動(dòng)作,從而完成系統(tǒng)預(yù)設(shè)的功能。伴隨著國(guó)民生活水平的不斷提高,對(duì)科技的要求也越來越高,小到錢包、保險(xiǎn)柜,大到安全門鎖以及其他一些安全防范的東西,追求科技先進(jìn)的同時(shí),也追求其物美價(jià)廉,如何均衡這些既能滿足民眾要求,使其普遍被人們認(rèn)可又物美價(jià)廉呢,芯片技術(shù)的發(fā)展很好的解答了這個(gè)問題。隨著大規(guī)模集成電路技術(shù)的發(fā)展與進(jìn)步,尤其是單片機(jī)的問世,結(jié)合硬件電路的設(shè)計(jì),出現(xiàn)了帶微處理器的智能化電子密碼鎖,它除了具有電子密碼鎖的功能外,還可以引入智能化管理、模擬分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,且其成本低廉、功耗小、美觀上檔次、易學(xué)易操作等優(yōu)點(diǎn),可被人們廣泛認(rèn)可,歡迎度日益增加。目前這一技術(shù)普遍被人們接受的同時(shí),其技術(shù)還在不斷更新優(yōu)化,功能不斷強(qiáng)大,可滿足不同需求[6]。1.2紅外遙控技術(shù)的發(fā)展與現(xiàn)狀基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第6頁(yè)。自1800年英國(guó)天文學(xué)家F·W·赫歇爾首次發(fā)現(xiàn)紅外輻射后,世人對(duì)紅外技術(shù)的研究從沒有停止過,也正是他們?cè)谶@一領(lǐng)域不斷的深入研究,才使得紅外技術(shù)運(yùn)用于各行各業(yè),我們的生活也變得多姿多彩!紅外元件種類繁多,每一種還有各個(gè)型號(hào)的器件,如紅外焦平面器件有短波MCT焦平面、Insb紅外焦平面列陣器件、量子阱光導(dǎo)體焦平面列陣,紅外探測(cè)器件有光電導(dǎo)探測(cè)器、光伏導(dǎo)探測(cè)器,紅外發(fā)射與接收器件1838T、IR928-6C等,紅外熱敏元件有NTC熱敏電阻、熱敏傳感器,紅外光學(xué)系統(tǒng)等等廣泛步入了商業(yè)化,使其在工業(yè)化工,軍事航空航天,通信領(lǐng)域,科技實(shí)驗(yàn),醫(yī)療衛(wèi)生,生活交通與生活學(xué)習(xí)等領(lǐng)域普遍運(yùn)用。到了60年代初,發(fā)達(dá)國(guó)家逐漸開始探索,想把遙控技術(shù)運(yùn)用在人們的生活周圍中,但科研實(shí)驗(yàn)與技術(shù)環(huán)境等還沒有達(dá)到條件,其進(jìn)度受到了很大限制。到了70年代后,大規(guī)模的集成電路產(chǎn)品被推廣,具有一定功能的芯片被開發(fā)了出來,此時(shí)的遙控技術(shù)慢慢的完善,實(shí)現(xiàn)了從有線到無線,從振動(dòng)到一體化紅外線,其無線裝置也由電磁波傳輸信號(hào)到紅外媒介傳輸信號(hào),信息干擾情況得到了良好的解決,傳輸?shù)男畔⒘恳泊蠓鹊脑黾?。隨著技術(shù)的日益更新與成熟,多功能遙控器已成為當(dāng)今時(shí)代的主流[8]。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第6頁(yè)。紅外遙控技術(shù)是一種非接觸且通過特定的電路實(shí)現(xiàn)遠(yuǎn)程自動(dòng)控制,具有獨(dú)立性、遠(yuǎn)距離穿越障礙、抗電磁干擾、信息傳輸穩(wěn)定可靠,功耗低,成本低等顯著優(yōu)點(diǎn),其模塊簡(jiǎn)單技術(shù)成熟,與計(jì)算機(jī)結(jié)合后,實(shí)現(xiàn)微機(jī)自動(dòng)識(shí)別和現(xiàn)代安全管理措施為一體,涉及電子,機(jī)械,光學(xué),計(jì)算機(jī)技術(shù),通訊技術(shù)等諸多新技術(shù),是解決重要部門出入口實(shí)現(xiàn)安全防范管理的有效措施。近幾年,紅外遙控技術(shù)得到了迅猛發(fā)展,人們?cè)谧非缶裆钔瑫r(shí)需要物質(zhì)水平的提高,人們?cè)诩t外遙控技術(shù)領(lǐng)域的要求的是更加智能化,功能強(qiáng)大化,更加穩(wěn)定化、小型化[13]。目前紅外遙控技術(shù)的進(jìn)步,使得一些項(xiàng)目在一些極其惡劣環(huán)境下,也能滿足作業(yè),而人們可避免受到傷害。1.3課題設(shè)計(jì)目標(biāo)基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第7頁(yè)。20世紀(jì)80年代后,隨著電子密碼鎖專用集成電路的出現(xiàn),電子密碼鎖的體積得到了大幅度到的縮小,穩(wěn)定性及可靠性能得到了很大的提高,成本方面也得到了減幅,使其被廣大普通人民所接受,推廣度日益提高。但在我國(guó)電子密碼鎖的技術(shù)整體水平尚處于國(guó)際上70年代左右,市場(chǎng)上還是普遍使用傳統(tǒng)機(jī)械鎖,分析原因不外乎電子密碼鎖的成本遠(yuǎn)高于傳統(tǒng)機(jī)械鎖,人們對(duì)安全防范的需求是很高,我國(guó)的現(xiàn)代化建設(shè)也需要科技革新替代傳統(tǒng)鎖,如何實(shí)現(xiàn)電子密碼鎖的成本更低,技術(shù)更優(yōu),使用更加普遍,老百姓也用得起成為我這次設(shè)計(jì)的動(dòng)力與目的。希望通過我以及以后更多人的不斷努力,使電子密碼鎖在我國(guó)也能得到廣泛應(yīng)用。主要實(shí)現(xiàn)功能如下:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第7頁(yè)。1.初始化,LCD1602會(huì)提醒顯示“Welcometouse!”,此時(shí)按下輸入鍵,LCD1602會(huì)提醒“ControlPassword”,要求你輸入設(shè)定密碼;2.密碼通過鍵盤輸入,若密碼輸入正確,則將鎖打開,LCD1602會(huì)提醒顯示“DataEntryOK”,通過REDLED燈亮以及繼電器的動(dòng)斷辨別,此時(shí)按下停駐/關(guān)閉,按一下會(huì)停止,按兩下立即停止;3.報(bào)警、鎖定鍵盤功能,密碼輸入錯(cuò)誤或單次輸入密碼時(shí)間超過30S后,LCD1602會(huì)提醒錯(cuò)誤顯示“DataEntryError”,蜂鳴器報(bào)警三聲,若連續(xù)三次鍵入密碼錯(cuò)誤或輸入密碼時(shí)間超時(shí),蜂鳴器報(bào)警并且鎖定鍵盤;4.紅外遙控部分,0-9數(shù)字鍵:用于數(shù)字輸入,CH-用來輸入:輸入密碼,CH鍵用來確認(rèn):用于確認(rèn)輸入完成,》||鍵用來表示停駐/關(guān)閉:用于在開鎖后長(zhǎng)時(shí)間停止上鎖,和快速關(guān)鎖,》》鍵用來表示改密:用于修改密碼,《《鍵用來表示刪除:用于在輸入數(shù)字的時(shí)候刪除前一位數(shù)據(jù),CH+鍵用來表示退出:退出當(dāng)前狀態(tài)回到初始界;基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第8頁(yè)。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第8頁(yè)。2系統(tǒng)方案論證與選擇2.1核心電路設(shè)計(jì)方案的論證與選擇方案一:利用單片機(jī)為核心的軟硬結(jié)合電路設(shè)計(jì)方案選用單片機(jī)芯片作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。單片機(jī)具有功能強(qiáng)大、容易使用、速度快、編程容易等優(yōu)點(diǎn)。利用單片機(jī)內(nèi)部的隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)及其引腳資源[2],外接液晶顯示LCD1602實(shí)現(xiàn)各部分功能的顯示,鍵盤和紅外遙控實(shí)現(xiàn)數(shù)據(jù)的傳輸與處理功能,密碼錯(cuò)誤模塊實(shí)現(xiàn)數(shù)據(jù)的處理傳輸與比對(duì),基本上能實(shí)現(xiàn)設(shè)計(jì)指標(biāo);方案二:利用數(shù)字電路為核心的設(shè)計(jì)方案采用兩個(gè)74LS112JK觸發(fā)器構(gòu)成雙JK觸發(fā)器的數(shù)字邏輯電路作為密碼的檢測(cè)電路,執(zhí)行電路是一塊555單穩(wěn)態(tài)電路實(shí)現(xiàn),將密碼保存在JK觸發(fā)器中,然后與輸入密碼利用比較器比對(duì),判定兩次輸入數(shù)據(jù)是否相同。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差[14]。綜合比較方案一與方案二后,方案一難度較大,但其準(zhǔn)確性較高,推廣性潛力較大,方案二準(zhǔn)確性與靈活性普遍較差,因此我采用了以STC89C52單片機(jī)為核心的軟硬件結(jié)合的電路,實(shí)現(xiàn)這次電子密碼鎖的設(shè)計(jì)方案[7]。2.2密碼輸入方式的選擇方案一:矩陣鍵盤輸入識(shí)別由各按鍵組成的矩陣鍵盤每條行線和列線都對(duì)應(yīng)一條I/O口線,鍵位設(shè)在行線和列線的交叉點(diǎn),當(dāng)一個(gè)鍵按下就會(huì)有某一條行線與某一條列線接觸,只要確定接觸的是哪兩條線,即哪兩個(gè)I/O口線,就可以確定哪一個(gè)鍵被觸動(dòng)。行線設(shè)計(jì)成上拉口線,初始時(shí)被置高電位,列線懸空,初始置低。通過不斷讀行線口線,或者中斷方式觸發(fā)鍵位掃描。當(dāng)發(fā)現(xiàn)有鍵按下,將列線逐一置低,其他列線置高,讀行線口線。當(dāng)某條列線置低時(shí),某條行線也被拉低,則確定這兩條線的交點(diǎn)處的按鈕被按下。每個(gè)按鍵都可通過程序賦予功能,從而完成密碼識(shí)別,簡(jiǎn)單易行的硬件電路使其成本的費(fèi)用得到降低。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第9頁(yè)。方案二:指紋輸入識(shí)別基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第9頁(yè)。由于人體的身體特征具有不可復(fù)制的特點(diǎn),這給了科研人員一個(gè)靈感,如果能夠設(shè)計(jì)出來,那安保就絕對(duì)的安全。其實(shí)指紋識(shí)別技術(shù)主要包含了一下幾個(gè)功能:采集指紋圖像、識(shí)別整體特征、存儲(chǔ)數(shù)據(jù)和對(duì)比判定。通過采集指紋圖像設(shè)備采集特定指紋的圖像,再對(duì)原始圖像進(jìn)行初步的處理整合,使之輪廓清晰,使用軟件建立這一區(qū)域的坐標(biāo),對(duì)指紋的輪廓取點(diǎn)建立指紋的特征數(shù)據(jù)。一般手指上約具有70個(gè)節(jié)點(diǎn),所以在這種情況下會(huì)產(chǎn)生大約490個(gè)數(shù)據(jù)。然后我們通過計(jì)算機(jī)模糊比較的方法,把采集識(shí)別的指紋與特征數(shù)據(jù)存儲(chǔ)的指紋進(jìn)行對(duì)比,計(jì)算它們的相近程度,可能一次會(huì)失敗,需要再次比較,最終得到兩個(gè)指紋的匹配結(jié)果,再由系統(tǒng)判定出輸入的指紋是否是本人。由于在實(shí)際生活中,人們不可避免的受傷,使得指紋經(jīng)過一些創(chuàng)傷或手術(shù)后改變或者破壞,不是最穩(wěn)定可靠的判定身份手段。綜合比較方案一與方案二,還有考慮其成本的費(fèi)用,成本太高難以被人們接受,使其難以得到推廣,故本設(shè)計(jì)采用方案一。2.3紅外編碼和發(fā)射模塊方案一:專用芯片解決方案。專用紅外編碼芯片目前生產(chǎn)廠商較多,如飛利浦、NEC、三洋、日本三菱公司等,專用紅外編碼芯片如SAA3010、M50426AP、PT2262、BL9148、ZD6631等等,其技術(shù)成熟,編碼多,電壓低,性能好,無需自己編制編碼,與接收單片機(jī)解碼配合也很容易,性能穩(wěn)定,一般集載波振蕩、編碼、發(fā)射于一體,具有很強(qiáng)的抗干擾能力,外圍電路簡(jiǎn)單,使用很方便,而且價(jià)格低廉,但其應(yīng)用靈活性較差,其內(nèi)部編碼出廠后已經(jīng)固化,無法修改內(nèi)部的數(shù)據(jù),不適用于經(jīng)常需要變更數(shù)據(jù)的場(chǎng)合;專用芯片幾乎都是面向指令型的編碼遙控方式,傳輸效率較低;大多數(shù)的專用芯片的內(nèi)部編碼及技術(shù)數(shù)據(jù)已經(jīng)被廣泛傳播?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第10頁(yè)。方案二:微處理器與專用芯片組合解決方案,如圖2.1所示?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第10頁(yè)。圖2.1PT2262紅外編碼發(fā)射電路該方案由微處理器與專用編碼芯片PT2262組合完成編碼工作,載波產(chǎn)生由MC4011與38KHZ晶振一起構(gòu)成,振蕩產(chǎn)生38KHZ方波[15]。PT2262的功能是讓待發(fā)射數(shù)據(jù)以6位為一體的方式并行發(fā)出。PT2262把6位并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),減輕編程負(fù)擔(dān),使傳輸速度更快。PT2262的A6/D0~A11/D5共6個(gè)復(fù)用端口全用作數(shù)據(jù)口,PT2262自動(dòng)把微處理器送出的6位數(shù)據(jù)變成串行數(shù)據(jù)從Dout口發(fā)出。該方案可由微處理器任意制定密碼位數(shù)、編碼解碼算法和同步信號(hào),大大提高了數(shù)據(jù)保密度。其缺點(diǎn)是由于使用了PT2262,增加了硬件成本和電路復(fù)雜性。方案三:微處理器單獨(dú)解決方案。電路如圖2.2所示:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第11頁(yè)。圖2.2軟件編碼發(fā)射電路基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第11頁(yè)。該方案使用微處理器的I/O口直接產(chǎn)生38KHZ已調(diào)波,驅(qū)動(dòng)紅外發(fā)光二極管,發(fā)射紅外數(shù)據(jù)。38KHZ方波由CPU的定時(shí)器產(chǎn)生或由軟件編程產(chǎn)生。紅外編碼工作由軟件完成,因此,紅外編碼方案可以任意設(shè)計(jì),外部只需配接非常簡(jiǎn)單的硬件電路,大大降低了了電路的復(fù)雜性,有利于降低成本,減小遙控器的體積。由于使用軟件編碼方案,占用了CPU的一定的時(shí)間,CPU處理速度受到一定的影響,但是,對(duì)于遙控器這一類功能比較單一的系統(tǒng)來說,處理任務(wù)比較少,根本影響不了CPU的處理效率,僅僅是增加了軟件編程的負(fù)擔(dān)[3]。綜合比較方案一、方案二和方案三,方案三既可滿足題目要求,電路又非常簡(jiǎn)單,硬件成本又很低,僅僅是增加了軟件的編程負(fù)擔(dān),使得紅外編碼非常靈活,故本設(shè)計(jì)采用方案三。2.4紅外解碼與接收模塊方案一:分立元件解決方案,電路如圖2.3所示。圖中RD1為紅外接收管;R3、R4,VT1構(gòu)成反相放大器;VT2、R5、C2構(gòu)成濾波器,濾掉38KHZ的高頻載波;R6、R7、VT3構(gòu)成整形電路[1],電路如圖:圖2.3低電壓紅外接收電路將濾波后的波形處理為較好的方波;C1、C3為耦合電容;R2為限流電阻,當(dāng)接收到較強(qiáng)的信號(hào)是保護(hù)VT1。該方案最大的優(yōu)點(diǎn)是供電電壓比較低,可用兩節(jié)電池3V電壓供電?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第12頁(yè)。但是,由于電路使用分立元件構(gòu)成,其穩(wěn)定性和抗干擾能力不高,影響紅外數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第12頁(yè)。方案二:集成電路解決方案,電路如圖2.4所示。該方案使用一體化紅外接收器,集紅外接收和放大于一體,不需任何外接元件,就能完成從紅外接收到輸出與TTL電平兼容的所有工作,而體積和普通的塑封三極管大小一樣。圖2.41838T接收電路當(dāng)紅外線發(fā)射器發(fā)出的信號(hào)經(jīng)空間傳送到1838T時(shí),它內(nèi)部的PIN紅外線接收管將紅外線轉(zhuǎn)換為電信號(hào),該信號(hào)經(jīng)選頻放大、解調(diào)后由1腳輸出與TTL電平兼容的電信號(hào),該信號(hào)可以直接送入微處理器進(jìn)行處理。1838T的輸出波形如圖2.5所示。當(dāng)接收到頻帶內(nèi)的紅外信號(hào)時(shí),1838T接收器會(huì)輸出低電平,否則數(shù)據(jù)高電平,從而“將時(shí)斷時(shí)續(xù)”的紅外信號(hào)解調(diào)成原來的連續(xù)方波信號(hào)。圖2.5(a)已調(diào)制紅外信號(hào)(b)1838T輸出信號(hào)1838T的優(yōu)點(diǎn)是穩(wěn)定性好,抗干擾能力很強(qiáng),外圍電路非常簡(jiǎn)潔,成本又不高,適用于各種紅外遙控和紅外數(shù)據(jù)傳輸,是替代其它紅外接收放大器的理想元件。而且它的工作電壓是2.7~5.5V,有效傳輸距離可達(dá)15M,是一款性價(jià)比較高的紅外一體化接收頭?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第13頁(yè)。綜合比較方案一與方案二,方案二采用集成電路的方式比較簡(jiǎn)單,容易實(shí)現(xiàn)且硬件成本很低,通過軟件編程使得紅外編碼非常靈活,滿足本設(shè)計(jì)的要求,故采用方案方案二。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第13頁(yè)。3系統(tǒng)總體設(shè)計(jì)與實(shí)現(xiàn)3.1系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)框圖如圖3.1所示:AT24C02掉電存儲(chǔ)AT24C02掉電存儲(chǔ)串口顯示電路矩陣鍵盤控制STC89C52單片機(jī)輸入錯(cuò)誤鎖定鍵盤延時(shí)報(bào)警控制電路指示電路開鎖控制電路修改密碼子程序退出子程序紅外發(fā)射與接收模塊 圖3.1系統(tǒng)總體設(shè)計(jì)框圖3.2系統(tǒng)總體原理圖系統(tǒng)總體原理圖如圖圖3.2所示。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第14頁(yè)。圖3.2系統(tǒng)總體原理圖基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第14頁(yè)。4系統(tǒng)硬件構(gòu)成4.1電源輸入模塊密碼鎖主控制部分電源需要用5V直流電源供電,把頻率為50HZ、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相電經(jīng)過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)橋式整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過低通濾波電路進(jìn)行濾波,使輸出電壓平滑穩(wěn)定。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流壓[12]。本電路使用充電器解決電源穩(wěn)壓?jiǎn)栴}。內(nèi)部電路如圖4.1所示:圖4.1電源輸入模塊內(nèi)部電路圖4.2單片機(jī)最小系統(tǒng)模塊基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第15頁(yè)。由STC89C52復(fù)位電路、時(shí)鐘產(chǎn)生電路組成[16],原理圖如4.2所示:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第15頁(yè)。圖4.2單片機(jī)最小系統(tǒng)電路原理圖4.3LCD1602顯示模塊為了使得本次設(shè)計(jì)的顯示效果得到提高,本設(shè)計(jì)的顯示部分使用液晶顯示器LCD1602代替普通的數(shù)碼管來完成[4]。顯示器開始時(shí)處于初始化狀態(tài),LCD1602液晶顯示屏上顯示“Welcometouse!”,當(dāng)需要對(duì)密碼鎖進(jìn)行開鎖時(shí),按下鍵盤上的輸入按鍵后利用鍵盤上的數(shù)字鍵0-9輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)“*”,輸入不超過6位就顯示多少個(gè)“*”。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話,LCD1602液晶屏顯示“DataEntryOK”,否則LCD1602液晶顯示屏?xí)@示“DataEntryERROR”,通過LCD1602液晶顯示屏的顯示以及一些外部電路LED亮滅顯示,繼電器的動(dòng)斷聲音提示,使得我們可以清楚的判斷出電子密碼鎖所處的狀態(tài)。顯示部分部分引腳接口如下圖4.3所示:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第16頁(yè)。圖4.3顯示電路原理圖基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第16頁(yè)。4.4AT24C02數(shù)據(jù)存儲(chǔ)模塊用E2PROM芯片AT24C02來存儲(chǔ)密碼,特性如下:(1)寫保護(hù)功能當(dāng)WP為高電平時(shí)進(jìn)入寫保護(hù)狀態(tài)(2)8腳DIPSOIC或TSSOP封裝(3)低功耗CMOS技術(shù)(4)與400KHZI2C總線兼容(5)2.5V到5.5V工作電壓范圍(6)頁(yè)寫緩沖器(7)自定時(shí)擦寫周期(8)1,000編程/擦除周期AT24C02數(shù)據(jù)存儲(chǔ)芯片是一個(gè)串行CMOS電可擦可編程只讀存儲(chǔ)器,內(nèi)部含有256*8位字節(jié),具有2.5~5.5V的寬工作電壓、可以在電腦上或?qū)S迷O(shè)備上進(jìn)行大于10000次的擦除已有信息,重新編程,具有小于10ms的寫入速度、數(shù)據(jù)不易丟失、體積小,較強(qiáng)的抗干擾能力等特點(diǎn)[9]。AT24C02有一個(gè)16字節(jié)頁(yè)寫緩沖器。該器件通過IC總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。其管腳功能如下:1.AT24C02串行時(shí)鐘(SCL)輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘;2.AT24C02雙向串行數(shù)據(jù)/地址(SDA)管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA是一個(gè)開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進(jìn)行線或;3.A0、A1、A2輸入引腳用于單個(gè)或多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,主器件和從器件都可以作為發(fā)送器或接收器,每個(gè)A0、A1、A2都有兩種電平狀態(tài),既高電平或低電平狀態(tài),當(dāng)這些腳都是地電位時(shí)默認(rèn)值為0,此時(shí)級(jí)聯(lián)數(shù)為0,單個(gè)AT24C02進(jìn)行工作,當(dāng)這些引腳都是高電位時(shí)可以級(jí)聯(lián)2*2*2個(gè)AT24C02器件,這時(shí)也是處于最大器件可級(jí)聯(lián)狀態(tài);基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第17頁(yè)。4.如果WP引腳連接到Vss或懸空此時(shí)只允許器件進(jìn)行正常的讀/寫操作,當(dāng)WP管腳連接到Vcc(1.8~6.0V)時(shí),所有的內(nèi)容此時(shí)不能寫操作只允許讀操作;基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第17頁(yè)。圖4.4密碼存儲(chǔ)電路原理圖4.5矩陣鍵盤輸入模塊由于STC89C52單片機(jī)芯片只有32個(gè)I/O接口[5],其他的模塊已占用較多的I/O口,很難再安排16個(gè)I/O接口供按鍵所用,考慮到這次設(shè)計(jì)按鍵數(shù)量較多,不適宜用獨(dú)立式鍵盤。此時(shí)我采用了4*4矩陣鍵盤的輸入方法,只占用8個(gè)I/O接口的使用,將按鍵的排列形式定為矩陣形式,每條水平與垂直線交叉但不直接連通,再每一行每一列安排4個(gè)按鍵進(jìn)行連接。軟件設(shè)計(jì)進(jìn)行時(shí),先把全部的行線置一個(gè)高電平,檢測(cè)列線的電位狀態(tài),只要有一列的電平為低電位,則表示該行有按鍵按下,既在某一時(shí)刻只讓一列為低電平,通過坐標(biāo)定位到按下的按鍵,按這一方法依次循環(huán)進(jìn)行掃描。在確定好按鍵位置后,通過軟件的設(shè)計(jì)編程賦值,使每個(gè)按鍵有著自己的功能。除了0-9十個(gè)數(shù)字鍵外,其余的6個(gè)鍵賦予其擴(kuò)展功能分別為:退出、刪除、關(guān)閉、輸入、確認(rèn)。單片機(jī)引腳接法按總線如圖4.5所示:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第18頁(yè)?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第18頁(yè)。圖4.5鍵盤輸入原理圖4.6紅外遙控鍵盤輸入模塊模塊接口說明
a.VCC外接3.3V-5V電壓(可以直接與5V單片機(jī)和3.3V單片機(jī)相連)
b.GND外接GND
c.IN外接單片機(jī)I/O口,I/O接口外接10K上拉電阻對(duì)紅外遙控器進(jìn)行理論測(cè)試距離在5-8米左右,但實(shí)際應(yīng)用時(shí)取決于你使用時(shí)的周圍環(huán)境因素以及中間阻擋物(例如隔膜、玻璃、阻礙物或其他材料阻擋),接收頭采用1838T,帶電源工作指示燈,可接收38KHZ頻率任何遙控編碼的數(shù)據(jù),實(shí)物圖如圖4.6所示:圖4.6紅外遙控鍵盤輸入模塊4.7紅外接收與發(fā)射模塊4.7.1紅外接收模塊基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第19頁(yè)。紅外信號(hào)收發(fā)系統(tǒng)的管腳分布如圖4.7所示,紅外接收與發(fā)射電路通常被廠家集成設(shè)計(jì)在一個(gè)元件中既一體化紅外接收頭。它包含了紅外線信號(hào)的接收、整形、放大,在沒有其他外接元件時(shí),就能很好的實(shí)現(xiàn)信號(hào)無論從接收到輸出,與外部電路相匹配的電平,例如在沒有接收到紅外信號(hào)時(shí)為高電平,收到紅外信號(hào)基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第19頁(yè)。時(shí)為低電平,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸。1腳是輸出,其電平與TTL兼容,2腳、3腳分別為接地和電源紅外接收頭1838T的主要參數(shù)如下:工作電壓:4.8~5.3V
工作電流:0.6~1.5mA
距離:5-8M接收頻率:38KHZ
角度:±35°峰值波長(zhǎng):980nm靜態(tài)輸出:高電平(接近工作電壓)輸出低電平:≤0.4V
圖4.71838T引腳圖1838T紅外接收模塊內(nèi)部電路包括高速高靈敏度紅外監(jiān)測(cè)PIN光電二極管,放大器,限副器,帶通濾波器,積分電路,比較器等。當(dāng)紅外監(jiān)測(cè)PIN光電二極管收到紅外信號(hào)時(shí)經(jīng)放大器和限幅器進(jìn)行整合,把信號(hào)加載到38KHZ的負(fù)載波上。后續(xù)再通過解調(diào)電路與積分電路后進(jìn)入比較器,比較器通過高低電平的輸出,使得發(fā)射端的信號(hào)進(jìn)行還原。為了使得接收端接收的信號(hào)沒有其他干擾,紅外線接收器借助一種內(nèi)部金屬屏蔽和智能自動(dòng)增益控制電路,對(duì)太陽(yáng)或其他光源設(shè)備發(fā)出的光源信號(hào)的干擾作用進(jìn)行抑制,從而達(dá)到這種靈敏度。注意輸出的高低電平和發(fā)射端是反相的,這樣的目的是為了提高信號(hào)接收的靈敏度。1838T紅外接收頭內(nèi)部電路如圖4.8所示。圖4.81838T紅外接收頭內(nèi)部電路4.7.2紅外發(fā)射模塊紅外線遙控發(fā)射模塊一般由一下幾個(gè)部分組成,如圖4.9所示:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第20頁(yè)?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第20頁(yè)。RRD鍵盤編碼器(調(diào)制信號(hào))38KHZ振蕩器(載波信號(hào))圖4.9紅外線遙控發(fā)射電路框圖紅外遙控電路被廣泛運(yùn)用在我們生活中的方方面面,其紅外線遙控發(fā)射模塊大體上集鍵盤、編碼器、振蕩器、發(fā)光二極管等模塊,包含了選通開關(guān)、驅(qū)動(dòng)電路、選頻網(wǎng)絡(luò)、分頻電路、振蕩電路、微控制器輸入接口等等,其編碼使用的是脈寬調(diào)制的串行碼方式,采用周期為1.125ms、脈寬為0.565ms、間隔0.56ms的組合表示二進(jìn)制的“0”;采用周期為2.25ms、脈寬為0.565ms、間隔1.685ms的組合表示二進(jìn)制的“1”。用38KHZ的載頻“0”和“1”組成的42位二進(jìn)制碼,來使電源功耗降低提高發(fā)射的效率。再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。發(fā)射部分的主要元件為紅外發(fā)光二極管,接通電源后不斷將電能轉(zhuǎn)化為不可見光,不斷向空間中發(fā)射紅外線,紅外線的輻射范圍隨距離變遠(yuǎn)而降低。通過改變紅外發(fā)光二極管兩個(gè)腳上的電壓形式,產(chǎn)生不同的信號(hào)。4.8報(bào)警模塊報(bào)警部分由喇叭電路組成,當(dāng)有鍵按下時(shí),每按一下,喇叭koi響一次,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的P3.4引腳為低電平,喇叭發(fā)出噪鳴聲報(bào)警[11]。如圖4.10所示:基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第21頁(yè)。圖4-10報(bào)警電路原理圖基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第21頁(yè)。5系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)5.1主程序流程圖否是報(bào)警子程序否是報(bào)警子程序顯示子程序結(jié)束開始密碼輸入子程序密碼比較子程序判斷兩次密碼是否正確圖5.1系統(tǒng)主程序流程圖5.2軟件設(shè)計(jì)原理基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第22頁(yè)。通過參閱各方面的資料,確定我的這次設(shè)計(jì)硬件電路主要模塊有:電源輸入模塊,單片機(jī)最小系統(tǒng)模塊,LCD1602顯示模塊,AT24C02數(shù)據(jù)存儲(chǔ)模塊,矩陣鍵盤輸入模塊,紅外遙控鍵盤輸入模塊,報(bào)警模塊等模塊組成,軟件模塊主要有:主程序、E2PROM讀寫程序、初始化子程序、LCD1602顯示子程序、矩陣鍵盤掃描子程序、數(shù)據(jù)掉電存儲(chǔ)子程序,關(guān)閉程序、、密碼修改子程序、延時(shí)子程序[10]等。矩陣鍵盤輸入模塊與紅外遙控鍵盤輸入模塊都可以實(shí)現(xiàn)鍵入密碼和其他系統(tǒng)功能。由用戶通過連接單片機(jī)的矩陣鍵盤輸入密碼后,經(jīng)過單片機(jī)的處理對(duì)比用戶輸入的密碼與保存的密碼,如果對(duì)比的結(jié)果相同,則單片機(jī)會(huì)改變部分引腳的電位,從而使得發(fā)光二極管點(diǎn)亮,且繼電器的常開觸點(diǎn)控制電磁鐵吸合線圈,以顯示密碼輸入正確,否則密碼輸入錯(cuò)誤,需進(jìn)行再次輸入(不大于2次)密碼,且每次輸入密碼不大于30S,總體錯(cuò)誤超過3次后蜂鳴器報(bào)警并鎖死鍵盤,需進(jìn)行初始化才可以消除報(bào)警。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第22頁(yè)。6結(jié)論紅外遙控電子密碼鎖易于操作,給用戶提供了友好的操作界面,用戶不需學(xué)習(xí)特殊,就能夠簡(jiǎn)單、快捷地完成操作,做到即買即用。此產(chǎn)品還有其它優(yōu)點(diǎn)比如功耗低,價(jià)格適中,體積小,可以進(jìn)行近距離遙控,低耗很低,可以使用普通堿性電池供電,使用十分方便。經(jīng)過進(jìn)一步軟件程序革新,硬件電路集成優(yōu)化設(shè)計(jì),功能不斷地增強(qiáng)的同時(shí)成本可以進(jìn)一步降低,從而使紅外遙控電子密碼鎖能夠走進(jìn)千家萬(wàn)戶,獲得更廣闊的銷售市場(chǎng)。在這次的畢業(yè)設(shè)計(jì)過程中,鞏固了我在大學(xué)4年內(nèi)學(xué)過的知識(shí),尤其是單片機(jī)和模擬電子方面的知識(shí),同時(shí)通過這次畢業(yè)設(shè)計(jì)提高了我的單片機(jī)編程的能力,尤其是獲得的軟件調(diào)試經(jīng)驗(yàn),加強(qiáng)了我的實(shí)際編程能力,同時(shí)也讓自己更加的知道了自己知識(shí)領(lǐng)域里的不足和缺陷。由于時(shí)間太倉(cāng)促,理論方面也相應(yīng)的存在不足,加上條件有限,仍存在著一些設(shè)計(jì)方面的問題,一些想到的功能還不能夠展示出來?,F(xiàn)在的我雖然已走到工作崗位,但這并不代表我學(xué)習(xí)的終止,希望在以后的生活中多找機(jī)會(huì)提高自己的技能,發(fā)揮自己的專長(zhǎng),進(jìn)一步鞏固自己在各方面的知識(shí)。隨著高新技術(shù)的不斷發(fā)展,電子產(chǎn)品的微型化和小型化已得到了實(shí)現(xiàn)。而作為單片機(jī)領(lǐng)域的各種新技術(shù),新方法,新產(chǎn)品的發(fā)展趨勢(shì)和顯著標(biāo)志—智能話是今后發(fā)展的動(dòng)向之一。對(duì)單片機(jī)矩陣鍵盤與液晶顯示模塊的設(shè)計(jì),使我們了解到了這一技術(shù)的革新,通過對(duì)這一技術(shù)的不斷深入研究,我們可熟練的掌握運(yùn)用于其他領(lǐng)域,如電子密碼鎖的設(shè)計(jì),室內(nèi)溫濕度的調(diào)節(jié)與控制,門禁系統(tǒng)的設(shè)計(jì)等等領(lǐng)域。科技進(jìn)步和經(jīng)濟(jì)的發(fā)展是當(dāng)今時(shí)代的主題,人們生活水平的提高必然對(duì)電子類產(chǎn)品的要求增加,任何一個(gè)小系統(tǒng)的設(shè)計(jì)都是對(duì)于大系統(tǒng)設(shè)計(jì)的一個(gè)鋪墊,技術(shù)革新,采用硬件軟化,軟件集成,虛擬顯示和軟測(cè)量等人工智能的方法和技術(shù),我堅(jiān)信我們的生活會(huì)變得更美好!基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第23頁(yè)?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第23頁(yè)。致謝光陰荏苒,四年的大學(xué)生活已經(jīng)臨近尾聲,每每回憶起這段生活中的人和事,我都情不自禁的想要對(duì)您們說一聲“謝謝您們,您們辛苦了!”。是啊,我要感謝我的父母,是他們的任勞任怨,他們的勤勞善良,他們的那份對(duì)我百分之百的信任以及對(duì)生活積極向上的態(tài)度使我終生受益,讓我無論走在那里都感覺有支持相隨!您們是偉大的,我摯愛的親人!感謝我的指導(dǎo)老師,是他幫助我無論是在論文的選題、課題的研究、論文的撰寫與論文的修改,都有李老師耐心的指導(dǎo)和熱情的幫助,我感謝您,您那如春雨般淵博的知識(shí),點(diǎn)點(diǎn)滴滴滋潤(rùn)著我,激勵(lì)著我向更遠(yuǎn)走去;您那對(duì)治學(xué)的嚴(yán)謹(jǐn),一絲不茍給我樹立了一個(gè)好的榜樣,讓我時(shí)刻反省,超越自己!您那對(duì)我時(shí)刻的關(guān)懷,溫暖著我的心!謝謝您,有您耐心的指導(dǎo)使我的畢業(yè)設(shè)計(jì)才順利完成。感謝學(xué)校,感謝學(xué)校圖書館和自修室為我提供了良好的學(xué)習(xí)環(huán)境,為我不斷吸取新知識(shí)提供了很好的源泉。感謝在學(xué)校的四年中各位老師的諄諄教導(dǎo),現(xiàn)在的我已在工作崗位,深知老師們?cè)谡n堂上教導(dǎo)的知識(shí)有多么的重要!時(shí)光不返,我只有帶著自己學(xué)到的一點(diǎn)知識(shí),在自己的工作中積累經(jīng)驗(yàn),為社會(huì)做出我的貢獻(xiàn),實(shí)現(xiàn)自己的價(jià)值,從而回饋學(xué)校,回饋父母!基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第24頁(yè)。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第24頁(yè)。參考文獻(xiàn)[1]童詩(shī)白.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,2006.235-278.[2]沈德金,陳粵初.單片機(jī)接口電路與應(yīng)用程序設(shè)計(jì)[M].北京:航空航天大學(xué)出版社,1990.25-28.[3]張毅剛.單片機(jī)原理及應(yīng)用.北京:高等教育出版社,2003.65-78.[4]沙占友,王彥朋,孟志永.單片機(jī)外圍電路設(shè)計(jì)[M].北京:電子工業(yè)出版社,2003.64-69.[5]何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:航空航天大學(xué)出版社,1999.77-84.[6]MahirK.Mahmood.Improvingthesettingtimeofadigitalphase-lockfrequencysynthesizer.17-24.[7]吳國(guó)經(jīng)等.單片機(jī)應(yīng)用技術(shù)[M].北京:中國(guó)電力出版社,2004.1.55-57.[8]陳進(jìn)超.新型無線遙控電子密碼鎖系統(tǒng)的研究,華中師范大學(xué),發(fā)表時(shí)間:2006年.77-84.[9]馬全利.單片機(jī)原理及接口技術(shù)[M].北京:高等教育出版社,2004.1.22-34.[10]石建華.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:北京郵電大學(xué)出版社,2008.31-35.[11]Chenchangzhou.VoiceofElectronicPassword-lockDesign,Beijingaviationuniversitypress,2003.69-84.[12]鐘富昭.《8051單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用》.北京:人民郵電出版社,2007[13]董繼成.一種新型安全的單片機(jī)密碼鎖[J].電子技術(shù),2004,(03).168-184.[14]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京高等教育出版社1998.10.71-80.[15]彭虎.微機(jī)原理與接口技術(shù).北京:電子工業(yè)出版社,2008.57-64.[16]李廣弟.單片機(jī)基礎(chǔ)[M].北京航空航天大學(xué)出版社,2007.2.66-72.基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第25頁(yè)。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第25頁(yè)。附錄1實(shí)物照片基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第26頁(yè)?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第26頁(yè)。附錄2原理圖基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第27頁(yè)。基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第27頁(yè)。附錄3整體PCB圖基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第28頁(yè)?;趩纹瑱C(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第28頁(yè)。附錄4源程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitjdq=P3^3;sbitbeep=P3^4;sbitrs=P2^6;sbiten=P2^7;sbitscl=P2^0;sbitsda=P2^1;ucharcodetable[16]="Welcometouse!";ucharcodetable1[16]="ControlPassword";ucharcodetable2[6]="Enter:";ucharcodetable3[13]="DataEntryOK";ucharcodetable4[16]="DataEntryError";ucharcodetable5[15]="ChangePassword";ucharcodetable6[12]="Pleaseenter";ucharcodetable7[15]="ModifyComplete";ucharma10,ma11,ma12,ma13,ma14,ma15;ucharma20,ma21,ma22,ma23,ma24,ma25;ucharnum,temp;ucharwflag;bitajflag;bitshu_ru_flag=0;bitgai_flag=0;ucharirdate[33];ucharirbyte[4];ucharirtime,irflag,bitnum,irdateok;bittui_chu,shan_chu,gai_mi;guan_bi,que_ren,shu_ru;uintnum1;voiddelay(uintms){ uchary; { for(ms;ms>0;ms--) for(y=110;y>0;y--); }}//AT24C02讀寫操作時(shí)序voiddelay_us(){;;}voidiic_init()//初始化基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第29頁(yè)。{基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第29頁(yè)。 sda=1;delay_us(); scl=1;delay_us();}voidstart()//開始{ sda=1;delay_us(); scl=1;delay_us(); sda=0;delay_us();}voidresponse()//應(yīng)答{ uchari=0; scl=1;delay_us(); while((sda==1)&&(i<250))i++; scl=0;delay_us();}voidstop()//停止{ sda=0;delay_us(); scl=1;delay_us(); sda=1;delay_us();}ucharread_byte()//讀字節(jié){ uchari,date; scl=0;delay_us(); sda=1;delay_us(); for(i=0;i<8;i++) { scl=1;delay_us(); date=(date<<1)|sda; scl=0;delay_us(); } returndate;}voidwrite_byte(uchardate)//寫字節(jié){ uchari; for(i=0;i<8;i++) { date=date<<1; scl=0;delay_us(); sda=CY;delay_us();基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第30頁(yè)。 scl=1;delay_us();基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第30頁(yè)。 } scl=0;delay_us(); sda=1;delay_us();}voidwrite_add(ucharadd,uchardate)//寫數(shù)據(jù){ start(); write_byte(0xa0); response(); write_byte(add); response(); write_byte(date); response(); stop();} ucharread_add(ucharadd)//讀數(shù)據(jù){ uchardate; start(); write_byte(0xa0); response(); write_byte(add); response(); start(); write_byte(0xa1); response(); date=read_byte(); stop(); returndate;}voidyj1602_write_com(ucharcom)//液晶寫地址{ en=0;delay(1); en=1;delay(1); rs=0;delay(1); P0=com; en=0;delay(1);}voidyj1602_write_date(uchardate)//液晶寫數(shù)據(jù){ en=0;delay(1); en=1;delay(1);基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第31頁(yè)。 rs=1;delay(1);基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第31頁(yè)。 P0=date; en=0;delay(1);}voidyj1602_init()//液晶初始化{ yj1602_write_com(0x38); yj1602_write_com(0x0c); yj1602_write_com(0x06); yj1602_write_com(0x01);}voiddeal_with()//數(shù)據(jù)接收成功處理{ uchari,j,k,temp1; k=1; for(j=0;j<4;j++) { for(i=0;i<8;i++) { temp1=temp1>>1; if(irdate[k]>7) { temp1=temp1|0x80; } k++; } irbyte[j]=temp1; }}voidqing_ling()//清空數(shù)據(jù)位下一次接收{(diào) uchari; for(i=0;i<33;i++) irdate[i]=0; for(i=0;i<4;i++) irbyte[i]=0;}voiddidi()//滴滴聲{ beep=0;delay(500); beep=1;delay(500);}voidkeyscan()基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第32頁(yè)。{基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第32頁(yè)。 deal_with();//數(shù)據(jù)接收成功處理 if(irbyte[2]==0x45){qing_ling();didi();shu_ru=1;}//CH- if(irbyte[2]==0x46){qing_ling();didi();que_ren=1;}//CH if(irbyte[2]==0x47){qing_ling();didi();tui_chu=1;}//CH+ if(irbyte[2]==0x44){qing_ling();didi();shan_chu=1;}//<< if(irbyte[2]==0x40){qing_ling();didi();gai_mi=1;}//>> if(irbyte[2]==0x43){qing_ling();didi();guan_bi=1;}//>|| if(irbyte[2]==0x16){qing_ling();wflag++;num=1;didi();ajflag=1;}//0 if(irbyte[2]==0x0c){qing_ling();wflag++;num=1;didi();ajflag=1;}//1 if(irbyte[2]==0x18){qing_ling();wflag++;num=2;didi();ajflag=1;}//2 if(irbyte[2]==0x5e){qing_ling();wflag++;num=3;didi();ajflag=1;}//3 if(irbyte[2]==0x08){qing_ling();wflag++;num=4;didi();ajflag=1;}//4 if(irbyte[2]==0x1c){qing_ling();wflag++;num=5;didi();ajflag=1;}//5 if(irbyte[2]==0x5a){qing_ling();wflag++;num=6;didi();ajflag=1;}//6 if(irbyte[2]==0x42){qing_ling();wflag++;num=7;didi();ajflag=1;}//7 if(irbyte[2]==0x52){qing_ling();wflag++;num=8;didi();ajflag=1;}//8 if(irbyte[2]==0x4a){qing_ling();wflag++;num=9;didi();ajflag=1;}//9 P1=0xfe; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xee:wflag++;num=1;ajflag=1;didi();break; case0xde:wflag++;num=4;ajflag=1;didi();break; case0xbe:wflag++;num=7;ajflag=1;didi();break; case0x7e:shu_ru=1;didi();break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } }基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第33頁(yè)。 }基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第33頁(yè)。 P1=0xfd; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xed:wflag++;num=2;ajflag=1;didi();break; case0xdd:wflag++;num=5;ajflag=1;didi();break; case0xbd:wflag++;num=8;ajflag=1;didi();break; case0x7d:wflag++;num=0;ajflag=1;didi();break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } } P1=0xfb; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xeb:wflag++;num=3;ajflag=1;didi();break; case0xdb:wflag++;num=6;ajflag=1;didi();break; case0xbb:wflag++;num=9;ajflag=1;didi();break; case0x7b:que_ren=1;break; }基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第34頁(yè)。 while(temp!=0xf0)基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第34頁(yè)。 { temp=P1; temp=temp&0xf0; } } } P1=0xf7; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xe7:tui_chu=1;didi();break; case0xd7:shan_chu=1;didi();break; case0xb7:gai_mi=1;didi();break; case0x77:guan_bi=1;didi();break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } }}voidkey_init(){ tui_chu=0; shu_ru=0; shan_chu=0; gai_mi=0; guan_bi=0; que_ren=0;}voidinput_data()//輸入密碼{基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第35頁(yè)。 if(ajflag==1)基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第35頁(yè)。 { while(ajflag==1) { ajflag=0; keyscan(); } if(wflag==1)ma10=num; if(wflag==2)ma11=num; if(wflag==3)ma12=num; if(wflag==4)ma13=num; if(wflag==5)ma14=num; if(wflag==6)ma15=num; } if(shan_chu==1)//刪除輸入的密碼前一位 { while(shan_chu==1) { shan_chu=0; keyscan(); } if(wflag>0) { if(wflag==1)ma10=0; if(wflag==2)ma11=0; if(wflag==3)ma12=0; if(wflag==4)ma13=0; if(wflag==5)ma14=0; if(wflag==6)ma15=0; wflag--; } } if(tui_chu==1) { while(tui_chu==1) { tui_chu=0; keyscan(); } key_init(); shu_ru_flag=0; wflag=0; yj1602_init();//液晶初始化 }基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第36頁(yè)。} 基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第36頁(yè)。voiddeal_with1()//按鍵處理函數(shù){ uchari; uintj; ucharerror;//輸入錯(cuò)誤的次數(shù),超過三次報(bào)警,鎖死鍵盤 bitgai_ok1,gai_ok2;//可以改密碼 keyscan(); if(shu_ru==1)//輸入密碼開鎖 { while(shu_ru==1) { shu_ru=0; keyscan(); } TR1=1; key_init(); wflag=0; ajflag=0; shu_ru_flag=1; yj1602_init();//液晶初始化 } if(gai_mi==1)//修改密碼 { while(gai_mi==1) { gai_mi=0; keyscan(); } key_init(); wflag=0; ajflag=0; gai_flag=1;//修改密碼按鍵按下標(biāo)志位 yj1602_init();//液晶初始化 } while(gai_flag==1) { keyscan(); //修改密碼界面 yj1602_write_com(0x80); for(i=0;i<15;i++) //"ChangePassword";//修改密碼 { yj1602_write_date(table5[i]); }基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第37頁(yè)。 yj1602_write_com(0x80+0x40);基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第37頁(yè)。 for(i=0;i<6;i++) //"input:";//輸入 { yj1602_write_date(table2[i]); } //輸入正確的密碼 if(wflag<1)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<2)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<3)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<4)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<5)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<6)yj1602_write_date('-'); elseyj1602_write_date('*'); input_data();//輸入密碼 if(que_ren==1) { while(que_ren==1) { que_ren=0; keyscan(); } if(wflag==6) { wflag=0; if((ma10==ma20)&&(ma11==ma21)&&(ma12==ma22)&&(ma13==ma23)&&(ma14==ma24)&&(ma15==ma25)) { beep=0;delay(300);beep=1; gai_ok1=1; gai_flag=0; error=0; yj1602_init();//液晶初始化 } else gotolp; } else//數(shù)據(jù)輸入錯(cuò)誤 {基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第38頁(yè)。 lp: error++;基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第38頁(yè)。 if(error>=3) { for(i=0;i<50;i++) { beep=~beep; delay(1000); } } wflag=0; beep=0;delay(300);beep=1;delay(300); beep=0;delay(300);beep=1; yj1602_init();//液晶初始化 yj1602_write_com(0x80); for(i=0;i<16;i++) { yj1602_write_date(table4[i]);//DataEntryError數(shù)據(jù)輸入錯(cuò)誤 } delay(10000);//延時(shí)5秒可重新出入 yj1602_init();//液晶初始化 } }lop: while(gai_ok1==1)//輸入第一遍要更改的密碼 { keyscan(); yj1602_write_com(0x80); for(i=0;i<12;i++) { yj1602_write_date(table6[i]);//"Pleaseenter";//請(qǐng)輸入 } yj1602_write_date('1'); yj1602_write_com(0x80+0x40); for(i=0;i<6;i++) //"input:";//輸入 { yj1602_write_date(table2[i]); } if(wflag<1)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<2)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<3)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<4)yj1602_write_date('-'); elseyj1602_write_date('*');基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第39頁(yè)。 if(wflag<5)yj1602_write_date('-');基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第39頁(yè)。 elseyj1602_write_date('*'); if(wflag<6)yj1602_write_date('-'); elseyj1602_write_date('*'); input_data();//輸入密碼 if(que_ren==1) { while(que_ren==1) { que_ren=0; keyscan(); } wflag=0; gai_ok1=0; gai_ok2=1; } while(gai_ok2==1)//輸入第二遍要更改的密碼 { keyscan(); yj1602_write_com(0x80); for(i=0;i<12;i++) { yj1602_write_date(table6[i]);//"Pleaseenter";//請(qǐng)輸入 } yj1602_write_date('2'); yj1602_write_com(0x80+0x40); for(i=0;i<6;i++) //"input:";//輸入 { yj1602_write_date(table2[i]); } if(wflag<1)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<2)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<3)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<4)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<5)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<6)yj1602_write_date('-'); elseyj1602_write_date('*'); if(ajflag==1) {基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第40頁(yè)。 基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第40頁(yè)。 { ajflag=0; keyscan(); } if(wflag==1)ma20=num; if(wflag==2)ma21=num; if(wflag==3)ma22=num; if(wflag==4)ma23=num; if(wflag==5)ma24=num; if(wflag==6)ma25=num; } if(que_ren==1) { while(que_ren==1) { que_ren=0; keyscan(); } if(wflag==6) { wflag=0; if((ma10==ma20)&&(ma11==ma21)&&(ma12==ma22)&&(ma13==ma23)&&(ma14==ma24)&&(ma15==ma25)) { beep=0;delay(300);beep=1; gai_ok2=0; gai_flag=0; write_add(0,ma20);delay(5); write_add(1,ma21);delay(5); write_add(2,ma22);delay(5); write_add(3,ma23);delay(5); write_add(4,ma24);delay(5); write_add(5,ma25);delay(5); yj1602_init();//液晶初始化 yj1602_write_com(0x80); for(i=0;i<15;i++) { yj1602_write_date(table7[i]);//顯示修改完成 } delay(10000);//等待一會(huì)恢復(fù)正常顯示 //讀出存儲(chǔ)器當(dāng)中的密碼值 ma20=read_add(0);基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第41頁(yè)。 ma21=read_add(1);基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第41頁(yè)。 ma22=read_add(2); ma23=read_add(3); ma24=read_add(4); ma25=read_add(5); yj1602_init();//液晶初始化 } else gotolp1; } else//數(shù)據(jù)輸入錯(cuò)誤 { lp1: wflag=0; beep=0;delay(300);beep=1;delay(300); beep=0;delay(300);beep=1; yj1602_init();//液晶初始化 yj1602_write_com(0x80); for(i=0;i<16;i++) { yj1602_write_date(table4[i]);//DataEntryError數(shù)據(jù)輸入錯(cuò)誤 } delay(10000);//延時(shí)5秒可重新出入 yj1602_init();//液晶初始化 gai_ok1=1; gai_ok2=0; gotolop; } } if(shan_chu==1)//刪除輸入的密碼前一位 { while(shan_chu==1) { shan_chu=0; keyscan(); } if(wflag>0) { if(wflag==1)ma20=0; if(wflag==2)ma21=0; if(wflag==3)ma22=0; if(wflag==4)ma23=0; if(wflag==5)ma24=0; if(wflag==6)ma25=0;基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第42頁(yè)。 wflag--;基于單片機(jī)的電子密碼鎖的設(shè)計(jì)與制作全文共49頁(yè),當(dāng)前為第42頁(yè)。 } } if(tui_chu==1) { while(tui_chu==1) { tui_chu=0; keyscan(); } key_init(); shu_ru_flag=0; wflag=0; yj1602_init();//液晶初始化 } } } } while(shu_ru_flag==1)//輸入密碼開鎖 { keyscan(); if(num1==400)//20秒時(shí)間到 { TR1=0;//關(guān)閉定時(shí)器 num1=0; gotolp2; } //密碼輸入界面 yj1602_write_c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度數(shù)據(jù)中心網(wǎng)絡(luò)布線與虛擬現(xiàn)實(shí)技術(shù)應(yīng)用合同3篇
- 少兒中醫(yī)啟蒙從理論到實(shí)踐的全面解析
- 2024版帶多場(chǎng)景混凝土汽車泵租賃合同
- 家庭教育新模式家校聯(lián)合培養(yǎng)計(jì)劃
- 小微企業(yè)普惠金融與貸款審批優(yōu)化研究
- 2024版車輛贈(zèng)予協(xié)議書
- 醫(yī)療健康中實(shí)驗(yàn)室數(shù)據(jù)的深度挖掘與分析
- 《花椒及花椒籽風(fēng)味油的制取及品質(zhì)研究》
- 家庭營(yíng)養(yǎng)教育培養(yǎng)健康生活方式的傳承者
- 碳硫硅鈣石與水化硫酸鹽
- 蘇軾的人生經(jīng)歷英文版
- 全新大學(xué)英語(yǔ)語(yǔ)法手冊(cè)教案
- 2022年11月26日四川省瀘州市事業(yè)單位招聘考試《綜合知識(shí)》精選真題及答案
- 消化內(nèi)鏡治療新技術(shù)課件
- 小學(xué)語(yǔ)文作業(yè)分層設(shè)計(jì)分析
- 讀者文章匯總 讀者文摘100篇
- 現(xiàn)代文閱讀之散文
- 山東省濟(jì)南市高職單招2022-2023學(xué)年醫(yī)學(xué)綜合真題及答案
- 配色技術(shù)員工作計(jì)劃工作總結(jié)述職報(bào)告PPT模板下載
- 挖掘機(jī)、裝載機(jī)檢驗(yàn)報(bào)告完整
評(píng)論
0/150
提交評(píng)論