大學電子密碼鎖設(shè)計畢業(yè)論文_第1頁
大學電子密碼鎖設(shè)計畢業(yè)論文_第2頁
大學電子密碼鎖設(shè)計畢業(yè)論文_第3頁
大學電子密碼鎖設(shè)計畢業(yè)論文_第4頁
大學電子密碼鎖設(shè)計畢業(yè)論文_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

鄭州理工職業(yè)技術(shù)學院課程設(shè)計課程電子密碼鎖設(shè)計學校 鄭州理工職業(yè)技術(shù)學院 院系機電工程系 專業(yè)班級數(shù)控“2班 學生姓名 田景亮 學生學號 201104010()49 指導教師 關(guān)B雅召 2011年3月25日目錄TOC\o"1-5"\h\z第一章概述 2\o"CurrentDocument"1.1引言 2\o"CurrentDocument"電子密碼鎖的背景 3\o"CurrentDocument"電子鎖設(shè)計的意義的本設(shè)計特點 3\o"CurrentDocument"第二章系統(tǒng)硬件設(shè)計 5\o"CurrentDocument"系統(tǒng)總設(shè)計結(jié)構(gòu)圖 5\o"CurrentDocument".開鎖機構(gòu)設(shè)計 62.2.1主控芯片AT89C51單片機的簡介 6\o"CurrentDocument"2.3鍵盤設(shè)計 10\o"CurrentDocument"4系統(tǒng)電路設(shè)計: 11\o"CurrentDocument"1晶振時鐘電路 11\o"CurrentDocument"復位電路設(shè)計 12\o"CurrentDocument"串口引腳功能介紹 12\o"CurrentDocument"其它引腳 12\o"CurrentDocument"5元器件采購 13\o"CurrentDocument"第三章軟件設(shè)計流程及描述 13\o"CurrentDocument"系統(tǒng)軟件設(shè)計整體思路 13\o"CurrentDocument"2系統(tǒng)軟件設(shè)計流程圖 14\o"CurrentDocument"3程序調(diào)試 16\o"CurrentDocument"3.1程序調(diào)試用到的軟件及工具 16\o"CurrentDocument"KEILC51簡介 16\o"CurrentDocument"調(diào)試過程 17\o"CurrentDocument"第四章源程序代碼 19\o"CurrentDocument"4.1程序總體設(shè)計 19\o"CurrentDocument"總結(jié) 33\o"CurrentDocument"參考文獻 34\o"CurrentDocument"致謝 35附錄1系統(tǒng)電路圖 36第一章概述引言隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的喜愛。鎖是置于可啟閉的器物上,用以關(guān)住某個確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對它的結(jié)構(gòu)、機理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮?,F(xiàn)代人類文明社會里,由于社會中各種矛盾沖突十分劇烈,人們的思想道德觀念,價值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能夠自覺規(guī)范自己的行為,“非禮不為”,雖無鑰匙亦不會亂闖。然而,那些毫無道德觀念的盜賊卻想方設(shè)法利用高科技手段撬門開鎖,使廣大居民防不勝防。為什么會出現(xiàn)這種情況呢?因為傳統(tǒng)鎖具都存在致命的弱點:第一、鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強力破壞;第二、鎖具制作工藝,技術(shù)落后,無法阻止技術(shù)手段的開啟。目前,市場上很多國內(nèi)外的鎖具,實際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或兒件簡單的工具就可以把這些鎖打開,有的慣偷甚至公開揚言:“沒有我打不開的鎖?!逼鋵崳皇撬麄兌喔呙?,而是一般鎖具技術(shù)原理太過簡單。面對這一殘酷的現(xiàn)狀,新時代提出了鎖具必須革命的迫切的要求。電子密碼鎖的背景隨著社會科技的進步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,不同磁場,不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來控制鎖的開啟。從而大大提高了鎖的安全性,使不法之徒無從下手,人們也就能對自身財產(chǎn)安全有了更多的保障。當今安全信息系統(tǒng)應用越來越廣泛,特別在保護機密、維護隱私和財產(chǎn)保護方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實意義。電子鎖設(shè)計的意義的本設(shè)計特點單片機,亦稱單片微電腦或單片微型計算機。它是把中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出端口(I/O)等主要計算機功能部件都集成在一塊集成電路芯片上的微型計算機。計算機的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。微計算機(單片機)在這種情況下誕生了,它為我們改變了什么?縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。以前沒有單片機時,這些東西也能做,但是只能使用復雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用,元器件不斷老化,控制的精度自然也會達不到標準。在單片機產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀冎恍枰趩纹瑱C外圍接一點簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成本也降低了,長期使用也不會擔心精度達不到了,且容易升級改善。電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存等多種場合使用。大大提高了主人物資的安全性,安全可以代替老式機械鎖。目前使用的密碼鎖種類繁多,各具特色。本文從經(jīng)濟實用的角度出發(fā),采用AT89C2051單機,研制了一款具有防盜自動報警功能的電子密碼鎖。該密碼鎖設(shè)計方法合理,簡單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價值。(1)系統(tǒng)設(shè)置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼由用戶自己設(shè)定,在開鎖狀態(tài)下,用戶可自行修改密碼。(3)具有自動報警功能。自動報警分現(xiàn)場報警和遠程報警兩種?,F(xiàn)場報警由揚聲器發(fā)出報警聲。(4)兩種情況下可報警:-是密碼輸入錯誤3次,則報警;二是非正常開門,如破門而入的情況,可通過系統(tǒng)的紅外監(jiān)視裝置監(jiān)測,同時報警,保證了系統(tǒng)的安全性。系統(tǒng)工作時,用戶通過按鍵輸入4位密碼,單片機將輸入密碼與設(shè)定密碼進行比較,若密碼正確,則發(fā)出開鎖信號,將門打開,系統(tǒng)不報警;若密碼不正確,則有相應的指示燈閃動,并要求重新輸入密碼,重新輸入密碼的次數(shù)不能超過3次,若3次輸入的密碼都不正確,則發(fā)出報警信號。第二章硬件電路設(shè)計及描述第二章系統(tǒng)硬件設(shè)計系統(tǒng)總設(shè)計結(jié)構(gòu)圖數(shù)碼管及LED燈顯示密碼輸入設(shè)備 >單片機AT89c51一單片機時鐘電路開鎖機構(gòu)本設(shè)計由主控芯片51單片機,單片機時鐘電路,鍵盤,和開鎖電路組成。單片負責控制整個系統(tǒng)的執(zhí)行過程。.開鎖機構(gòu)設(shè)計通過單片機送給開鎖執(zhí)行機構(gòu),電路驅(qū)動電磁鎖吸合,從而達到開鎖的目的。本設(shè)計通過P3.0接…個3極管驅(qū)動繼電器打開電磁閥線圈實現(xiàn)開關(guān)門。圖2-2密碼鎖開鎖機構(gòu)示意圖當用戶輸入的密碼正確而且是在規(guī)定的時間及次數(shù)輸入之內(nèi),單片機便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達到開門的目的。2.2.1主控芯片AT89C51單片機的簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CM0S8位微處理器,俗稱單片?機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89c51是一種高效微控制器。主要特性:與MCS-51兼容4K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲器鎖定128X8位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式?片內(nèi)振蕩器和時鐘電路管腳說明:VCC:供電電壓。GND:接地。P0□:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8nL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。P1□:P1□是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4nL門電流。pi□管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P3□:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89c51的一些特殊功能口,如下表所示:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INTO(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收?些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6O因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(OOOOH-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。P,0:vccPI.1239POO(ADO)Pt2G339□PO.1<AOI)Pt3C37JPO24AO2)Pi4C5□PO31AO3)P,$二?JPO44AO4)Pl€CT34」PO5<AO5)P,,匚?333PO6<AO6)RSTr32:P0.7fAO7)<RXO>P30C:10A□ra/vpp(TXO)pa1r?13071ALE/PROG<<NTO)P32C122*nPSEN<n4Tr)P33C13??□ 4A15,(T0)P34C14】P29<A14><T1>P35C.:1Pt.5<A13>(WR)P36C26P24<A12>P37C2*口4234A11>XTAL2C:23P22(A10)XTAL122P21(A9)QNOC2021JP20<A8>AT89C51圖2-3AT89C51芯片圖2.3鍵盤設(shè)計為了使本電路更加簡潔,本電子鎖的密碼鎖采用簡單易學但不為多數(shù)人知道的摩期碼作為電路的密碼輸入。鍵盤硬件設(shè)備只需要一個按即可實現(xiàn)密碼的輸入與更改。關(guān)于摩斯碼的介紹如下:摩斯密碼是20世紀使用較為廣泛的電報傳輸使用的一種編碼。電報最早是由美國的摩爾斯在1844年發(fā)明的,故也被叫做摩爾斯電碼。它由--個輸入按鍵在輸入時按住的間隔時間長短組成來決定你的輸入:短促的點信號".讀"嘀"(Di);保持一定時間的長信號"一",讀"嗒"(Da)o間隔時間:"嘀"It;"嗒"3t;"滴嗒"間It;字母間3t;字間5t。表2—1字符一摩斯碼對照表字符摩斯碼字符摩斯碼字符摩斯碼AM一—Y—?——B—???NZ——,?C_?一?0_—_1,————DP?__?2?,一一EQ -_3??, F."一"R,一■4????一G———*S5 H?*??T—6一?"??1??U,,—7——???J,一——V***—8___.?K—,—W,——9————,L,—??X0—————注:摩斯碼用在數(shù)字電路中“一”表示1, 表示0,如0翻譯成二進制數(shù)為11111H,十六進制數(shù)為1FH。本電路設(shè)計只取0?9數(shù)字作密碼有效數(shù)字,如果輸入其它字符則無效。表3-2本設(shè)計用到的數(shù)字的摩斯碼和二進制對照數(shù)字0123456789摩斯碼111110111100111000110000100000100001100011100111102進制111110111100111000110000100000100001100011100111102.4系統(tǒng)電路設(shè)計:本系統(tǒng)電路主芯片AT89c51,晶振和兩個電容組成的時鐘脈沖,?個電阻和一個電解電容和一個按鍵組成的復位電路,一個8段數(shù)碼管構(gòu)成的密碼顯示器,一個蜂鳴器,5個LED,一個NPN三極管加上一個繼電器組成的驅(qū)動電路構(gòu)成了系統(tǒng)電路。2.4.1晶振時鐘電路單片機XIAL1和XIAL2分別接30PF的電容,中間再并個12MHZ的晶

