




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的電子密碼鎖設(shè)計(jì)摘 要隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求越來(lái)越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。本設(shè)計(jì)以單片機(jī)AT89C51作為密碼鎖監(jiān)控裝置的檢測(cè)和控制核心,結(jié)合外圍的鍵盤輸入、LED顯示、報(bào)警、開(kāi)鎖等電路模塊實(shí)現(xiàn)。具有密碼輸入、密碼清除、報(bào)警、開(kāi)鎖、鍵盤鎖定的功能。正確輸入密碼前提下,開(kāi)鎖;錯(cuò)誤輸入密碼情況下,報(bào)警。課題利用匯編語(yǔ)言編寫主控芯片控制程序,并用Keil軟件進(jìn)行編譯和Proteus 仿真,仿真結(jié)果證明:本密碼鎖具有設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,安全實(shí)用,保密性強(qiáng),靈活性高
2、等特點(diǎn),具有一定的推廣價(jià)值。關(guān)鍵詞:AT89C51,鍵盤,LED,報(bào)警,電子密碼鎖 Design of Electric Password Lock Based on MCU ABSTRACTAs the developing of the technology, people ask for high security machines. For satisfy this request, the cipher lock is appeared. It can carry out the key information to register in the main on board ini
3、tial attestation, the password information encrypt etc. The system by the AT89C51 as the master chip and the data memory unit, combined with the external keyboard, LED display, alarm, unlock and other circuit modules. It performs the following functions: enter the password correctly under the premis
4、e of unlocking; wrong password case the alarm.The system compiled with the Keil and Proteus software, designed a number you can change the password, the password with an electronic alarm control system. The lock has a reasonable design, simple, low cost, safe and practical, confidentiality, flexibil
5、ity, and high, with some promotional value. KEY WORDS: AT89C51, Keyboard, LED, Alarm, Electric password lock7目錄前言1第1章 概述31.1 背景31.2 意義31.3 特點(diǎn)41.4 電子密碼鎖的現(xiàn)狀及發(fā)展趨勢(shì)5第2章 系統(tǒng)總體方案設(shè)計(jì)82.1 系統(tǒng)結(jié)構(gòu)82.2 主控部分的選擇82.3 密碼輸入方式的選擇92.4 系統(tǒng)的組成102.5 工作流程10第3章 硬件設(shè)計(jì)113.1 單片機(jī)AT89C51簡(jiǎn)介113.1.1 主要特性113.1.2 管腳說(shuō)明123.1.3 震蕩特性143.2 矩陣鍵
6、盤143.3 復(fù)位電路153.4 振蕩電路163.5 顯示電路163.6 報(bào)警電路173.7 開(kāi)鎖電路183.8 元件清單193.9 完整電路20第4章 軟件設(shè)計(jì)214.1 軟件設(shè)計(jì)思路214.2 程序流程圖224.3 各子程序設(shè)計(jì)234.3.1 鍵盤掃描234.3.2 密碼比較和報(bào)警244.3.3 LED顯示27第5章 系統(tǒng)調(diào)試、仿真及結(jié)果305.1 程序的調(diào)試305.2 Proteus仿真315.2.1 進(jìn)入Proteus ISIS315.2.2 工作界面325.3 Proteus與Keil聯(lián)合調(diào)試應(yīng)用系統(tǒng)335.4 仿真結(jié)果33結(jié) 論35謝 辭36參考文獻(xiàn)37附 錄38外文資料翻譯47前
7、言在當(dāng)今社會(huì),安全防盜已成為社會(huì)問(wèn)題,而鎖自古以來(lái)就是防盜的重要工具,目前國(guó)內(nèi)大部分人使用的還是傳統(tǒng)的機(jī)械鎖,然而,眼下假冒偽劣的機(jī)械鎖互開(kāi)率非常之高,此外,即使是一把質(zhì)量過(guò)關(guān)的機(jī)械鎖,通過(guò)急開(kāi)鎖,甚至可以在不損壞鎖的前提下將鎖打開(kāi)。機(jī)械鎖的這些弊端為一種新型的鎖電子密碼鎖,提供了很大的發(fā)展空間。 從目前的技術(shù)水平和市場(chǎng)認(rèn)可程度看,使用最為廣泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險(xiǎn)箱、保險(xiǎn)柜和取款機(jī),由于人們對(duì)安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識(shí)別、IC卡辨認(rèn))已在國(guó)內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對(duì)特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識(shí)識(shí)別器在公共
8、場(chǎng)所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等缺點(diǎn),再加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場(chǎng)的接受程度,鍵盤式電子密碼鎖是這類電子防盜產(chǎn)品的主流。在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用也日趨重要。電子密碼鎖是集計(jì)算機(jī)技術(shù)、電子技術(shù)、數(shù)字密碼技術(shù)為一體的機(jī)電一體化高科技產(chǎn)品,具有安全性高,使用方便等優(yōu)點(diǎn)。本次畢業(yè)論文主要分為兩大模塊,一是硬件系統(tǒng)電路部分,另一個(gè)是用匯編語(yǔ)言編寫的軟件程序部分,基本能完成電子密碼鎖的開(kāi)鎖、修改密碼、密碼錯(cuò)誤報(bào)警等主要功能,成本低,可靠性高,具有很好的市場(chǎng)應(yīng)用價(jià)值本設(shè)計(jì)是基于單片機(jī)的密碼鎖設(shè)計(jì)方案,
9、根據(jù)要求,給出了該單片機(jī)密碼鎖的硬件電路和軟件程序,同時(shí)給出了單片機(jī)型號(hào)的選擇、硬件設(shè)計(jì)、軟件流程圖、單片機(jī)存儲(chǔ)單元的分配、匯編語(yǔ)言源程序及詳細(xì)注釋等內(nèi)容。基于以上思路,本次設(shè)計(jì)使用ATMEL公司的AT89C51實(shí)現(xiàn)一基于單片機(jī)的電子密碼鎖的設(shè)計(jì),其主要具有如下功能:(1) 設(shè)置6位密碼,密碼通過(guò)鍵盤輸入,若密碼正確,則將鎖打開(kāi)。(2) 報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤或首次按下CLR鍵,蜂鳴器就會(huì)報(bào)警并且鎖定鍵盤。電子密碼鎖的設(shè)計(jì)主要由三部分組成:4×3矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈,報(bào)警蜂鳴器等。密碼鎖設(shè)計(jì)的關(guān)鍵問(wèn)題是實(shí)現(xiàn)密碼的輸入
10、、清楚、開(kāi)鎖等功能:(1) 密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)“”就顯示在最右邊的數(shù)碼管上,同時(shí)將先前輸入的所有“”向左移動(dòng)一位。(2) 密碼清除功能:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所有顯示。(3) 開(kāi)鎖功能:當(dāng)按下開(kāi)鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對(duì),如果正確鎖打開(kāi),否則不打開(kāi)。 第1章 概述1.1 背景隨著社會(huì)物質(zhì)財(cái)富的日益增長(zhǎng),安全防盜已成為社會(huì)問(wèn)題。而鎖自古以來(lái)就是把守門戶的鐵將軍,人們對(duì)它要求甚高,既要安全可靠地防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來(lái)研制的主題。目前國(guó)內(nèi),大部分人使用的還是傳統(tǒng)的機(jī)械鎖。然而,眼下假冒偽劣的機(jī)械鎖泛濫成災(zāi),互開(kāi)率非常之高。所謂互開(kāi)率,是
11、各種鎖具的一個(gè)技術(shù)質(zhì)量標(biāo)準(zhǔn),也就是1把鑰匙能開(kāi)幾把鎖的比率。經(jīng)國(guó)家工商局、國(guó)家內(nèi)貿(mào)局、中國(guó)消協(xié)等部門對(duì)鎖具市場(chǎng)的調(diào)查,發(fā)現(xiàn)個(gè)別產(chǎn)品的互開(kāi)率居然超標(biāo)26倍。為何彈子鎖的“互開(kāi)率”會(huì)如此之高?據(jù)有關(guān)專家人士剖析,彈子鎖質(zhì)量好壞主要取決于彈子數(shù)量的多少以及彈子的大小,而彈子的多少和大小受一定條件的限制。此外,即使是一把質(zhì)量過(guò)關(guān)的機(jī)械鎖,通過(guò)急開(kāi)鎖,甚至可以在不損壞鎖的前提下將鎖打開(kāi)。機(jī)械鎖的這些弊端為一種新型的鎖-電子密碼鎖,提供了發(fā)展的空間1。1.2 意義單片機(jī),亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(I/O)等主
12、要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。 計(jì)算機(jī)的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。微計(jì)算機(jī)(單片機(jī))在這種情況下誕生了,它為我們改變了什么?縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,這些都離不開(kāi)單片機(jī)。以前沒(méi)有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來(lái)的產(chǎn)品不僅體積大,而且成本高,并且由于長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑?/p>
13、了,我們只需要在單片機(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫入程序來(lái)完成。這樣產(chǎn)品的體積變小了,成本也降低了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了,且容易升級(jí)改善。電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場(chǎng)合使用。從而大大提高了鎖的安全性,使不法之徒無(wú)從下手,人們也就能對(duì)自身財(cái)產(chǎn)安全有了更多的保障。當(dāng)今安全信息系統(tǒng)應(yīng)用越來(lái)越廣泛,特別在保護(hù)機(jī)密、維護(hù)隱私和財(cái)產(chǎn)保護(hù)方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實(shí)意義。1.3 特點(diǎn)在當(dāng)今社會(huì),安全防盜已成為社會(huì)問(wèn)題,而鎖自古以來(lái)就是防盜
14、的重要工具,目前國(guó)內(nèi)大部分人使用的還是傳統(tǒng)的機(jī)械鎖,然而,眼下假冒偽劣的機(jī)械鎖互開(kāi)率非常之高,此外,即使是一把質(zhì)量過(guò)關(guān)的機(jī)械鎖,通過(guò)急開(kāi)鎖,甚至可以在不損壞鎖的前提下將鎖打開(kāi)。機(jī)械鎖的這些弊端為一種新型的鎖電子密碼鎖,提供了很大的發(fā)展空間。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路,組成電子密碼控制系統(tǒng),密碼鎖共6位密碼,每位的取值范圍為09,用戶可以自行設(shè)定和修改密碼,每個(gè)密碼按鍵都有聲、光提示。用戶想要打開(kāi)鎖,必先通過(guò)提供的鍵盤輸入正確的密碼才可以,密碼輸入錯(cuò)誤有提示,為了提高安全性,當(dāng)密碼輸入錯(cuò)誤三次將報(bào)警十分鐘,期間輸入密碼無(wú)效,以防竊賊多次試探密碼。八位密碼同時(shí)
15、輸入正確,鎖才能打開(kāi)。鎖內(nèi)有備用電池,只有內(nèi)部上電復(fù)位時(shí)才能設(shè)置或修改密碼,因此,僅在門外按鍵是不能修改或設(shè)置密碼的,因此保密性強(qiáng)、靈活性高。其特點(diǎn)如下:(1)保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開(kāi)鎖成功率幾乎為零。(2)誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。(3)無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。(4)使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開(kāi)鎖。(5)電子密碼鎖操作簡(jiǎn)單易行,一學(xué)即會(huì)。1.4 電子密碼鎖的現(xiàn)狀及發(fā)展趨勢(shì)在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來(lái)解決。若使用傳統(tǒng)的機(jī)械式鑰匙開(kāi)鎖,人們常需攜帶多把
16、鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。在安全技術(shù)防范領(lǐng)域,隨著單片機(jī)的問(wèn)世,出現(xiàn)了帶微處理器的密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化、科技化等功能,從而使密碼鎖具有很高的安全性、可靠性。最早的鎖,是主人為防他人開(kāi)啟而設(shè)的簡(jiǎn)單的機(jī)關(guān),應(yīng)用于門上最簡(jiǎn)單的鎖就是門閂了。我國(guó)古代有石鎖,并無(wú)鑰匙,是以繩索或鐵鏈?zhǔn)`。商周時(shí)期出現(xiàn)了用鑰匙才能開(kāi)啟的銅鎖,鐵鎖,以鑰匙的不同而匹配不同的鎖。 隨著科學(xué)技術(shù)的迅猛發(fā)展,機(jī)械鎖也有了長(zhǎng)足的發(fā)展?,F(xiàn)代機(jī)械鎖具已有了一百多年的歷史,鎖芯里加入了長(zhǎng)短不一的彈子,要外線用相應(yīng)齒形的鑰匙來(lái)打開(kāi)。以后,又發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲
17、控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,不同磁場(chǎng),不同聲波,不同光束光波,不同圖像。如指紋、眼底視網(wǎng)膜等)來(lái)控制鎖的開(kāi)啟。我國(guó)鎖的發(fā)展已綿延了數(shù)千年,中國(guó)鎖具的發(fā)展,大體經(jīng)歷了初創(chuàng)期,發(fā)展期和繁榮期三個(gè)階段。初創(chuàng)期為新石器時(shí)代到夏商時(shí)期。在我國(guó)母系社會(huì)后期(相當(dāng)于公元前5000年-公元前2000年),因?yàn)楫?dāng)時(shí)社會(huì)生產(chǎn)力的提高,人類開(kāi)始擁有個(gè)人的私有(少量)財(cái)產(chǎn)。后來(lái),隨著私有制的發(fā)展,私人財(cái)富越來(lái)越多,為了保護(hù)財(cái)產(chǎn)和生命的安全,人類開(kāi)始了對(duì)鎖具的探索。在最初,人類只是簡(jiǎn)單地把個(gè)人貴重財(cái)物用獸皮包起來(lái)外面用繩索牢牢捆縛,最后在開(kāi)啟處,打上特殊的緊緊捆死的繩結(jié),只能用一個(gè)叫“錯(cuò)
18、”的工具才能挑開(kāi)。錯(cuò),又叫“肖”、“起子”。它用獸牙或獸骨制成,形狀像把鐮刀狀的鉤子,實(shí)際上繩結(jié)就是最早的鎖具,“肖”就是最早的鑰匙,這就是我國(guó)鎖具的雛形,一直從商代沿用到漢代。到了距今5000年的仰韶文化時(shí)期,我們先民創(chuàng)造了裝在木結(jié)構(gòu)框架建筑上的木鎖。這是世界上迄今為止最古老的鎖具,可稱得上是“世界第一鎖”。這種木鎖一直在民間傳承2。發(fā)展期為春秋戰(zhàn)國(guó)經(jīng)秦漢、魏晉、南北朝,直到隋唐宋元時(shí)期。春秋時(shí)期進(jìn)入鐵器時(shí)代,考古證明,在這一時(shí)期人們大量的是使用鐵鎖、銅鎖,還有銀鎖、鎏金鎖等,其中有代表性的如西周的青銅鎖、東漢的金屬鎖、唐代的蝦尾銀鎖和宋代的方身鎖等,都具有相當(dāng)高的技術(shù)水平。繁榮期為明清時(shí)期
19、特別是漢代的鐵制三簧鎖,在我國(guó)前后沿用了1000多年。各種材質(zhì)的鎖具同步發(fā)展,以銅鎖、鐵鎖居多,工藝更加精巧,在開(kāi)鎖難度和外形制造上有很大的創(chuàng)新3?,F(xiàn)代鎖具,它的機(jī)械化生產(chǎn),擺脫了過(guò)去我們用手工操作的束縛。它不僅是能批量生產(chǎn),滿足人民生活的需要;同時(shí),也充分運(yùn)用了現(xiàn)代科學(xué),創(chuàng)造了磁控鎖、聲控鎖、遙控鎖、遠(yuǎn)紅外線鎖、電子卡片鎖、指紋鎖、超聲波鎖、電磁波鎖等絕妙精品,大大提高了防竊、防盜功能。從目前的技術(shù)水平和市場(chǎng)認(rèn)可程度看,使用最為廣泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險(xiǎn)箱、保險(xiǎn)柜和取款機(jī),由于人們對(duì)安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識(shí)別、IC卡辨認(rèn))已在國(guó)內(nèi)外相繼面世。但是這些
20、產(chǎn)品的特點(diǎn)是針對(duì)特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識(shí)識(shí)別器在公共場(chǎng)所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等缺點(diǎn),再加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場(chǎng)的接受程度,鍵盤式電子密碼鎖是這類電子防盜產(chǎn)品的主流。在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用也日趨重要。電子密碼鎖是集計(jì)算機(jī)技術(shù)、電子技術(shù)、數(shù)字密碼技術(shù)為一體的機(jī)電一體化高科技產(chǎn)品,具有安全性高,使用方便等優(yōu)點(diǎn)4。鍵盤式電子密碼在鍵盤上輸入,與打電話差不多,因而易于掌握,其突出優(yōu)點(diǎn)是密碼是記在被授權(quán)人腦子里的數(shù)字和字符,既準(zhǔn)確又可靠,不會(huì)丟失(除
21、了忘記),難以被竊(除非自己泄露)。但是密碼不能太簡(jiǎn)單,太簡(jiǎn)單了就容易被他人在鍵盤上試探出來(lái),或者可能被旁觀者窺測(cè)出來(lái),造成保密性不足。當(dāng)然,密碼又不能太復(fù)雜,太復(fù)雜了可能自己都糊涂了,或者輸入密碼操作成功率低,造成使用不便。因此,為了發(fā)揚(yáng)優(yōu)點(diǎn)、克服弱點(diǎn),鍵盤式電子密碼也在不斷發(fā)展中,如任意設(shè)定密碼技術(shù)使得被授權(quán)人可以根據(jù)自己的需要或喜好設(shè)定密碼,常用常新;而“自動(dòng)更改密碼技術(shù)”使得本次輸入的密碼將自動(dòng)更改成下次應(yīng)輸入的密碼,更改的規(guī)律不為他人所知,因而不怕旁觀者窺測(cè);獨(dú)出心裁的“鍵盤亂序顯示技術(shù)”使得鍵盤上的固定鍵位每次顯示出的字符不固定,并且顯示的窄小角度只能由操作者正面看得到,因而即使旁
22、觀者看見(jiàn)操作動(dòng)作也難以窺測(cè)出密碼;“多重密碼設(shè)定”技術(shù)使得單組密碼不一定有效,適合多人分權(quán)使用,需要輸入兩組以上的密碼才被認(rèn)可,大大提高了保密性,如果限定輸入這些密碼的先后順序或時(shí)間區(qū)段,則保密性還可提高。在輸入密碼的過(guò)程中,為了限制試探密碼的企圖,通常輸入錯(cuò)誤碼若干次或若干時(shí)間內(nèi)輸入不正確,即“封鎖”鍵盤,不再接受輸入操作。當(dāng)今電子密碼鎖發(fā)展已經(jīng)到了非常高的境界,由于電子元件特別是單片機(jī)應(yīng)用在這幾年得到空前發(fā)展無(wú)論功能性,穩(wěn)定性都比較全面,在保密方面已做到人眼識(shí)別,指紋識(shí)別,人聲識(shí)別基本上電影上有的現(xiàn)實(shí)也有5。在國(guó)外發(fā)展比較早,所以應(yīng)用也比較廣泛,主要在家庭裝較貴重地方,銀行,保險(xiǎn)柜等應(yīng)用較
23、多。在國(guó)內(nèi)這方面發(fā)展也較快,不管自己開(kāi)發(fā)或是引進(jìn)都有,在重要地方應(yīng)用也較多,由于價(jià)錢比普通彈子鎖較貴,早幾年應(yīng)用較少,現(xiàn)在越來(lái)越普及到平常化,未來(lái)的發(fā)展也會(huì)越來(lái)越被大眾采用,由于它的功能、安全是彈子鎖無(wú)法相比的,發(fā)展前景也是非常大的。第2章 系統(tǒng)總體方案設(shè)計(jì)2.1 系統(tǒng)結(jié)構(gòu) 電源 AT89C51數(shù)碼管 復(fù)位電路蜂鳴器鍵盤 圖2-1 系統(tǒng)結(jié)構(gòu)框圖2.2 主控部分的選擇方案一:采用數(shù)字電路控制用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,將密碼保存在JK觸發(fā)器中,與輸入密碼通過(guò)比較器比較,判斷結(jié)果是否相符合。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差,
24、故不采用。 方案二:采用以單片機(jī)為核心的控制方案選用單片機(jī)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。單片機(jī)具有資源豐富、速度快、編程容易等優(yōu)點(diǎn)。利用單片機(jī)內(nèi)部的隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)及其引腳資源,外接液晶顯示(LED),鍵盤輸入等實(shí)現(xiàn)數(shù)據(jù)的處理傳輸和顯示功能,基本上能實(shí)現(xiàn)設(shè)計(jì)指標(biāo)。因此綜合考慮,本系統(tǒng)采用方案二。2.3 密碼輸入方式的選擇方案一:指紋輸入識(shí)別指紋識(shí)別技術(shù)主要涉及四個(gè)功能:讀取指紋圖像、提取特征、保存數(shù)據(jù)和比對(duì)。通過(guò)指紋讀取設(shè)備讀取到人體指紋的圖像,然后要對(duì)原始圖像進(jìn)行初步的處理,使之更清晰,再通過(guò)指紋辨識(shí)軟件建立指紋的特征數(shù)據(jù)。軟件從指紋上找到被稱為“節(jié)點(diǎn)”
25、(minutiae)的數(shù)據(jù)點(diǎn),即指紋紋路的分叉、終止或打圈處的坐標(biāo)位置,這些點(diǎn)同時(shí)具有七種以上的唯一性特征。通常手指上平均具有70個(gè)節(jié)點(diǎn),所以這種方法會(huì)產(chǎn)生大約490個(gè)數(shù)據(jù)。這些數(shù)據(jù),通常稱為模板。通過(guò)計(jì)算機(jī)模糊比較的方法,把兩個(gè)指紋的模板進(jìn)行比較,計(jì)算出它們的相似程度,最終得到兩個(gè)指紋的匹配結(jié)果,從而判斷輸入結(jié)果的正確與否??紤]到本方案軟硬件太過(guò)復(fù)雜,而且成本也高,故不采用。方案二:矩陣鍵盤輸入識(shí)別由各按鍵組成的矩陣鍵盤每條行線和列線都對(duì)應(yīng)一條I/O口線,鍵位設(shè)在行線和列線的交叉點(diǎn),當(dāng)一個(gè)鍵按下就會(huì)有某一條行線與某一條列線接觸,只要確定接觸的是哪兩條線,即哪兩個(gè)I/O口線,就可以確定哪一個(gè)鍵
26、被觸動(dòng)。 行線設(shè)計(jì)成上拉口線,初始時(shí)被置高電位,列線懸空,初始置低。通過(guò)不斷讀行線口線,或者中斷方式觸發(fā)鍵位掃描。當(dāng)發(fā)現(xiàn)有鍵按下,將列線逐一置低,其他列線置高,讀行線口線。當(dāng)某條列線置低時(shí),某條行線也被拉低,則確定這兩條線的交點(diǎn)處的按鈕被按下。每個(gè)按鍵都可通過(guò)程序賦予功能,從而完成密碼識(shí)別本方案簡(jiǎn)單易行,故采用鍵盤輸入。2.4 系統(tǒng)的組成如圖2-1所示系統(tǒng)主要由AT89C51(51系列)、八位數(shù)碼管、蜂鳴器、LED、4×3矩陣鍵盤、復(fù)位電路等組成。2.5 工作流程使用AT59C51單片機(jī)、4×3矩陣鍵盤、LED、蜂鳴器等。矩陣鍵盤分別為0、1、2、3、4、5、6、7、8、9
27、、CLR、ENTER。當(dāng)輸入密碼時(shí),LED顯示電路顯示為“-”,當(dāng)密碼輸入完畢按下ENTER鍵時(shí),對(duì)輸入密碼與設(shè)定的密碼進(jìn)行比較,若密碼正確則鎖開(kāi),此處用LED發(fā)光二極管一秒鐘作為提示;若密碼不正確,禁止按鍵輸入3秒,同時(shí)發(fā)出“嘀、嘀”報(bào)警聲。10洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文)第3章 硬件設(shè)計(jì)3.1 單片機(jī)AT89C51簡(jiǎn)介AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4K bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM)和128 bytes的隨機(jī)存取數(shù)據(jù)序存器(RAM),器件采用ATMEL公司的高密度/非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片
28、內(nèi)置通用8位中央處理器(CPU)和FLASH存儲(chǔ)單元,AT89C51單片機(jī)為許多嵌入式控制系統(tǒng)提供了一種靈活行高且價(jià)廉的方案。3.1.1 主要特性圖3-1 AT89C51l 8031 CPU與MCS-51兼容;l 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫/擦循環(huán));l 全靜態(tài)工作:0Hz-24KHz; l 三級(jí)程序存儲(chǔ)器保密鎖定;l 128*8位內(nèi)部RAM;l 32條可編程I/O線;l 兩個(gè)16位定時(shí)器/計(jì)數(shù)器;l 6個(gè)中斷源;l 可編程串行通道;l 低功耗的閑置和掉電模式;l 片內(nèi)振蕩器和時(shí)鐘電路。 3.1.2 管腳說(shuō)明VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路
29、雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TT
30、L門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(I
31、LL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:管腳備選功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程
32、期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在
33、此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。3.1.3 震蕩特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高
34、低電平要求的寬度。3.2 矩陣鍵盤工作原理:矩陣鍵盤又稱為行列式鍵盤,本次使用4條I/O線作為行線,3條I/O線作為列線組成的鍵盤,如圖3-2所示。在行線和列線的每一個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵。這樣鍵盤中按鍵的個(gè)數(shù)是4×3個(gè)。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。當(dāng)按鍵沒(méi)有按下時(shí),所有的輸出端都是高電平,代表沒(méi)有鍵按下。一旦有鍵按下,則輸入線會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可以知道是否有按鍵被按下。圖3-2 矩陣鍵盤3.3 復(fù)位電路工作原理:?jiǎn)纹瑱C(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后PC0000H,
35、使單片機(jī)從第個(gè)單元取指令。無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間(即RST為高電平期間),P0口為高組態(tài),P1P3口輸出高電平;外部程序存儲(chǔ)器讀選通信號(hào)PSEN無(wú)效。地址鎖存信號(hào)ALE也為高電平。根據(jù)實(shí)際情況選擇如圖3-4所示的復(fù)位電路。該電路在最簡(jiǎn)單的復(fù)位電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間,電容C1上的電壓很小,復(fù)位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過(guò)程中RST端電壓逐漸下降,當(dāng)RST端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),由于電容C1足夠大,可以保證RST高電平有效時(shí)間大于24個(gè)振蕩周期,CPU能夠可靠復(fù)位。增加手動(dòng)
36、復(fù)位按鍵是為了避免死機(jī)時(shí)無(wú)法可靠復(fù)位。當(dāng)復(fù)位按鍵按下后電容C1通過(guò)R5放電。當(dāng)電容C1放電結(jié)束后,RST端的電位由R1與R2分壓比決定。由于R11<<R15 因此RST為高電平,CPU處于復(fù)位狀態(tài),松手后,電容C1充電,RST端電位下降,CPU脫離復(fù)位狀態(tài)。R1的作用在于限制按鍵按下瞬間電容C1的放電電流,避免產(chǎn)生火花,以保護(hù)按鍵觸電 。圖3-3 復(fù)位電路3.4 振蕩電路本設(shè)計(jì)晶振選擇頻率為12MHZ,電容選擇30pF如圖34所示。經(jīng)計(jì)算得單片機(jī)工作胡機(jī)器周期為:12×(1÷12M)=1us。圖3-4 振蕩電路 3.5 顯示電路 工作原理:本系統(tǒng)使用共陰極數(shù)碼管
37、顯示,由于8個(gè)顯示器的段碼同名端是連接在一起的,如果選碼的管腳(本系統(tǒng)中為P1)都為0,那么8個(gè)顯示器則顯示同一字符。要使各個(gè)數(shù)碼管出現(xiàn)不同字符必須采用“分時(shí)動(dòng)態(tài)掃描”的方法顯示。即每次點(diǎn)亮一個(gè)LED顯示器,延時(shí)一段時(shí)間再點(diǎn)亮下一個(gè)LED顯示器周而復(fù)始,8個(gè)LED顯示器輪流動(dòng)態(tài)掃描。利用人視覺(jué)余輝的暫留效應(yīng),看起來(lái)好像幾個(gè)顯示器上“同時(shí)”顯示不同的字符。本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的。本系統(tǒng)的顯示采用串行顯示的方式,使用單片機(jī)的兩個(gè)串行口,利用74LS245驅(qū)動(dòng)數(shù)碼管發(fā)光顯示數(shù)碼和74LS245控制位選信號(hào),就可以完成單片機(jī)的顯示功能,顯示電路的電路原理圖如圖3-5所示。圖3
38、-5 顯示電路3.6 報(bào)警電路工作原理:報(bào)警模塊由蜂鳴器和單片機(jī)組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)約需要100mA驅(qū)動(dòng)電流。蜂鳴器電路如圖3-6所示。當(dāng)AT89C51的P1.7口輸出為高電平時(shí),蜂鳴器產(chǎn)生蜂鳴音,AT89C51的P1.7口輸出為低電平時(shí),蜂鳴器不發(fā)聲。圖3-6 報(bào)警電路3.7 開(kāi)鎖電路工作原理:在本次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開(kāi)鎖;滅,表示沒(méi)有開(kāi)鎖。電路圖如3-7所示。當(dāng)P1.0口輸出低電平時(shí),二極管發(fā)光,表示開(kāi)鎖。圖3-7 開(kāi)鎖電路3.8 元件清單表3-1 元件清單元件名稱所屬類所屬子類AT89C51Microproce
39、ssor ICs8051 familyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneous-RSTResistorsGeneric7SEG-MPX8-CC-BLUEOptoelectronics6-segment displsys74LS245TTL 74LS seriesTransceiversBUTTONSwitches & relaysSwitchesSOUNDERSpeakers & sbounders-LED-YELLOWOptoelectronicsLEDS3.9 完整電路圖3-8 電子密
40、碼鎖原理圖20 第4章 軟件設(shè)計(jì) 4.1 軟件設(shè)計(jì)思路 一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過(guò)軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,如數(shù)字濾波,信號(hào)處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C51系列單片機(jī)相對(duì)應(yīng)的51匯編語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫的程序(稱為源程序)最終都必須翻譯成機(jī)器語(yǔ)
41、言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。高級(jí)語(yǔ)言是面向問(wèn)題和計(jì)算過(guò)程的語(yǔ)言,它可通過(guò)于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng),常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語(yǔ)言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語(yǔ)言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語(yǔ)言可以不用像高級(jí)語(yǔ)言那樣占用較多的存儲(chǔ)空間,適合于存儲(chǔ)容量較小的系統(tǒng)。本系統(tǒng)軟件設(shè)計(jì)由主程序、初始化程序、LED顯示程序、鍵盤掃描程序、鍵功能程序、密碼設(shè)置程序、EEPROM讀寫程序和延時(shí)程序等組成。如圖4
42、-1所示為主程序流程圖,開(kāi)始接上電源,程序進(jìn)行初始化設(shè)置,初始化時(shí),數(shù)碼管上顯示“PE”,接著輸入最大6位數(shù)的密碼,當(dāng)密碼輸入完后,按下“ENTER”鍵,進(jìn)行密碼比較,然后給出相應(yīng)信息。在輸入密碼過(guò)程中,顯示器只顯示“-”。當(dāng)輸入超過(guò)6個(gè)時(shí),給出報(bào)警信息。在密碼輸入過(guò)程中,若輸入錯(cuò)誤,可以利用“CLR”鍵刪除剛才輸入的錯(cuò)誤的數(shù)字。4.2 程序流程圖 圖4-1 電子密碼鎖程序流程圖4.3 各子程序設(shè)計(jì)4.3.1 鍵盤掃描如圖4-2,本系統(tǒng)使用4×3矩陣鍵盤當(dāng)沒(méi)有鍵按下時(shí),行線和列線之間是不相連的,若第N行與第M列的鍵被按下,那么第N行與第M列的線就被接通。每一條水平(行線)與垂直線(列
43、線)的交叉處不相通,而是通過(guò)一個(gè)按鍵來(lái)連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個(gè)按鍵的鍵盤。對(duì)鍵盤的識(shí)別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法,本次設(shè)計(jì)使用的是逐行掃描查詢法。根據(jù)上述原理,本系統(tǒng)的鍵盤掃描方法是利用P3.0、P3.1、P3.2、P3.3口作為行掃描線,P3.4、P3.5、P3.6作為列回掃線。具體實(shí)施方法為:先使行列P3.0口輸出低電平,P3口其他口輸出高電平,然后對(duì)P3.4、P3.5、P3.6三個(gè)口分別作判斷。若此三口都為高電平,則沒(méi)有鍵按下;若有鍵按下,P3.4、P3.5、P3.6三個(gè)口必定有一個(gè)口
44、輸入為低電平,再判斷P3.4、P3.5、P3.6哪個(gè)口為低電平則可判斷按鍵在哪列上。如P3.4、P3.5、P3.6沒(méi)有低電平,再使P3.1為低電平,其他口為高電平,依次掃描下去,找到按鍵所在的行,再判斷P3.4、P3.5、P3.6哪一位為低,便可知道鍵在哪一列上。鍵盤掃描子程序如下:LSCAL: MOV P3 ,#0F0HLI: JNB P3.0 ,L2 LCALL DLY_SJNB P3.0 ,L2MOV LINE ,#00HLJMP RSCANL2: JNB P3.1 ,L3LCALL DLY_SJNB P3.1 ,L3MOV LINE,#01HLJMP RSCANL3: JNB P3.2
45、 ,L4 LCALL DLY_SJNB P3.2 ,L4MOV LINE,#02HLJMP RSCANL4: JNB P3.3 ,A0LCALL DLY_SJNB P3.3,A0MOV LINE ,#03HRSCAN: MOV P3 ,#0FHC1: JNB P3.4 ,C2 MOV ROW ,#00H LJMP CALCUC2: JNB P3.5,C3MOV ROW ,#01HLJMP CALCU C3: JNB P3.6 ,C1 MOV ROW ,#02HCALCU: MOV A ,LINEMOV B ,#03HMUL ABADD A,ROWMOV VAL ,A4.3.2 密碼比較和報(bào)警電
46、子密碼鎖工作的主要過(guò)程是LED數(shù)碼管提示開(kāi)始輸入密碼,通過(guò)鍵盤輸入密碼,同時(shí)LED顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,作出開(kāi)鎖或報(bào)警處理。當(dāng)輸入密碼連續(xù)輸入錯(cuò)誤3次時(shí),系統(tǒng)報(bào)警。密碼的設(shè)定,在此程序中密碼是固定38H3DH中,假設(shè)預(yù)設(shè)的密碼為“123456”共6位密碼。密碼比較和報(bào)警流程圖如圖4-2所示。圖4-2 密碼比較和報(bào)警流程圖密碼比較和報(bào)警程序:J1: MOV A ,VALCJNE A ,#0BH ,J3MOV R1 ,KEY_CNTCJNE R1 ,#06H ,J4MOV A ,WORD_1CJNE A ,3EH,J5 MOV A ,WORD_2CJNE A ,3FH,J
47、5 MOV A ,WORD_3CJNE A ,40H,J5 MOV A ,WORD_4CJNE A ,41H,J5 MOV A ,WORD_5CJNE A ,42H,J5 MOV A ,WORD_6CJNE A ,43H,J5 CLR P1.0LCALL DLY_LLJMP FINIJ5: LCALL ALARM_2LJMP STARTJ4: LCALL ALARM_1LJMP STARTJ3: INC KEY_CNTMOV A ,KEY_CNTCJNE A,#07H ,K1LCALL ALARM_1W10: LCALL DISPMOV A ,P3CJNE A ,#0FH ,W11LJMP S
48、TARTW11: MOV A ,P3CJNE A ,#0F0H ,W12LJMP STARTW12: SJMP W10LJMP STARTLJMP STARTK1: LCALL SHIFTLW20: LCALL DISPMOV A ,P3CJNE A ,#0FH ,W21LJMP A0W21: MOV A ,P3CJNE A ,#0F0H ,W22LJMP A0W22: SJMP W20LJMP A0ALARM_1: SETB TR0 JB TR0 ,$ RETALARM_2: SETB TR0 JB TR0 ,$LCALL DLY_LRET4.3.3 LED顯示LED顯示流程圖如圖4-2所示
49、。圖4-3 LED顯示流程圖LED顯示子程序:DISP:CLR P2.7MOV P0 ,LED_BIT_8LCALL DLY_SSETB P2.7CLR P2.6MOV P0 ,LED_BIT_7LCALL DLY_SSETB P2.6CLR P2.5MOV P0 ,LED_BIT_6LCALL DLY_SSETB P2.5CLR P2.4MOV P0 ,LED_BIT_5LCALL DLY_SSETB P2.4CLR P2.3MOV P0 ,LED_BIT_4LCALL DLY_SSETB P2.3CLR P2.2MOV P0 ,LED_BIT_3LCALL DLY_SSETB P2.2CL
50、R P2.1MOV P0 ,LED_BIT_2LCALL DLY_SSETB P2.1CLR P2.0MOV P0 ,LED_BIT_1LCALL DLY_SSETB P2.0RET54第5章 系統(tǒng)調(diào)試、仿真及結(jié)果5.1 程序的調(diào)試 應(yīng)用Keil軟件對(duì)電子密碼鎖源程序進(jìn)行調(diào)試編譯如下:編寫源程序并保存建立工程并添加源文件設(shè)置工程編譯/匯編、連接,產(chǎn)生目標(biāo)文件程序調(diào)試。Keil使用“工程”(Project)的概念,對(duì)工程(而不能對(duì)單一的源程序)進(jìn)行編譯/匯編、連接等操作。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單File-New,在源程序編輯器中輸入?yún)R編語(yǔ)言或
51、C語(yǔ)言源程序(或選擇File-Open,直接打開(kāi)已用其它編輯器編輯好的源程序文檔)并保存,注意保存時(shí)必須在文件名后加上擴(kuò)展名.asm(.a51)或.c;然后選擇菜單Project-New Project,建立新工程并保存(保存時(shí)無(wú)需加擴(kuò)展名,也可加上擴(kuò)展名.uv2);工程保存后會(huì)立即彈出一個(gè)設(shè)備選擇對(duì)話框,選擇CPU后點(diǎn)確定返回主界面。這時(shí)工程管理窗口的文件頁(yè)(Files)會(huì)出現(xiàn)“Target1”,將其前面+號(hào)展開(kāi),接著選擇Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“Add File to Group Source Group1”,出現(xiàn)一個(gè)對(duì)話框,要求尋找并加入源文件(在加入一個(gè)源
52、文件后,該對(duì)話框不會(huì)消失,而是等待繼續(xù)加入其它文件)。加入文件后點(diǎn)close返回主界面,展開(kāi)“Source Group1”前面+號(hào),就會(huì)看到所加入的文件,雙擊文件名,即可打開(kāi)該源程序文件。緊接著對(duì)工程進(jìn)行設(shè)置,選擇工程管理窗口的Target1,再選擇“Project-Option for TargetTarget1”(或點(diǎn)右鍵彈出快捷菜單再選擇該選項(xiàng)),打開(kāi)工程屬性設(shè)置對(duì)話框,共有8個(gè)選項(xiàng)卡,主要設(shè)置工作包括在Target選項(xiàng)卡中設(shè)置晶振頻率、在Debug選項(xiàng)卡中設(shè)置實(shí)驗(yàn)仿真板等,如要寫片,還必須在Output選項(xiàng)卡中選中“Creat Hex Fi”;其它選項(xiàng)卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按
53、F7鍵(或點(diǎn)擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯/匯編、連接以及產(chǎn)生目標(biāo)文件,成功編譯/匯編、連接后,選擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進(jìn)入程序調(diào)試狀態(tài),Keil提供對(duì)程序的模擬調(diào)試功能,內(nèi)建一個(gè)功能強(qiáng)大的仿真CPU以模擬執(zhí)行程序。Keil能以單步執(zhí)行(按F11或選擇Debug-Step)、過(guò)程單步執(zhí)行(按F10或選擇Debug-Step Over)、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試。如果發(fā)現(xiàn)程序有錯(cuò),可采用在線匯編功能對(duì)程序進(jìn)行在線修改(Debug-Inline Assambly),不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對(duì)工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟。對(duì)于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行可采用斷點(diǎn)設(shè)置的方法處理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints等)。在模擬調(diào)試程序后,還須通過(guò)編程器將hex目標(biāo)文件燒寫入單片機(jī)中才能觀
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商品陳列大全
- 【國(guó)金證券】人形機(jī)器人行業(yè)研究:人形機(jī)器人從理想走進(jìn)現(xiàn)實(shí)
- 2025年廣東省初中學(xué)業(yè)水平考試模擬英語(yǔ)試題(原卷版+解析版)
- 《會(huì)計(jì)信息系統(tǒng)應(yīng)用》課件 學(xué)習(xí)情境2 系統(tǒng)管理和基礎(chǔ)設(shè)置
- 二零二五年度北京市電子產(chǎn)品寄存與智能監(jiān)控服務(wù)協(xié)議
- 二零二五年度辦公空間互換及增值服務(wù)合作協(xié)議
- 女神節(jié)鮮花主題暖場(chǎng)活動(dòng)
- 智能停車場(chǎng)管理系統(tǒng)的需求分析
- 智能電動(dòng)汽車充電樁
- 低空經(jīng)濟(jì)示范區(qū)
- 企業(yè)人力資源管理師知識(shí)考試題及答案
- 2025年上半年宜賓江安縣人社局招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年安徽工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整版
- 《C#程序設(shè)計(jì)基礎(chǔ)》課件
- 2024年第五屆美麗中國(guó)全國(guó)國(guó)家版圖知識(shí)競(jìng)賽題庫(kù)及答案(中小學(xué)組)
- 2025年江蘇航空職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年上海市各區(qū)初三語(yǔ)文一模試題匯編之綜合運(yùn)用
- 2023年湖北省技能高考計(jì)算機(jī)類備考題庫(kù)(萬(wàn)維題庫(kù))-中部分(800題)
- S145水表井標(biāo)準(zhǔn)圖集
- 2025年云南曲靖市事業(yè)單位定向招聘駐曲部隊(duì)未就業(yè)隨軍家屬10人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 第4章水彈性力學(xué)-流體與剛體、彈性體相互耦合運(yùn)動(dòng)理論
評(píng)論
0/150
提交評(píng)論