版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于51單片機(jī)密碼鎖課程設(shè)計(jì)摘要隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變得尤為突出。在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用顯得日趨重要。本設(shè)計(jì)以單片機(jī)AT89C51作為密碼鎖監(jiān)控裝置的檢測(cè)和控制核心,分為主機(jī)控制和從機(jī)執(zhí)行機(jī)構(gòu)(本設(shè)重點(diǎn)介紹主機(jī)設(shè)計(jì)),實(shí)現(xiàn)鑰匙信息在主機(jī)上的初步認(rèn)證注冊(cè)、密碼信息的加密、鑰匙丟失報(bào)廢等功能。根據(jù)51單片機(jī)之間的串行通信原理,這便于對(duì)密碼信息的隨機(jī)加密和保護(hù)。而且采用鍵盤輸入的電子密碼鎖具有較高的優(yōu)勢(shì)。采用數(shù)字信號(hào)編碼和二次調(diào)制方式,不僅可以實(shí)現(xiàn)多路信息的控制,提高信號(hào)傳輸?shù)目垢蓴_性,減少錯(cuò)誤動(dòng)作,而且功率消耗低;反應(yīng)速度快、傳輸效率高、工作穩(wěn)定可靠等。軟件設(shè)計(jì)采用自上而下的模塊化設(shè)計(jì)思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。測(cè)試結(jié)果表明,本系統(tǒng)各項(xiàng)功能已達(dá)到本設(shè)計(jì)的所有要求。關(guān)鍵詞:單片機(jī);密碼鎖;單片機(jī)設(shè)計(jì),電子鎖。目錄9025一.緒論 1183551.1引言 1155801.2電子密碼鎖的背景 1150671.3電子密碼鎖設(shè)計(jì)的意義和本設(shè)計(jì)特點(diǎn) 222942二.系統(tǒng)設(shè)計(jì) 3244522.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖 3250772.2.開鎖機(jī)構(gòu)設(shè)計(jì) 3118152.2.1主控芯片AT89C51單片機(jī)的簡(jiǎn)介 424368三.系統(tǒng)硬件設(shè)計(jì) 768283.1鍵盤設(shè)計(jì) 736143.2系統(tǒng)電路設(shè)計(jì): 8197183.2.1晶振時(shí)鐘電路 8255423.2.2復(fù)位電路設(shè)計(jì) 919403.2.3串口引腳功能介紹 9319173.2.4其它引腳 9291233.3電路圖的繪制 9295803.3元器件采購 1128803四.軟件設(shè)計(jì) 12169874.1系統(tǒng)軟件設(shè)計(jì)整體思路 12172854.2系統(tǒng)軟件設(shè)計(jì)流程圖 1310532五.程序調(diào)試 1454775.1程序調(diào)試用到的軟件及工具 14122805.2KEILC51簡(jiǎn)介 14241085.3調(diào)試過程 1517912六.總結(jié)與展望 1713003致謝 1819805參考文獻(xiàn) 1912668附錄 20一.緒論1.1引言隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的喜愛。鎖是置于可啟閉的器物上,用以關(guān)住某個(gè)確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對(duì)它的結(jié)構(gòu)、機(jī)理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮?,F(xiàn)代人類文明社會(huì)里,由于社會(huì)中各種矛盾沖突十分劇烈,人們的思想道德觀念,價(jià)值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能夠自覺規(guī)范自已的行為,“非禮不為”,雖無鑰匙亦不會(huì)亂闖。然而,那些毫無道德觀念的盜賊卻想方設(shè)法利用高科技手段撬門開鎖,使廣大居民防不勝防。為什么會(huì)出現(xiàn)這種情況呢?因?yàn)閭鹘y(tǒng)鎖具都存在致命的弱點(diǎn):
第一、鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強(qiáng)力破壞;
第二、鎖具制作工藝,技術(shù)落后,無法阻止技術(shù)手段的開啟。
目前,市場(chǎng)上很多國內(nèi)外的鎖具,實(shí)際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡(jiǎn)單的工具就可以把這些鎖打開,有的慣偷甚至公開揚(yáng)言:“沒有我打不開的鎖?!逼鋵?shí),不是他們多高明,而是一般鎖具技術(shù)原理太過簡(jiǎn)單。面對(duì)這一殘酷的現(xiàn)狀,新時(shí)代提出了鎖具必須革命的迫切的要求。1.2電子密碼鎖的背景隨著社會(huì)科技的進(jìn)步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,不同磁場(chǎng),不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來控制鎖的開啟。從而大大提高了鎖的安全性,使不法之徒無從下手,人們也就能對(duì)自身財(cái)產(chǎn)安全有了更多的保障。當(dāng)今安全信息系統(tǒng)應(yīng)用越來越廣泛,特別在保護(hù)機(jī)密、維護(hù)隱私和財(cái)產(chǎn)保護(hù)方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實(shí)意義。1.3電子密碼鎖設(shè)計(jì)的意義和本設(shè)計(jì)特點(diǎn)單片機(jī),亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(I/0)等主要計(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)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。以前沒有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑?,我們只需要在單片機(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成本也降低了,長期使用也不會(huì)擔(dān)心精度達(dá)不到了,且容易升級(jí)改善。電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場(chǎng)合使用。大大提高了主人物資的安全性,安全可以代替老式機(jī)械鎖。目前使用的密碼鎖種類繁多,各具特色。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用AT89C2051單機(jī),研制了一款具有防盜自動(dòng)報(bào)警功能的電子密碼鎖。該密碼鎖設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價(jià)值。(1)系統(tǒng)設(shè)置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼由用戶自己設(shè)定,在開鎖狀態(tài)下,用戶可自行修改密碼。(3)具有自動(dòng)報(bào)警功能。自動(dòng)報(bào)警分現(xiàn)場(chǎng)報(bào)警和遠(yuǎn)程報(bào)警兩種?,F(xiàn)場(chǎng)報(bào)警由揚(yáng)聲器發(fā)出報(bào)警聲。(4)兩種情況下可報(bào)警:一是密碼輸入錯(cuò)誤3次,則報(bào)警;二是非正常開門,如破門而入的情況,可通過系統(tǒng)的紅外監(jiān)視裝置監(jiān)測(cè),同時(shí)報(bào)警,保證了系統(tǒng)的安全性。系統(tǒng)工作時(shí),用戶通過按鍵輸入4位密碼,單片機(jī)將輸入密碼與設(shè)定密碼進(jìn)行比較,若密碼正確,則發(fā)出開鎖信號(hào),將門打開,系統(tǒng)不報(bào)警;若密碼不正確,則有相應(yīng)的指示燈閃動(dòng),并要求重新輸入密碼,重新輸入密碼的次數(shù)不能超過3次,若3次輸入的密碼都不正確,則發(fā)出報(bào)警信號(hào)。二.系統(tǒng)設(shè)計(jì)2.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖數(shù)碼管及LED燈顯示數(shù)碼管及LED燈顯示路單片機(jī)AT89C51路單片機(jī)AT89C51密碼輸入設(shè)備開鎖機(jī)構(gòu)開鎖機(jī)構(gòu)系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖本設(shè)計(jì)由主控芯片51單片機(jī),單片機(jī)時(shí)鐘電路,鍵盤,和開鎖電路組成。單片負(fù)責(zé)控制整個(gè)系統(tǒng)的執(zhí)行過程。2.2.開鎖機(jī)構(gòu)設(shè)計(jì)通過單片機(jī)送給開鎖執(zhí)行機(jī)構(gòu),電路驅(qū)動(dòng)電磁鎖吸合,從而達(dá)到開鎖的目的。本設(shè)計(jì)通過P3.0接一個(gè)3極管驅(qū)動(dòng)繼電器打開電磁閥線圈實(shí)現(xiàn)開關(guān)門。AT89C51電磁閥開鎖驅(qū)動(dòng)電路AT89C51電磁閥開鎖驅(qū)動(dòng)電路 密碼正確密碼鎖開鎖機(jī)構(gòu)示意圖當(dāng)用戶輸入的密碼正確而且是在規(guī)定的時(shí)間及次數(shù)輸入之內(nèi),單片機(jī)便輸出開門信號(hào),送到開鎖驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開門的目的。2.2.1主控芯片AT89C51單片機(jī)的簡(jiǎn)介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。主要特性:·與MCS-51兼容·4K字節(jié)可編程閃爍存儲(chǔ)器·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24MHz·三級(jí)程序存儲(chǔ)器鎖定·128×8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(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)容。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(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)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。AT89C51芯片圖三.系統(tǒng)硬件設(shè)計(jì)3.1鍵盤設(shè)計(jì)為了使本電路更加簡(jiǎn)潔,本電子鎖的密碼鎖采用簡(jiǎn)單易學(xué)但不為多數(shù)人知道的摩期碼作為電路的密碼輸入。鍵盤硬件設(shè)備只需要一個(gè)按即可實(shí)現(xiàn)密碼的輸入與更改。關(guān)于摩斯碼的介紹如下:摩斯密碼是20世紀(jì)使用較為廣泛的電報(bào)傳輸使用的一種編碼。電報(bào)最早是由美國的摩爾斯在1844年發(fā)明的,故也被叫做摩爾斯電碼。它由一個(gè)輸入按鍵在輸入時(shí)按住的間隔時(shí)間長短組成來決定你的輸入:短促的點(diǎn)信號(hào)".",讀"嘀"(Di);保持一定時(shí)間的長信號(hào)"—",讀"嗒"(Da)。間隔時(shí)間:"嘀"1t;"嗒"3t;"滴嗒"間1t;字母間3t;字間5t。字符—摩斯碼對(duì)照表字符摩斯碼字符摩斯碼字符摩斯碼A._M__Y_.__B_...N_.Z__..C_._.O___1.____D_..P.__.2..__E.Q__._3...__F.._.R._.4...._G__.S...5.....H....T_6_....I..U.._7__...J.___V..._8___..K_._W.__9____.L._..X_.._0_____注:摩斯碼用在數(shù)字電路中“-”表示1,“.”表示0,如0翻譯成二進(jìn)制數(shù)為11111H,十六進(jìn)制數(shù)為1FH。本電路設(shè)計(jì)只取0~9數(shù)字作密碼有效數(shù)字,如果輸入其它字符則無效。本設(shè)計(jì)用到的數(shù)字的摩斯碼和二進(jìn)制對(duì)照數(shù)字0123456789摩斯碼111110111100111000110000100000100001100011100111102進(jìn)制111110111100111000110000100000100001100011100111103.2系統(tǒng)電路設(shè)計(jì):本系統(tǒng)電路主芯片AT89C51,晶振和兩個(gè)電容組成的時(shí)鐘脈沖,一個(gè)電阻和一個(gè)電解電容和一個(gè)按鍵組成的復(fù)位電路,一個(gè)8段數(shù)碼管構(gòu)成的密碼顯示器,一個(gè)蜂鳴器,5個(gè)LED,一個(gè)NPN三極管加上一個(gè)繼電器組成的驅(qū)動(dòng)電路構(gòu)成了系統(tǒng)電路。3.2.1晶振時(shí)鐘電路單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個(gè)12MHZ的晶振,形成單片機(jī)的晶振電路。晶振電路3.2.2復(fù)位電路設(shè)計(jì)復(fù)位電路3.2.3串口引腳功能介紹單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INT0外接蜂鳴器,當(dāng)INT0被置0時(shí),蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用作系統(tǒng)工作狀態(tài)提示。3.2.4其它引腳ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電源3.3電路圖的繪制用PROTEL99SE繪制的完整電路圖如下:系統(tǒng)電路圖八段數(shù)碼管顯示你的摩斯按鍵是否正確對(duì)應(yīng)你要輸入的數(shù)字密碼。由于采取上電設(shè)置密碼的編程方法復(fù)位鍵即密碼修改鍵設(shè)置在門后,要打開門才能修改密碼。設(shè)置密碼后若輸入密碼不對(duì)的前兩次5秒報(bào)警,最后一次10分鐘報(bào)警,摩斯按發(fā)錯(cuò)誤除外(但有兩秒報(bào)警,并且須全部密碼重新輸入)。本電路設(shè)置四位密碼,由于每位數(shù)字鍵均由五位摩斯碼構(gòu)成則要輸入20次摩斯碼鍵??!p0.0(綠色)“滴”顯示,p0.2(黃色)“嗒”音顯示,p0.4(紅色)摩斯碼按法錯(cuò)誤或密碼錯(cuò)誤,p0.6(藍(lán)色)表示該電路已設(shè)置了密碼,等待輸入密碼進(jìn)行比較。PROTEL繪制的PCB板:系統(tǒng)PCB板。3.3元器件采購元器件清單原件名稱備注單片機(jī)AT89C51電阻R1,R210K,100K各一只電解電容C3100F無極電容C1,C230VF數(shù)碼管一只5V蜂鳴器一只晶振12MHZ三極管9014一個(gè)按健S1,S2各一個(gè)12V繼電器一個(gè)LEDD1,D2,D3,D4綠,黃,紅,藍(lán)各一個(gè)2極管40041只萬能電路板1塊經(jīng)采購繼電器沒有買到,所以原電路的輸出電路3極管的繼電器改為LED燈,只要電路IC經(jīng)密碼輸入后能點(diǎn)亮LED燈則電路設(shè)計(jì)要求達(dá)到。四.軟件設(shè)計(jì)4.1系統(tǒng)軟件設(shè)計(jì)整體思路一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,如數(shù)字濾波,信號(hào)處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C51系列單片機(jī)相對(duì)應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。程序設(shè)計(jì)語言有三種:機(jī)器語言、匯編語言和高級(jí)語言。機(jī)器語言是機(jī)器唯一能“懂”的語言,用匯編語言或高級(jí)語言編寫的程序(稱為源程序)最終都必須翻譯成機(jī)器語言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。高級(jí)語言是面向問題和計(jì)算過程的語言,它可通過于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語句的功能強(qiáng),常常一個(gè)語句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語言可以不用像高級(jí)語言那樣占用較多的存儲(chǔ)空間,適合于存儲(chǔ)容量較小的系統(tǒng)。4.2系統(tǒng)軟件設(shè)計(jì)流程圖糸統(tǒng)返回否是密碼錯(cuò)誤主人是否要修改密碼開門輸入正確密碼保存后糸統(tǒng)返回輸入新密碼報(bào)警輸入錯(cuò)誤滿3次輸入錯(cuò)誤未滿3次密碼比較開始系統(tǒng)喚醒上電密碼輸入完畢系統(tǒng)等待密碼輸入糸統(tǒng)返回否是密碼錯(cuò)誤主人是否要修改密碼開門輸入正確密碼保存后糸統(tǒng)返回輸入新密碼報(bào)警輸入錯(cuò)誤滿3次輸入錯(cuò)誤未滿3次密碼比較開始系統(tǒng)喚醒上電密碼輸入完畢系統(tǒng)等待密碼輸入五.程序調(diào)試把也寫好的匯編語言程序的載入軟件調(diào)試工具,檢查軟件是否有設(shè)法錯(cuò)誤,再根據(jù)軟件提示對(duì)本程序進(jìn)行修改,直到?jīng)]有錯(cuò)誤再生成單片機(jī)能運(yùn)行的機(jī)器碼,再用51開發(fā)板或其它單怎機(jī)寫入工具把機(jī)器碼寫入單片機(jī)進(jìn)行實(shí)際的程序調(diào)試,根據(jù)實(shí)際情況再對(duì)程序的不足加以修改,直到滿足設(shè)計(jì)要求。5.1程序調(diào)試用到的軟件及工具調(diào)試本程序需要用到KEILC51,及51開發(fā)板一塊及其配套的下載燒錄軟件5.2KEILC51簡(jiǎn)介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。C51工具包的整體結(jié)構(gòu):uVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。5.3調(diào)試過程首先打開KEILC51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語法錯(cuò)誤,經(jīng)反復(fù)檢查無誤后匯編,生成51單片機(jī)可執(zhí)行的HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機(jī)。keilc51調(diào)試介面圖5-2單片機(jī)燒錄軟件介面六.總結(jié)與展望實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),當(dāng)然也是檢驗(yàn)學(xué)習(xí)成果的標(biāo)準(zhǔn)。在經(jīng)過一段時(shí)間的學(xué)習(xí)之后,我們需要了解自己的所學(xué)應(yīng)該如何應(yīng)用在實(shí)踐中,因?yàn)槿魏沃R(shí)都源于實(shí)踐,歸于實(shí)踐,所以要將所學(xué)的知識(shí)在實(shí)踐中來檢驗(yàn)。在做課程設(shè)計(jì)期間,在老師的指導(dǎo)下,通過自身的不斷努力,無論是思想上,學(xué)習(xí)上,都取得了長足的發(fā)展和巨大的收獲,現(xiàn)將總結(jié)如下:思想上,學(xué)會(huì)了用科學(xué)的精神去解決問題。很多事情看起來是很簡(jiǎn)單的問題,但實(shí)際做起來去會(huì)發(fā)現(xiàn)有許多奧妙!這是因?yàn)槠渲刑N(yùn)含著許多科學(xué)的問題。運(yùn)用科學(xué)的方法去解決問題,這是我這次實(shí)訓(xùn)給我?guī)淼乃枷肷系母淖儭W(xué)習(xí)上,使自已在大學(xué)所以的知識(shí)在這次得到實(shí)踐,學(xué)到一些書本上無法學(xué)到的經(jīng)驗(yàn),對(duì)電子元件有了進(jìn)一步的認(rèn)識(shí)。電子鎖是信息化時(shí)代發(fā)展的產(chǎn)物,應(yīng)時(shí)而生,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。致謝在本次課程計(jì)過程中,牛老師對(duì)課程選題,構(gòu)思到最的完成給予了指引與教導(dǎo),使我得以最終完成課程設(shè)計(jì),在此表示衷心的感謝。此外在課程設(shè)計(jì)中,還得到眾多朋友的關(guān)心支持和幫助,在此,謹(jǐn)向同學(xué)和朋友致以衷心的感謝和崇高的敬意!還有感謝黃河科技學(xué)院給了我這次難的的課程設(shè)計(jì)機(jī)會(huì),使我學(xué)會(huì)了很多有關(guān)電子密碼鎖的設(shè)計(jì)方法與工作原理,鞏固了單片機(jī)知識(shí)。最后,我要向百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱,評(píng)議的牛老師表示忠心的感謝。參考文獻(xiàn)[1]李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版)[M].北京:北京航空航天大學(xué)出版社,1998[2]李全利.單片機(jī)原理及接口技術(shù)[M].高等教育出版社,2003[3]PROTEL99SE電路設(shè)計(jì)與制板[M].機(jī)械工業(yè)出版社,2007[4]楊將新,李華軍,劉到駿等.單片機(jī)程序設(shè)計(jì)及應(yīng)用(從基礎(chǔ)到實(shí)踐)[J].電子工業(yè)出版社,2006[5]StevenF.Barrett.DaneilJ.Pack.EmbeddedSystem[M].北京:電子工業(yè)出版社,2006[6]周立功.LPC900系列Flash單片機(jī)應(yīng)用技術(shù)[J].北京航空航天大學(xué)出版社,2004[7]黃智偉.全國大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程[M].北京:電子工業(yè)出版社,2005附錄本設(shè)計(jì)的程序:hc0equ4ah;延時(shí)緩存區(qū)hc1equ4bhhc2equ4chhc3equ4dhhc4equ4ehxs_0equ50h;顯示緩存區(qū)xs_1equ51hxs_2equ52hxs_3equ53hxs_4equ54hxs_5equ55hxs_6equ56hxs_7equ57hxs_8equ58hxs_9equ59hps1equ5ah;設(shè)置密碼緩存區(qū)ps2equ5bhps3equ5chps4equ5dhmmbzequ5fh;密碼輸入次數(shù)at1equ60h;輸入密碼緩存區(qū)at2equ61hat3equ62hat4equ63h;初始化org00hajmpmain1org30hmain1:movps1,#00hmovps2,#00hmovps3,#00hmovps4,#00hmovat1,#00hmovat2,#00hmovat3,#00hmovat4,#00hmain:movxs_0,#1fh;顯示0的摩斯值movxs_1,#0fh;顯示1的摩斯值movxs_2,#07h;顯示2的摩斯值movxs_3,#03h;顯示3的摩斯值movxs_4,#01h;顯示4的摩斯值movxs_5,#00h;顯示5的摩斯值movxs_6,#10h;顯示6的摩斯值movxs_7,#18h;顯示7的摩斯值movxs_8,#1ch;顯示8的摩斯值movxs_9,#1eh;顯示9的摩斯值clrp3.0;RXD置0mova,#00h;密碼緩存movr2,#04h;四位密碼movr1,#00hmovr0,#ps1movr7,#05h;摩斯次數(shù),由于數(shù)字為5次clrp2.7start:movp0,#0ffhmovp1,#0ffhsetbp2.4;按鍵位jbp2.4,start;2.4為1轉(zhuǎn)startlcalldelay500msjbp2.4,startok:;嘀的音clrp0.0lcalldelay500msjnbp2.4,daa;是否去嗒音cun:;setbp0.2setbp0.0rlaadda,r1;存入一位摩斯碼djnzr7,yanshi;是否夠五位摩斯碼ajmpxianshiyanshi:;輸入一位摩斯碼停頓1tlcalldelay500msjbp2.4,mainajmpokdaa:;嗒的音lcalldelay500msjbp2.4,stopsetbp0.0clrp0.2lcalldelay500mssetbp0.2jnbp2.4,stopmovr1,#01hajmpcunstop:;摩斯輸入錯(cuò)誤clrp0.4lcalldelay2ssetbp0.4ajmpmaincunchu:mov@r0,aincr0mova,#00hmovr1,#00hmovr7,#05hdjnzr2,yanshiclrp0.6lcalldelay2ssetbp0.6ajmpshuruxianshi:cjnea,xs_0,next1;夠五位摩斯碼顯示0movp1,#0c0hclrp3.2;報(bào)警器lcalldelay1ssetbp3.2;報(bào)警器movp1,#0ffhajmpcunchunext1:cjnea,xs_1,next2;夠五位摩斯碼顯示1movp1,#0f9hclrp3.2lcalldelay1ssetbp3.2movp0,#0ffhajmpcunchunext2:cjnea,xs_2,next3;夠五位摩斯碼顯示2movp1,#0a4hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext3:cjnea,xs_3,next4;夠五位摩斯碼顯示3movp1,#0b0hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext4:cjnea,xs_4,next5;夠五位摩斯碼顯示4movp1,#99hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext5:cjnea,xs_5,next6;夠五位摩斯碼顯示5movp1,#92hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext6:cjnea,xs_6,next7;夠五位摩斯碼顯示6movp1,#7dhclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext7:cjnea,xs_7,next8;夠五位摩斯碼顯示7movp1,#0f8hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext8:cjnea,xs_8,next9;夠五位摩斯碼顯示8movp1,#080hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext9:cjnea,xs_9,cw;夠五位摩斯碼顯示9movp1,#90hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchucw:clrp3.2clrp0.4lcalldelay5sclrp0.4setbp3.2ajmpmain1shuru:;開門復(fù)位movmmbz,#03;錯(cuò)誤密碼次數(shù)movat1,#00hmovat2,#00hmovat3,#00hmovat4,#00hshuru2:clrp0.6mova,#00h;密碼緩存movr2,#04h;四位密碼movr1,#00hmovr0,#at1movr7,#05hstart1:jbp2.4,start1lcalldelay500msjbp2.4,start1ok1:;滴音setbp3.0;開門后再按鍵1t以上關(guān)門setbp0.6clrp0.0lcalldelay500msjnbp2.4,daaacun1:setbp0.2setbp0.0rlaadda,r1djnzr7,yanshi1ajmpxianshi1yanshi1:;每個(gè)摩斯碼之間延時(shí)1tlcalldelay500msjbp2.4,stop1ajmpok1daaa:;嗒音lcalldelay500msjbp2.4,stop1setbp0.0clrp0.2lcalldelay500mssetbp0.2jnbp2.4,stop1movr1,#01hajmpcun1stop1:;摩斯碼錯(cuò)誤處理clrp0.4lcalldelay2ssetbp0.4ajmpshuru2cunchu2:mov@r0,aincr0mova,#00hmovr1,#00hmovr7,#05hdjnzr2,yanshi1ajmpbijiaoxianshi1:;顯示處理cjnea,xs_0,next1_1movp1,#0c0hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next1_1:cjnea,xs_1,next2_2movp1,#0f9hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next2_2:cjnea,xs_2,next3_3movp1,#0a4hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next3_3:cjnea,xs_3,next4_4movp1,#0b0hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next4_4:cjnea,xs_4,next5_5movp1,#99hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next5_5:cjnea,xs_5,next6_6movp1,#92hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next6_6:cjnea,xs_6,next7_7movp1,#82hclrp3.2lcalldelay1s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯濱遜題目及答案100道選擇題
- 藥劑科學(xué)習(xí)培訓(xùn)制度
- 阜寧縣中考題目及答案
- 臨考沖刺作文題目及答案
- 養(yǎng)老院老人心理輔導(dǎo)支持制度
- 高三電磁感應(yīng)題目及答案
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員表彰制度
- 養(yǎng)老院老人健康監(jiān)測(cè)人員職業(yè)發(fā)展規(guī)劃制度
- 美團(tuán)酒店考試題目及答案
- 辦公室員工培訓(xùn)記錄與檔案制度
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘?jìng)淇碱}庫及參考答案詳解1套
- 思政教師培訓(xùn)心得課件
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及參考答案詳解
- 大型船舶拆除方案范本
- LoRa技術(shù)教學(xué)課件
- 2025中央廣播電視總臺(tái)招聘144人筆試歷年題庫附答案解析
- 急性高原疾病課件
- 牧業(yè)公司生產(chǎn)安全預(yù)案
- 腦機(jī)接口科普
- 2025年湖北煙草專賣局招聘考試真題及答案
- 教育資源分享平臺(tái)管理框架模板
評(píng)論
0/150
提交評(píng)論