振,形成單片機的晶振電路。2.4.2復位電路設(shè)計圖3-2復位電路2.4.3串口引腳功能介紹單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INTO外接蜂鳴器,當INTO被置。時,蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用作系統(tǒng)工作狀態(tài)提示。2.4.4其它引腳ALE引腳懸空,復位引腳接到復位電路、VCC接電源、VSS接地、EA接電源

5元器件采購1?元器件清單表3—3元器件清單原件名稱備注單片機AT89C51電阻RI,R210K,100K各一只電解電容C3100F無極電容CLC230VF數(shù)碼管一只5V蜂鳴器一只晶振12MHZ三極管9014一個按健SI,S2各一個12V繼電器一個LEDDI,D2,D3,D4綠,黃,紅,藍各一個2極管40041只萬能電路板1塊經(jīng)采購繼電器沒有買到,所以原電路的輸出電路3極管的繼電器改為LED燈,只要電路IC經(jīng)密碼輸入后能點亮LED燈則電路設(shè)計要求達到。第三章軟件設(shè)計流程及描述3.1系統(tǒng)軟件設(shè)計整體思路一個應用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應設(shè)計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,

采用與C51系列單片機相對應的51匯編語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。程序設(shè)計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執(zhí)行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學習和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。2系統(tǒng)軟件設(shè)計流程圖入錯誤未滿欹An15圖3—1系統(tǒng)程序設(shè)計結(jié)構(gòu)圖3程序調(diào)試把也寫好的匯編語言程序的載入軟件調(diào)試工具,檢查軟件是否有設(shè)法錯誤,再根據(jù)軟件提示對本程序進行修改,直到?jīng)]有錯誤再生成單片機能運行的機器碼,再用51開發(fā)板或其它單怎機寫入工具把機器碼寫入單片機進行實際的程序調(diào)試,根據(jù)實際情況再對程序的不足加以修改,直到滿足設(shè)計要求。3.1程序調(diào)試用到的軟件及工具調(diào)試本程序需要用到KEILC51,及51開發(fā)板一塊及其配套的下載燒錄軟件4KEILC51簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。C51工具包的整體結(jié)構(gòu):uVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由0H51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。5調(diào)試過程首先打開KEILC51主程序,新建工程,新建文本框?qū)懭氤绦颍4?,檢查是否有語法錯誤,經(jīng)反復檢查無誤后匯編,生成51單片機可執(zhí)行的HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機。uVision3[Ci\DSet&iuVision3[Ci\DSet&i £■eke、桌面\1111.ASB]?I目標1ProjectWorkspace口文件d)施輯爾)視圖9工程0調(diào)試6)閃存?)外困設(shè)備6)工具CDsves(£)電口B)幫助?I目標1ProjectWorkspace279 setbp3.2280 movpl,#0ffh281 a-)mpcunchu2282283next1_1:284 cinea,xs_l,next2_2285 movp1,#0f9h286 cXrp3.2getl>p3.2287 1ca11delay1sgetl>p3.2289 movpl,#riffh290 a_inu>cunchu2291292next2_2s293 cinea,xs_2,next3_3294 movpl,#0a4h295 drp3.2296 1r?ai1delayIs297 setbp3.2298 movp1,*0ffh299 a-im?cunchu2300301next3_3:302 c-iliea,xs_3,next4_4303 movp1,#0b0h304 drp3.2305 1r?ai1delayIs306 setbp3.2307 movpl,#0ffh308 a-im?cunchu2309310next4_4:311 cinea,xs_4,next5_5312 movp1,#99h313 drp3.2,m|,m|室Q?Tr-嚕-TgjSTARTUP.A51@1111ASM「***WARNINGL2:REFERENCEMADETOUNRESOLVEDEXTERNALSYMBOL:?C_STARTMODULE:STARTUP.obj(?C_STARTUP)ADDRESS:080AHProgramSize:dat;a=9.0xdat.a=Ocode=15pd~8"1111111111"-0個錯誤,2個警告.pd~8<1>1>建x.命令人在文件中r技/圖3—2keilc51調(diào)試介面編程選項1FLASH內(nèi)容|EEPROM內(nèi)容 產(chǎn)品記錄芯片選擇At89Hsi芯片特征字:1E5106時鐘效準:NONEHOWE讀取IH0HBM0NHFLASH:0/4096EEPR0M:0/0Oblboi(?)NoLocki實同1IBLBO2OLoeklW入|1IBLB11OLock21IBLB12Lock3選項及原作說明絲ElElElElmmElEl焰絲[1][1][1]|1][1][1][11[1]將擴展焰絲位:FF筑程選項叵]芯片族除口片空檢查日編程FLASH日自動旗裝FLASH口啟動LOGO日提示音口檜喇-自動編程I~I編程EEPROM口長鞋F(xiàn)LASH口校船BEPROMII自動承裝EEPROME自動調(diào)速回快建校驗口更新一自動編程口⑷件峪"口芯片麒定日讀識別字口編程5f時1秒結(jié)束日芯片編程計數(shù)芯片編程數(shù):0口Enter鍵一芯片明程;延時緩存區(qū);延時緩存區(qū);顯示緩存區(qū)圖3-3單片機燒錄軟件介面第四章源程序代碼4.1程序總體設(shè)計本設(shè)計的程序:hcOequ4ahhe1equ4bhhc2equ4chhc3equ4dhhc4equ4ehxs_Oequ50hxs_lequ51hxs_2equ52hxs_3equ53hxs_4equ54hxs_5equ55hxs_6equ56hxs_7equ57hxs_8equ58hxs_9equ59hpsiequ5ah;設(shè)置密碼緩存區(qū)ps2equ5bhps3equ5chps4equ5dhmmbzequ5fh;密碼輸入次數(shù)atlequ60h ;輸入密碼緩存區(qū)at2equ61hat3equ62hat4equ63h ;初始化orgOOhajmpmainlorg30hmainl:movpsi,#00hmovps2,#00hmovps3,#00hmovps4,#00hmovatl,#00hmovat2,#00hmovat3,#00hmovat4,#00hmain:movxs_O,#lfhmovxs_l,#0flimovxs_2,#07hmovxs_3,#03hmovxs_4,#01hmovxs_5,#00hmovxs_6,#10hmovxs_7,#18hmovxs_8,#lch;顯示0的摩斯值;顯示I的摩斯值;顯示2的摩斯值;顯示3的摩斯值;顯示4的摩斯值:顯示5的摩斯值;顯示6的摩斯值:顯示7的摩斯值;顯示8的摩斯值movxs_9,#leh;顯示9的摩斯值clrp3.0 ;RXD置0mova,#00h ;密碼緩存movr2,#04h ;四位密碼movrl,#00hmovrO,#ps1movr7,#05h;摩斯次數(shù),由于數(shù)字為5次clrp2.7start:movpO,#Offhmovpl,#Offhsetbp2.4;按鍵位jbp2.4,start ;2.4為1轉(zhuǎn)startlealldelay500msjbp2.4,startok: ;嘀的音clrpO.Olealldelay500msjnbp2.4,daa;是否去嗒音cun: ;setbp0.2setbpO.Orlaadda,rl;存入一位摩斯碼djnzr7,yanshi;是否夠五位摩斯碼ajmpxianshiyanshi: ;輸入一位摩斯碼停頓Itlealldelay500msjbp2.4,mainajmpokdaa: ;嗒的音lealldelay500msjbp2.4,stopsetbpO.Oclrp0.2Icalldelay500mssetbp0.2jnbp2.4,stopmovrl,#O1hajmpcunstop: ;摩斯輸入錯誤clrp0.4Icalldelay2ssetbp0.4ajmpmaincunchu:mov@r0,aincrOmova,#00hmovrl,#00hmovr7,#05hdjnzr2,yanshiclrp0.6Icalldelay2ssetbp0.6ajmpshuruxianshi:cjnea,xs_O,nextl;夠五位摩斯碼顯示0movpl,#OcOhclrp3.2 ;報警器IcalldelayIssetbp3.2 ;報警器movpl,#Offhajmpcunchunextkcjnea,xs_l,next2;夠五位摩斯碼顯示1movp1,#0f9hclrp3.2IcalldelayIssetbp3.2

movpO,#Offhajmpcunchunext2:cjnea,xs_2,next3;夠五位摩斯碼顯示2movpl,#0a4hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu夠五位摩斯碼顯示3夠五位摩斯碼顯示3cjnea,xs_3,next4movpl,#ObOhclrp3.2IcalldelayIssetbp3.2movp1,#Offhajmpcunchunext4:cjnea,xs_4,next5;夠五位摩斯碼顯示4movpl,#99hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu夠五位摩斯碼顯示5夠五位摩斯碼顯示5cjnea,xs_5,next6movpl,#92hclrp3.2IcalldelayIsnext6:cjnea,xs_6,next7;夠五位摩斯碼顯示6movpl,#7dhclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchunext7:cjnea,xs_7,next8movpl,#Of8hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu夠五位摩斯碼顯示next7:cjnea,xs_7,next8movpl,#Of8hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu夠五位摩斯碼顯示7next8:cjnea,xs_8,next9movpl,#O8Ohclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu;夠五位摩斯碼顯示8next9:cjnea,xs_9,cwmovpl,#90hclrp3.2next9:cjnea,xs_9,cwmovpl,#90hclrp3.2IcalldelayIs;夠五位摩斯碼顯示9cw:clrp3.2clrp0.4Icalldelay5sclrp0.4setbp3.2ajmpmainlshuru: ;開門復位movmmbz,#O3 ;錯誤密碼次數(shù)movatl,#00hmovat2,#00hmovat3,#00hmovat4,#00hshuru2:clrp0.6mova,#00h ;密碼緩存movr2,#04h ;四位密碼movrl,#00hmovrO,#at1movr7,#05hstart1:jbp2.4,start1Icalldelay500msjbp2.4,start1okl: ;滴音setbp3.0 ;開門后再按鍵It以上關(guān)門setbp0.6clrpO.OIcalldelay500msjnbp2.4,daaacunl:setbp0.2setbpO.Orlaadda,rldjnzr7,yanshilajmpxianshilyanshi1: ;每個摩斯碼之間延時ItIcalldelay500msjbp2.4,stoplajmpokldaaa: ;嗒音Icalldelay500msjbp2.4,stop1setbpO.Oclrp0.2Icalldelay500mssetbp0.2jnbp2.4,stop1movrl,#O1hajmpcunlstopl: ;摩斯碼錯誤處理clrp0.4Icalldelay2ssetbp0.4ajmpshuru2cunchu2:mov@r0,aincrOmova,#00hmovrl,#00hmovr7,#05hdjnzr2,yanshilajmpbijiaoxianshil: ;顯示處理cjnea,xs_0,nextl_lmovpl,#OcOhclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2nextl_l:cjnea,xs_l,next2_2movpl,#Of9hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next2_2:cjnea,xs_2,next3_3movpl,#0a4hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next3_3:cjnea,xs_3,next4_4movpl,#ObOhclrp3.2IcalldelayIsnext4_4:cjnea,xs_4,next5_5movpl,#99hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next5_5:cjnea,xs_5,next6_6movpl,#92hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next6_6:cjnea,xs_6,next7_7movpl,#82hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next7_7:cjnea,xs_7,next8_8movp1,#Of8hclrp3.2IcalldelayIssetbp3.2movp1,#Offhajmpcunchu2next8_8:cjnea,xs_8,next9_9movpl,#8Ohclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next9_9:cjnea,xs_9,cw2movp1,#90hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2bijiao:;比較密碼movr6,#04movrl,#pslmovrO,#atlbj2:clrcmova,@r0subba,@rlcjnea,#00h,cw2incrlincrOdjnzr6,bj2clrp3.2 ;密碼正確clrp3.0Icalldelay5ssetbp3.2ajmpshurucw2: ;密碼錯誤處理djnzmmbz,bjdmovpO,#00hclrp3.2Icalldelay5minsetbp3.2movpO,#Offhajmpshuru2bjd:movpO,#00hclrp3.2Icalldelay5ssetbp3.2movpO,#Offhajmpshuru2delay500ms:movhcO,#05ffl:movhcl,#200fffkmovhc2,#250djnzhc2,$djnzhcl,fffldjnzhcO,fflretdelayIs:movhcO,#10ff2:movhcl,#200ff3:movhc2,#250djnzhc2,$djnzhcl,ff3djnzhcO,ff2retdelay2s:movhcO,#20ff4:movhe1,#200ff5:movhc2,#250djnzhc2,$djnzhcl,ff5djnzhcO,ff4retdelay5s:movhcO,#50ff6:movhcl,#200ff7:movhc2,#250djnzhc2,$djnzhcl,ff7djnzhcO,ff6retdelay5min:movhcO,#12qql:movhe1,#200qq2:movhc2,#250qq3:movhc3,#250djnzhc3,$djnzhc2,qq3djnzhcl,qq2djnzhcO,qqlretend總結(jié)實踐是檢驗真理的唯一標準,當然也是檢驗學習成果的標準。在經(jīng)過一段時間的學習之后,我們需要了解自己的所學應該如何應用在實踐中,因為任何知識都源于實踐,歸于實踐,所以要將所學的知識在實踐中來檢驗。在做畢業(yè)設(shè)計期間,在老師的指導下,通過自身的不斷努力,無論是思想上,學習上,都取得了長足的發(fā)展和巨大的收獲,現(xiàn)將工作總結(jié)如下:思想上,學會了用科學的精神去解決問題。很多事情看起來是很簡單的問題,但實際做起來去會發(fā)現(xiàn)有許多奧妙!這是因為其中蘊含著許多科學的問題。運用科學的方法去解決問題,這是我這次實訓給我?guī)淼乃枷肷系母淖?。學習上,使自已在大學所以的知識在這次得到實踐,學到一些書本上無法學到的經(jīng)驗,對電子元件有了進一步的認識。電子鎖是信息化時代發(fā)展的產(chǎn)物,應時而生,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。參考文獻[1]李朝青.單片機原理及接口技術(shù)(簡明修訂版)[M].北京:北京航空航天大學出版社,1998[2]李全利.單片機原理及接口技術(shù)[M].高等教育出版社,2003[3]PR0TEL99SE電路設(shè)計與制板[M].機械工業(yè)出版社,2007[4]楊將新,李華軍,劉到駿等.單片機程序設(shè)計及應用(從基礎(chǔ)到實踐)□].電子工業(yè)出版社,2006[5]StevenF.Barrett.DaneilJ.Pack.EmbeddedSystem[M].北京:電子工業(yè)出版社,2006[6]周立功.LPC900系列Flash單片機應用技術(shù)[J].北京航空航天大學出版社,2004[7]黃智偉.全國大學生電子設(shè)計競賽訓練教程[M].北京:電子工業(yè)出版社,2005致謝在本次論文設(shè)計過程中,劉老師對該論文從選題,構(gòu)思到最后定稿的各個環(huán)節(jié)給予細心指引與教導,使我得以最終完成畢業(yè)論文設(shè)計,在此表示衷心的感謝。此外在學習中,老師嚴謹?shù)闹螌W態(tài)度、豐富淵博的知識、敏銳的學術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風范是我終生學習的楷模。另外在完成畢業(yè)設(shè)計的過程中,還得到眾多朋友的關(guān)心支持和幫助,在此,謹向老師同學和朋友致以衷心的感謝和崇高的敬意!最后,我要向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝附錄1系統(tǒng)電路圖ZHUZHOUPROFESSIONALTECHNOLOGYCOLLEGE畢業(yè)設(shè)計r合文)標題:電子密碼鎖學生姓名:龍勇 系部:電子工程系 專業(yè):應用電子 班級:0801 指導教師: 李二喜 株洲職業(yè)技術(shù)學院教務(wù)處制中文摘要摘要:在日常的生活和工作中,住宅與部門的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性即大打折扣。隨著科學技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應運而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點。在安全技術(shù)防范領(lǐng)域,具有防盜報警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機械式密碼鎖,克服了機械式密碼鎖密碼量少、安全性能差的缺點,使密碼鎖無論在技術(shù)上還是在性能上都大大提高一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機的問世,出現(xiàn)了帶微處理器的智能密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,應用日益廣泛。隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識別、IC卡辨認)已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點是針對特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識識別器若在公共場所使用存在容易機械損壞,IC卡還存在容易丟失、損壞等特點。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。基于以上思路,本次設(shè)計使用ATMEL公司的AT89C51實現(xiàn)一基于單片機的電子密碼鎖的設(shè)計,其主要具有如下功能:(1)密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)報警、鎖定鍵盤功能。密碼輸入錯誤數(shù)碼顯示器會出現(xiàn)錯誤提示,若密碼輸入錯誤次數(shù)超過3次,蜂鳴器報警并且鎖定鍵盤。電子密碼鎖的設(shè)計主要由三部分組成:4X4矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈,報警蜂鳴器等。密碼鎖設(shè)計的關(guān)鍵問題是實現(xiàn)密碼的輸入、清除、更改、開鎖等功能:(1)密碼輸入功能:按下一個數(shù)字鍵,一個“一”就顯示在最右邊的數(shù)碼管上,同時將先前輸入的所有“一”向左移動一位。(2)密碼清除功能:當按下清除鍵時,清除前面輸入的所有值,并清除所有顯示。(3)開鎖功能:當按下開鎖鍵,系統(tǒng)將輸入與密碼進行檢查核對,如果正確鎖打開,否則不打開。主要的設(shè)計實施過程:首先,選用ATMEL公司的單片機AT89C51,以及選購其他電子元器件。第二步,使用DXP2004設(shè)計硬件電路原理圖,并設(shè)計PCB圖完成人工布線(后因PCB板損壞決定采用萬能板焊接的方法)。第三步,使用KeiluVision3軟件編寫單片機的C語言程序、仿真、軟件調(diào)試。第四部,使用PROTEUS軟件進行模擬軟、硬件調(diào)試。最后,聯(lián)合軟、硬件調(diào)試電路板,完成本次畢業(yè)設(shè)計。關(guān)鍵詞:4義4矩陣鍵盤;AT89C51;密碼鎖;密碼二次確認目錄TOC\o"1-5"\h\z\o"CurrentDocument"中文摘要 39\o"CurrentDocument"目錄 42\o"CurrentDocument"第1章概述 0\o"CurrentDocument"第2章 系統(tǒng)總體方案設(shè)計 。\o"CurrentDocument"第3章硬件電路設(shè)計 3\o"CurrentDocument"鍵盤電路設(shè)計 3LED顯示電路 4\o"CurrentDocument"開鎖電路 6\o"CurrentDocument"報警電路 6\o"CurrentDocument"第四章軟件設(shè)計 8\o"CurrentDocument"軟件設(shè)計思路 8\o"CurrentDocument"各子程序設(shè)計 8\o"CurrentDocument"第5章系統(tǒng)調(diào)試 13\o"CurrentDocument"第6章心得體會 14\o"CurrentDocument"第7章參考文獻 15\o"CurrentDocument"附錄 15\o"CurrentDocument"源程序清單 15\o"CurrentDocument"硬件原理圖 21第1章概述隨著科技的發(fā)展,單片機已不是?個陌生的名詞,它的出現(xiàn)是近代計算機技術(shù)發(fā)展史上的一個重要里程碑,因為單片機的誕生標志著計算機正式形成了通用計算機系統(tǒng)和嵌入式計算機系統(tǒng)兩大分支。單片機單芯片的微小體積和低的成本,可廣泛地嵌入到如玩具、家用電器、機器人、儀器儀表、汽車電子系統(tǒng)、工業(yè)控制單元、辦公自動化設(shè)備、金融電子系統(tǒng)、艦船、個人信息終端及通訊產(chǎn)品中,成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具。本文所涉及的是市場占有率最高的是MCS-51系列,因為世界上很多知名的IC生產(chǎn)廠家都生產(chǎn)51兼容的芯片。到目前為止,MCS—51單片機已有數(shù)百個品種,還在不斷推出功能更強的新產(chǎn)品。本設(shè)計是基于單片機的密碼鎖設(shè)計方案,根據(jù)要求,給出了該單片機密碼鎖的硬件電路和軟件程序,同時給出了單片機型號的選擇、硬件設(shè)計、軟件流程圖、單片機存儲單元的分配、匯編語言源程序及詳細注釋等內(nèi)容。第2章系統(tǒng)總體方案設(shè)計方案一:采用數(shù)字電路控制。其原理方框圖如圖i—i所示。圖2—1數(shù)字密碼鎖電路方案采用數(shù)字密碼鎖電路的好處就是設(shè)計簡單。用以74LSU2雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過40秒(一般情況下,用戶不會超過40秒,若用戶覺得不便,還可以修改)電路將報警80秒,若電路連續(xù)報警三次,電路將鎖定鍵盤5分鐘,防止他人的非法操作。電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因為停電造成的密碼鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報警電路、鍵盤輸入次數(shù)鎖定電路。矩陣鍵盤控制方案二:采用一種是用以AT89s51為核心的單片機控制方案。利用單片機靈活的編程設(shè)計和豐富的10端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲、聲光提示甚至添加遙控控制功能。其原理如圖1-2所示。矩陣鍵盤控制輸入錯誤鎖定鍵盤89S51單片機AT24co2掉電存儲AT24co2掉電存儲 f串口顯中電路圖2—2單片機控制方案通過比較以上兩種方案,單片機方案有較大的活動空間,不但能實現(xiàn)所要求的功能而且能在很大的程度上擴展功能,而且還可以方便的對系統(tǒng)進行升級,所以我們采用后一種方案。本方案采用一種是用以89s51為核心的單片機控制方案。利用單片機靈活的編程設(shè)計和豐富的I/O端口,及其控制的準確性,實現(xiàn)基本的密碼鎖功能。初步設(shè)計思路如下:輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵。LED數(shù)碼管顯示輸入密碼,用74JS247驅(qū)動數(shù)碼管發(fā)光顯示數(shù)碼,用74LS138控制各位顯示器分時進行顯示。用發(fā)光二極管代替開鎖的電路,發(fā)光表示開鎖。輸入密碼錯誤次數(shù)超過3次,系統(tǒng)報警。打開電源后,顯示器顯示“000000”,設(shè)原始密碼為“123456”,只要輸入此密碼便了開門。這樣可預防停電后再來電時無密碼可用。按“C”鍵,清除顯示器為“000000”。欲重新設(shè)定密碼,先輸入密碼在案輸入密碼,再按“D”鍵。若密碼與設(shè)定密碼相同,則開門。否則顯示器清為“000000”。軟件的設(shè)計主要包括鍵盤鍵值的讀取,LED顯示程序,密碼比較程序和報警程序。

第3章硬件電路設(shè)計3.1鍵盤電路設(shè)計使用矩陣鍵盤,所以本設(shè)計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。其原理如圖3.1XTAL1XTA12R8TALE嵌FIDP1.1P12P1JPI4PISP1J6PI.?PQDTAU]PQ.VAD1PD2TACZpoarAra2.“A。,POLADSPQJ&AD6PD.7/AOTP2Df^2P2.VA9F22fA<]PZJfAIIPZ.4/ASXTAL1XTA12R8TALE嵌FIDP1.1P12P1JPI4PISP1J6PI.?PQDTAU]PQ.VAD1PD2TACZpoarAra2.“A。,POLADSPQJ&AD6PD.7/AOTP2Df^2P2.VA9F22fA<]PZJfAIIPZ.4/AS?2Sig—P2.?<AtfP3HTRXDP3.ima>F33TTH?3.?HDP3£mpxacnncP3.7/IK圖3.1矩陣鍵盤每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有NXM個按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。當確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。對照圖3.1所示的4義4鍵盤,說明線反轉(zhuǎn)個工作原理。首先辨別鍵盤中有無鍵按下,有單片機I/O□向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為lo判斷鍵盤中哪?個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。具體的功能設(shè)計如表3.1:表3.1按鍵功能按鍵鍵名功能說明1一9鍵數(shù)字鍵輸入密碼*鍵重設(shè)密碼鍵設(shè)定新密碼D鍵確定鍵比較密碼#鍵清除鍵使顯示器清零32LED顯示電路本系統(tǒng)設(shè)計的顯示電路是為了給使用者以提示而設(shè)置的。本系統(tǒng)的顯示采用串行顯示的方式,只使用單片機的一個串行口,利用74LS247驅(qū)動數(shù)碼管發(fā)光顯示數(shù)碼和74LS138控制位選信號,就可以完成單片機的顯示功能,顯示電路的電路原理圖如圖3.2所示。用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的輸出口接LED

的七段顯示;而P0.4—P0.6接74LS138的A,B,C三個輸入口,74LS138的輸出口接LED的位顯示。通過軟件實現(xiàn)數(shù)字和位控制。*0??M?0??Mbjmjt,2Z?ZAH?2Mt2,zaaHTOOn,vn?niwuniwnPMmmm圖3.2LED*0??M?0??Mbjmjt,2Z?ZAH?2Mt2,zaaHTOOn,vn?niwuniwnPMmmm圖3.2LED顯示電路用74LS247可以控制輸出什么字型。74LS247的邏輯功能表如表3.2:

表3.274LS247的邏輯功能表十進“制數(shù),輸入,輸出。字“型.A3.A2.A1pAO.QA.QB.QCQD>QBQF.QGa津(k(kOp0.o.o.o.o.OpOp川1“0.0.o.1cLo.0.1L1*1L*0.(kk0~.1,0.2「3“aab,b0+000>bbo.3.40.i0.o.L001L0o.4.5“0.1,0.Ipo.1*o.11.0,0.5/6-Opla1*0.0?1“o.o.(kOp6.7/0.L1“L0.0.0?L1.b1.7.&1o.0.0.o.o.0*o.o.o.0-8.9.1,徐保1。0,(k33p(kOp9p用74LS138控制位循環(huán)顯示,其邏輯功能表如表3.3:

表3.374LS138邏輯功能表CBAY1Y2YOY3Y4Y5Y6Y700001111J1

00110111111010110111110111110111110011110111\011111101111011111101111111111103.3開鎖電路在本次設(shè)計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。電路圖如3.3所示。當P2.0口輸出低電平時,二極管發(fā)光,表示開鎖。AW051-POIYAU]PD.VAM22f02PQ.t/Atl*PQSAD6POj&AKAW051-POIYAU]PD.VAM22f02PQ.t/Atl*PQSAD6POj&AKFD.T/AD?PZDTA2FZ.1/A9P22A<]F23fA11P2.WAtZF25TAQPZjGTAUFinruxDio.vd?pa^nnDP3airnP3VTOP3ST1F3.7/IF圖3.3開鎖電路3.4報警電路委-笛拳至言a聿一3.4報警電路委-笛拳至言a聿一」J.-JJJ;B4-I一.一3=1-r__.圖3.4報警電路報警模塊由蜂鳴器和單片機組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時約需要100mA驅(qū)動電流。蜂鳴器電路如圖3.4所示。當89C51的P2.1口輸出為低電平時,蜂鳴器產(chǎn)生蜂鳴音,89c51輸出為高電平時,蜂鳴器不發(fā)聲。第四章軟件設(shè)計軟件設(shè)計思路電子密碼鎖工作的主要過程是LED數(shù)碼管提示開始輸入密碼,通過鍵盤輸入密碼,同時LED顯示密碼輸入情況,按下確認鍵后判斷密碼的正確性,作出開鎖或報警處理。當輸入密碼連續(xù)輸入錯誤3次時,系統(tǒng)報警。密碼的設(shè)定,在此程序中密碼是固定40H—45H中,假設(shè)預設(shè)的密碼為“123456”共6位密碼。由于采用兩個按鍵來完成密碼的輸入,那么其中一個按鍵為功能鍵,另一個按鍵為數(shù)字鍵。在輸入過程中,首先輸入密碼的長度,接著根據(jù)密碼的長度輸入密碼的位數(shù),直到所有長度的密碼都已經(jīng)輸入完畢;或者輸入確認功能鍵之后,才能完成密碼的輸入過程。進入密碼的判斷比較處理狀態(tài)并給出相應的處理過程。各子程序設(shè)計1鍵盤掃描子程序鍵盤掃描流程圖如圖4.2.1

開始圖421鍵盤掃描流程圖鍵盤掃描子程序如下:L2: MOVR3,#OF7HMOVR1,#OOHL3: MOVA,R3MOVPl,AMOVA,PlMOVR4,ASETBCMOVR5,#04HL4: RLCAJNCKEYININCRIDJNZR5,L4CALLDISPMOVA,R3SETBCRRCAMOVR3,AJCL3JMPL22LED顯示子程序LED顯示流程圖如圖4.2.2圖4.2.2LED顯示流程圖LED顯示子程序如下:DISP:MOVRO,#45HDISP1:MOVA,@R0ADDA,#50HMOVPO,ACALLDELAYDECROMOVA,@R0ADDA,#40HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#30HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#20HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#10HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#OOHMOVPO,ACALLDELAYRET3密碼比較和報警程序密碼比較和報警流程圖如4.2.3

圖4.2.3密碼比較和報警流程密碼比較和報警程序:COMP:MOVR1,#45HMOVRO,#35HMOVR2,#06HCl:MOVA,@R1XRLA,@R0JNZC3DECRIDECRODJNZR2,C1CLRP2.0MOVR2,#200C2:MOVR6,#248DJNZR6,$DJNZR2,C2

C3: INCR5MOVA,R5MOVR5,ACJNER5,#03H,C4CLRP2.1MOVR5,#OOHC4:JMPSTART第5章系統(tǒng)調(diào)試本次調(diào)試采用本次調(diào)試采用Protues軟件仿真。首先設(shè)計電子密碼鎖的源程序,源程序經(jīng)過匯編后,生成的目標文件經(jīng)過仿真調(diào)試。依次按下依次按下1,2,3,4,5,6后,4,5,6后,LED顯示如圖5.1圖5.1LED顯示按下確定鍵后,二極管亮,表示密碼正確開門。如圖5.2第6章心得體會課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當今計算機應用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術(shù)是十分重要的。回顧起此次單片機課程設(shè)計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論