




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)畢業(yè)設(shè)計(jì)與制作說(shuō)明書(shū)設(shè)計(jì)題目: 電子密碼鎖的設(shè)計(jì)與制作專業(yè)年級(jí): 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 2008 年 月 日單片機(jī)畢業(yè)設(shè)計(jì)與制作成績(jī)?cè)u(píng)定表設(shè)計(jì)題目:電子密碼鎖學(xué)號(hào): 姓名:項(xiàng)目評(píng) 語(yǔ)成績(jī)?cè)O(shè)計(jì)表現(xiàn)(20)設(shè)計(jì)說(shuō)明書(shū)(40)實(shí)物評(píng)價(jià)(40)綜合評(píng)定教師簽名 年 月 日單片機(jī)畢業(yè)設(shè)計(jì)與制作任務(wù)書(shū)一設(shè)計(jì)題目:電子密碼鎖的設(shè)計(jì)與制作二設(shè)計(jì)要求:利用51系列單片機(jī)為核心,采用矩陣鍵盤作為數(shù)字輸入;6位密碼顯示;可重新設(shè)置新密碼,EPROM存儲(chǔ)密碼,掉電不丟失;當(dāng)輸入密碼與存儲(chǔ)密碼一致時(shí),開(kāi)鎖,并響音樂(lè),若三次輸入錯(cuò)誤,則報(bào)警。三設(shè)計(jì)內(nèi)容:硬件設(shè)計(jì)、軟件設(shè)計(jì)及樣品制作四設(shè)計(jì)成果形式:1、 設(shè)
2、計(jì)說(shuō)明書(shū)一份2、 樣品一套五完成期限:2008年 月 日目錄第1章、方案選擇及總體設(shè)計(jì).11.1 國(guó)內(nèi)外現(xiàn)狀.11.2 設(shè)計(jì)目標(biāo).1第2章、硬件設(shè)計(jì)及電路圖.22.1 方案論證與比較.22.2 電子密碼鎖的總體設(shè)計(jì).22.3 電子密碼鎖的控制芯片選擇.22.4 電源部分.42.5鍵盤接口部分52.6液晶顯示器部分52.7 繼電器和蜂鳴器部分62.8 小結(jié)6第3章、軟件設(shè)計(jì)及程序清單.73.1 軟件總體設(shè)計(jì).7第4章、實(shí)物制作及調(diào)試說(shuō)明9第5章、使用說(shuō)明書(shū)10結(jié)束語(yǔ)11附錄12附錄表一 程序清單 12附錄表二 元件清單表20附錄表三 原理圖 PCB圖 .21參考文獻(xiàn).23- 23 -第1章 方案
3、選擇和總體設(shè)計(jì)1.1 國(guó)內(nèi)外現(xiàn)狀目前,最常用的鎖是20世紀(jì)50年代意大利人設(shè)計(jì)的機(jī)械鎖,其機(jī)構(gòu)簡(jiǎn)單、使用方便、價(jià)格便宜。但在使用中暴露了很多缺點(diǎn):一是機(jī)械鎖是靠金屬制成的鑰匙上的不同齒形與鎖芯的配合來(lái)工作的。據(jù)統(tǒng)計(jì),每4000把鎖中就有兩把鎖的鑰匙齒牙相同或類似,故安全性低。二是鑰匙一旦丟失,無(wú)論誰(shuí)撿到都可以將鎖打開(kāi)。三是機(jī)械鎖的材料大多為黃銅,質(zhì)地較軟,容易損壞。四是機(jī)械鎖鑰匙易于復(fù)制,不適于諸如賓館等公共場(chǎng)所使用。由于人們對(duì)鎖的安全性,方便性等性能有更高的要求,許多智能鎖(如指紋辨別、IC卡識(shí)別)也相繼問(wèn)世,但這類產(chǎn)品的特點(diǎn)是針對(duì)特定指紋或有效卡,但能適用于保密要求高且僅供個(gè)別人使用的箱、
4、柜、房間,其成本一般較高,在一定程度上限制了這類產(chǎn)品的普及和推廣。隨著人們生活水平的提高,電子密碼防盜鎖作為防盜衛(wèi)士的作用日趨重要。電子密碼防盜鎖用密碼代替鑰匙,不但省去了佩戴鑰匙的煩惱,也從根本上解決了普通門鎖保密性差的缺點(diǎn)。根據(jù)國(guó)外的統(tǒng)計(jì)資料顯示,裝有電子防盜裝置的商業(yè)區(qū)或居民區(qū)盜竊犯罪率平均下降30%左右。目前西方發(fā)達(dá)國(guó)家已經(jīng)大量地應(yīng)用這種智能門禁系統(tǒng),但在我國(guó)的應(yīng)用還不廣泛,成本還很高。1.2設(shè)計(jì)目標(biāo)利用51系列單片機(jī)為核心,采用矩陣鍵盤作為數(shù)字輸入;6位數(shù)字密碼顯示;可重新設(shè)置新密碼,EPROM存儲(chǔ)密碼,掉電不丟失;當(dāng)輸入密碼與存儲(chǔ)密碼一致時(shí),開(kāi)鎖,并響音樂(lè),若連續(xù)三次輸入錯(cuò)誤,則報(bào)
5、警燈亮并且蜂鳴器響。第2章 硬件設(shè)計(jì)及電路圖2.1設(shè)計(jì)方案論證與比較方案一:卡片式電子密碼鎖??ㄆ诫娮用艽a鎖,它利用光電耦合的方式,將密碼信息從打孔的形式做在卡片上 ,只要將卡片插入鎖內(nèi),就能將鎖打開(kāi)。如果卡片上密碼信息不對(duì),密碼鎖發(fā)出報(bào)警聲。這種方法是需要卡片做成鑰匙,容易被盜和被仿制,安全性不高。方案二:磁卡式電子密碼鎖,具有功能強(qiáng)、故障率低、可靠性高和工作壽命長(zhǎng)等優(yōu)點(diǎn),但這種方法的缺點(diǎn)是磁卡容易消磁,對(duì)用戶造成不必要的麻煩。方案三:用AT89S51設(shè)計(jì)的多功能密碼鎖。以單片機(jī)作為微控制器,可以實(shí)現(xiàn)基于以上優(yōu)點(diǎn),本系統(tǒng)選用該方案作為設(shè)計(jì)方案。按鍵有效指示、輸入錯(cuò)誤、控制開(kāi)鎖、錯(cuò)誤報(bào)警、密
6、碼修改等功能,工作穩(wěn)定可靠,保密性高,實(shí)用性強(qiáng)。綜合考慮上面的幾個(gè)方案,我們選用第3個(gè)來(lái)做。2.2電子密碼鎖的總體設(shè)計(jì)圖2-1 電子密碼鎖的總體框圖AT89S51驅(qū)動(dòng)電路報(bào)警電路顯示電路鍵 盤電子密碼鎖是由以下幾個(gè)部分組成的,其核心部分是Atmel公司生產(chǎn)的8位AT89S51單片機(jī)作為整個(gè)系統(tǒng)的控制中心。包括驅(qū)動(dòng)電路模塊,顯示電路模塊,報(bào)警模塊和鍵盤模塊。如圖2所示是一種用AT89S51控制的電子密碼鎖的原理圖。其主要功能為:可設(shè)定從1位到8位的密碼,從鍵盤鍵入正確密碼才可更改密碼或開(kāi)鎖。輸入三次錯(cuò)誤密碼電路就報(bào)警。其主要工作原理為:AT89S51的P1口為鍵盤掃描口,接著3行4列的鍵盤即“0
7、、1、2設(shè)置、確定”,P3.0和P3.1接AT24C02,對(duì)AT24C02讀和寫數(shù)據(jù)。P3.2接一個(gè)小喇叭,當(dāng)按鍵確實(shí)被按下時(shí)發(fā)出一下提示音,P3.3為按了設(shè)置鍵等輸入原密碼指示LED控制口,P3.5為開(kāi)鎖信號(hào)輸出口,P3.4為報(bào)警輸出口,P3.7為輸入新密碼LED指示控制口。2.3 電子密碼鎖的控制芯片選擇 CPU是整個(gè)控制部分的核心。在考慮經(jīng)濟(jì)性和滿足需求的前提下,本系統(tǒng)選用Atmel公司生產(chǎn)的8位AT89S51單片機(jī)作為整個(gè)系統(tǒng)的控制中心。AT89S51是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含2K bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和128 byt
8、es的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合。在本系統(tǒng)中,AT89S51單片機(jī)內(nèi)部的功能單元已經(jīng)能夠滿足系統(tǒng)設(shè)計(jì)需要,不需要系統(tǒng)擴(kuò)展。2-2 密碼鎖原理圖AT89S51具有以下的特點(diǎn): 兼容MCS-51指令系統(tǒng) 2k字節(jié)可重擦寫閃速存儲(chǔ)器 1000次擦寫周期 2.7-6.V的寬工作電壓范圍 全靜態(tài)操作:0-24MHz2-3是AT89S51引腳功能圖 兩級(jí)加密程序存儲(chǔ)器 128*8字節(jié)內(nèi)部RAM 15個(gè)雙向I/O口線
9、 兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器 6個(gè)中斷源 可編程串行UARL通道 可直接驅(qū)動(dòng)LED的輸出端口 內(nèi)置一個(gè)模擬比較器 低功耗空閑和掉電模式 24電源部分外界電源通過(guò)五腳開(kāi)關(guān)JK與電源電路部分相連,電源經(jīng)過(guò)穩(wěn)壓管7805進(jìn)行穩(wěn)壓控制后,再經(jīng)過(guò)RC電路的濾波整流就可以直接攻電路使用了,LED發(fā)亮表明電源電路部分正常工作。圖2-4是電源部分原理圖 2-4 電源部分原理圖2.5鍵盤接口部分系統(tǒng)的所有密碼設(shè)置以及在沒(méi)有用遙控器開(kāi)鎖的情況下密碼的輸入都需要由鍵盤輸入。同時(shí)采用發(fā)光二極管來(lái)進(jìn)行提示操作,使用戶操作更加直觀和方便。AT89S51單片機(jī)的I/O口線共有8根,能夠滿足系統(tǒng)設(shè)計(jì)的需要。鍵盤接口電路設(shè)計(jì)
10、系統(tǒng)中鍵盤的功能主要用于用戶輸入和修改密碼。鍵盤需要設(shè)計(jì)16 個(gè)按鍵,其中09數(shù)字鍵用于密碼的輸入和修改。功能鍵兩個(gè),一個(gè)為“確定”鍵,用于密碼輸入結(jié)束后確認(rèn),一個(gè)為“設(shè)置”鍵,用于修改密碼。鍵盤采用行列式設(shè)計(jì),16個(gè)按鍵排成4×4矩陣。設(shè)計(jì)中用單片機(jī)P2口的P2.4P2.7接鍵盤的4根行線,P2.0P2.3接4根列線。原理圖如圖2-52-5 鍵盤部分原理圖2.6液晶顯示器本設(shè)計(jì)采用的是LED液晶顯示器,接口電路如圖2-6所示: 2-6 顯示器和單片機(jī)的連接圖2.7繼電器和蜂鳴器部分由于繼電器和蜂鳴器的工作電壓大于單片機(jī)AT89S51高電平輸出的電壓,所以繼電器與蜂鳴器由電源電壓+5
11、VQ驅(qū)動(dòng),單片機(jī)中的P1.1與P1.2分別輸出一個(gè)高電平脈沖送至晶體三極管Q1、Q2的基極,使三級(jí)管導(dǎo)通。從而驅(qū)動(dòng)繼電器及蜂鳴器工作。繼電器工作開(kāi)關(guān)K12導(dǎo)通,進(jìn)而發(fā)光二極管發(fā)亮。 2-7 繼電器部分電路原理圖 2.8小結(jié)本章詳細(xì)敘述了電子密碼鎖系統(tǒng)硬件電路的結(jié)構(gòu),分析了各個(gè)硬件電路的工作原理。在設(shè)計(jì)硬件電路的同時(shí),充分考慮將軟件和硬件結(jié)合起來(lái),發(fā)揮單片機(jī)的智能化優(yōu)勢(shì)。簡(jiǎn)化硬件電路的設(shè)計(jì),提高硬件電路的可靠性和穩(wěn)定性。第三章 軟件設(shè)計(jì)和程序清單軟件是整個(gè)控制系統(tǒng)設(shè)計(jì)的核心,它具有充分的靈活性,可以根據(jù)系統(tǒng)的要求而變化。在硬件結(jié)構(gòu)一定的情況下,只要改變軟件就能實(shí)現(xiàn)一些不同的功能。單片機(jī)所具有的智
12、能功能要由軟件來(lái)完成。3.1 系統(tǒng)軟件總體設(shè)計(jì)系統(tǒng)上電后首先完成初始化工作,然后按照事先設(shè)定好的程序執(zhí)行。本系己程序是基于單任務(wù)機(jī)制的。這種機(jī)制的應(yīng)用程序是一個(gè)無(wú)限的循環(huán),在這循環(huán)的過(guò)程中調(diào)用相應(yīng)的子程序函數(shù)來(lái)完成相應(yīng)的操作。這種機(jī)制具有簡(jiǎn)單直觀,易于控制的優(yōu)點(diǎn)。在本系統(tǒng)中,軟件結(jié)構(gòu)應(yīng)采用模塊化設(shè)計(jì)方法,主要包括主程序,鍵盤程序,密碼比較模塊,密碼修改程序等等。上電復(fù)位后,初始化各端口,標(biāo)志位和有關(guān)寄存器,接著從AT24C02中讀入密碼,然后開(kāi)始檢測(cè)鍵盤是否有輸入,如沒(méi)有就不斷檢測(cè),如果有輸入就轉(zhuǎn)到相應(yīng)處理程序。例如按了設(shè)置鍵,則P3.3輸出低電平,等輸入原密碼指示燈LED亮,接著如果輸入了正
13、確的原密碼并按了確定鍵,P3.7輸出低電平,可以輸入新密碼指示LED亮,接著輸入新密碼按確定鍵,新密碼被寫入24C02中,P3.3、P3.7輸出高電平,等輸入原密碼指示LED熄滅,可以輸入新密碼,指示LED熄滅,程序轉(zhuǎn)為復(fù)位程序。如果在設(shè)置狀態(tài),輸入了錯(cuò)誤的密碼,P3.5不斷輸出高電平報(bào)警。上電復(fù)位后按數(shù)字鍵6次,或按了小于6次數(shù)字鍵,再按了確定鍵則比較密碼是否對(duì),如果不對(duì),P3.4開(kāi)鎖信號(hào)輸出口輸出低電平,鎖不開(kāi),這時(shí)還可再輸入兩次,如還不對(duì)則P3.5不斷輸出高電平報(bào)警。如果輸入對(duì)了,P3.4開(kāi)鎖信號(hào)輸出口輸出高電平,鎖打開(kāi)4秒鐘后,程序轉(zhuǎn)為復(fù)位后。1模塊介紹該計(jì)程計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì)分為以下
14、幾個(gè)模塊:(1)主程序模塊主程序主要完成初始化、設(shè)置中斷向量、檢查有無(wú)按鍵按下、以及調(diào)用顯示等等。主程序的流程圖如下圖3-1所示。(2)鍵盤掃描及識(shí)別子程序 鍵盤采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖3-1 所示.(3)調(diào)電存儲(chǔ)服務(wù)程序當(dāng)比較密碼的時(shí)候,需要讀AT24C02程序,將存儲(chǔ)在芯片內(nèi)的數(shù)據(jù)讀到RAM中,然后和輸入的密碼相比較。當(dāng)修改密碼的時(shí)候,需要把輸入的密碼保存到AT24C02中,其程序流程如圖3-2 所示.(4)顯示子程序由于是分屏顯示數(shù)據(jù),所以就要用到5個(gè)顯示子程序,分別是:關(guān)
15、閉狀態(tài)顯示子程序(DIS_A)、開(kāi)鎖狀態(tài)顯示子程序(DIS_B)、密碼輸入及修改狀態(tài)顯示子程序(DIS_C)、密碼輸入錯(cuò)誤后的提示子程序(DIS_D)。密碼在規(guī)定的時(shí)間內(nèi)輸入錯(cuò)誤次數(shù)超過(guò)3次后的鎖定狀態(tài)顯示子程序(DIS_E).程序流程圖如3-1、3-2所示:程序; 開(kāi)始初始化有鍵按下?調(diào)用顯示啟動(dòng)定時(shí)識(shí)別按鍵全部按完?超時(shí)?比較密碼開(kāi)門開(kāi)始自動(dòng)清除>3次?鎖定NNYYYYNN按下F2啟動(dòng)定時(shí)輸入密碼存入緩沖再輸入一次比較密碼調(diào)用24C02調(diào)用顯示按F2退出Y重新輸入N圖31 主程序流程圖圖32 修改密碼流程圖 org 0000h; ljmp start; org 000bh; ljmp
16、 intermit_t0; org 001bh;程序清單如附錄表一所示。第4章 實(shí)物制作及調(diào)試說(shuō)明根據(jù)設(shè)計(jì)原理圖購(gòu)買所需元器件,然后使用PROTEL99SE畫(huà)好原理圖和PCB圖,然后制作PCB板,按照畫(huà)圖-PCB板制作查看板-壓板-鉆孔-焊接元器件檢查的步驟把實(shí)物板制作完整。調(diào)試根據(jù)方案設(shè)計(jì)的要求,調(diào)試過(guò)程共分為三大部分:硬件調(diào)試、軟件調(diào)試、和軟硬件聯(lián)調(diào)。電路按模塊調(diào)試,各模塊逐個(gè)調(diào)試后再聯(lián)調(diào)。單片機(jī)軟件先在最小系統(tǒng)板上調(diào)試,確保外部EPROM和RAM工作正常以后,再與硬件系統(tǒng)聯(lián)調(diào)。調(diào)試儀器:萬(wàn)用表1、 硬件調(diào)試電源電路:將做好的電路板接上9V直流電源,用萬(wàn)用表測(cè)試各點(diǎn)的電壓,看電路是否導(dǎo)通,
17、先把電源接到電路板上對(duì)應(yīng)的接口,打開(kāi)電源開(kāi)關(guān),結(jié)果是電源燈不亮,原因1:電源不通,原因2:燈的正負(fù)極接反,原因3:燈是壞的。根據(jù)三個(gè)原因一一檢查,結(jié)果發(fā)現(xiàn)是燈的正負(fù)接反了,換過(guò)來(lái)以后燈亮了。把萬(wàn)用表調(diào)到10V的檔位,然后黑表筆接到89S51的20腳,紅表筆接40腳記錄所測(cè)得的電壓。如果所得電壓小于3V或者沒(méi)有電壓則要檢查電路是否有虛焊或者線路不連通的情況。相應(yīng)的紅表筆接到31腳看是否有電壓,步驟如前面的一樣,結(jié)果顯示電壓正常。顯示部分的電路:測(cè)試顯示器的第1腳和2腳、第2腳和15腳之間看是否有5V電壓,沒(méi)有電壓則要檢查線路,有電壓則正常工作。結(jié)果顯示正常。鍵盤部分:將硬件的鍵盤和主板連起來(lái),按
18、下按鍵,看液晶顯示器上是否有輸出。查看是否有虛焊不通的情況。經(jīng)過(guò)一步步的檢查硬件的問(wèn)題已經(jīng)解決,可以正常工作了!2、 軟件調(diào)試把編寫好的程序?qū)懙诫娔X上,用偉福軟件進(jìn)行編譯,看語(yǔ)法是否有錯(cuò)誤,把有錯(cuò)誤的地方要改正過(guò)來(lái)。經(jīng)過(guò)參照資料和請(qǐng)教老師,結(jié)果軟件沒(méi)有問(wèn)題。3、 軟硬聯(lián)調(diào)把調(diào)試好的程序燒錄到單片機(jī)上。將硬件接上9V的直流電源,按照操作說(shuō)明操作了但是沒(méi)有成功。然后檢查硬件電路的問(wèn)題,結(jié)果沒(méi)有發(fā)現(xiàn)什么問(wèn)題,然后就是軟件了,把原來(lái)的軟件清除了,重新燒錄進(jìn)去。結(jié)果顯示正常。第5章 電子密碼鎖使用說(shuō)明書(shū)本設(shè)計(jì)采用的是5V的直流電壓,在電源輸入端的第1腳接正,第2腳接負(fù)電,把電源開(kāi)關(guān)撥向右邊,電源燈LED
19、1亮和液晶顯示器上有顯示A:SET ,B:OPEN。則說(shuō)明電路導(dǎo)通可以工作。注:原始密碼是123456.數(shù)字鍵09:做輸入密碼使用。A鍵:功能是重新設(shè)置密碼,按下以后屏幕會(huì)顯示INPUT PASSWORD,要先用數(shù)字鍵盤09輸入6位數(shù)字與原來(lái)設(shè)的6位密碼相同后屏幕會(huì)顯示RESET PASSWORD并且開(kāi)鎖燈亮才可以重新輸入新的6位密碼。輸入的密碼和原來(lái)設(shè)置好的密碼不一樣屏幕顯示PASSWORD ERROR就不可以重新設(shè)置。B鍵:功能是開(kāi)鎖,按下以后輸入6位數(shù)字密碼,屏幕顯示PASSWORD OK就可以開(kāi)鎖,繼電器工作開(kāi)鎖燈LED3亮。錯(cuò)誤的話蜂鳴器會(huì)響,顯示器顯示:PASSWORD ERROR
20、。重新輸入密碼,如果三次輸入密碼不正確蜂鳴器就會(huì)發(fā)出報(bào)警,并且鎖死,報(bào)警燈LED2亮。C鍵:功能是返回。注意:1、不能將電源的正負(fù)極接反 2、不能接高于12V的電壓,否則會(huì)燒壞電路。 3、不能接交流電。結(jié)束語(yǔ) 這次畢業(yè)設(shè)計(jì)收獲很多,也學(xué)到了很多知識(shí)。令我對(duì)設(shè)計(jì)的概念有了一個(gè)新的認(rèn)識(shí)。以前做的設(shè)計(jì)基本都是在書(shū)上找別人設(shè)計(jì)好的方案來(lái)做,而且制作簡(jiǎn)單沒(méi)有什么很大的技術(shù)問(wèn)題。這次自己親自查資料做的設(shè)計(jì),體會(huì)很深,也學(xué)到很多在書(shū)上學(xué)不到的知識(shí)。 首先是方案的確定,綜合考察了10個(gè)設(shè)計(jì)題目,初步確定了密碼鎖這個(gè)方案,接下來(lái)就是查資料,去圖書(shū)館一下借了幾本有關(guān)單片機(jī)的應(yīng)用的書(shū)來(lái)查閱,結(jié)合自己的設(shè)計(jì)目標(biāo)來(lái)選擇
21、相關(guān)的器件和電路的連接方案。經(jīng)過(guò)查閱資料和詢問(wèn)指導(dǎo)老師,把方案確定后接下來(lái)的工作就是畫(huà)原理圖,由于很長(zhǎng)時(shí)間沒(méi)有用PROTELL99SE畫(huà)圖了,而且有一些元器件是要自己畫(huà)管腳的,所以在畫(huà)的時(shí)候碰到很多困難,還有元件的封裝。最后借助書(shū)本和向同學(xué)請(qǐng)教才把原理圖畫(huà)出來(lái)了,接下來(lái)遇到的大問(wèn)題就是布線,布線中先是有線交叉,重新調(diào)節(jié)元件的位置以后還是出現(xiàn)同樣的問(wèn)題。最后在同學(xué)的幫助下才把PCB畫(huà)好。 接下來(lái)的工作就是做板了,按照流程一下子就把板子做好了,元件都焊好了就開(kāi)始硬件調(diào)試。在我們?cè)O(shè)計(jì)和調(diào)試的過(guò)程中,也發(fā)現(xiàn)了一些問(wèn)題,解決了很多問(wèn)題。收獲:通過(guò)畢業(yè)設(shè)計(jì),對(duì)我來(lái)說(shuō)體會(huì)真的很深,感覺(jué)從大一到現(xiàn)在第一次忙到
22、連睡覺(jué)的時(shí)候都想著怎么樣才可以把自己的設(shè)計(jì)做好。從一開(kāi)始的確定方案到最后測(cè)試,每一步的進(jìn)行自己都花了100分的心思去做了。用自己的話說(shuō):真的很辛苦,但是很值得。天天都是往圖書(shū)館去查資料,去機(jī)房畫(huà)PCB,跑實(shí)驗(yàn)樓做板和調(diào)試,一天兩趟。但是最大的收獲是學(xué)到了很多知識(shí),也積累了一些經(jīng)驗(yàn),這個(gè)過(guò)程讓我發(fā)現(xiàn)自己在學(xué)習(xí)過(guò)程中的很多不足,以前看的書(shū)太少了 ,尤其是關(guān)于專業(yè)類的書(shū)籍,沒(méi)有好好利用現(xiàn)有的資源。這次設(shè)計(jì)采用軟硬件結(jié)果,發(fā)揮了89S51的優(yōu)點(diǎn),功能強(qiáng)大,操作方便等等。還有很多可擴(kuò)展功能,希望往后的設(shè)計(jì)很更加完善,能設(shè)計(jì)出更加好的成品來(lái)。 附錄附錄表一:程序清單 en bit p3.0; rw bit
23、 p3.1; rs bit p3.2; display equ p0; speaker bit p1.0; led bit p1.2; open bit p1.1; returnbit bit 20h.1; org 0000h; ljmp start; org 000bh; ljmp intermit_t0; org 001bh; ljmp intermit_t1; org 0030h;start: mov sp,#60h; lcall sys_initialization;主程序main0: lcall strat_display;main: mov 52h,#0; 52h判斷輸入錯(cuò)誤次數(shù)儲(chǔ)
24、存地址 setb led; setb tr0; lcall key; cjne a,#'A',next1; ljmp set_password;next1: cjne a,#'B',next2; ljmp input_password;next2: ajmp main;系統(tǒng)初始化sys_initialization: clr led; clr open; clr speaker; mov 34h,#'1' mov 35h,#'2' mov 36h,#'3' mov 37h,#'4' mov 38h,
25、#'5' mov 39h,#'6' ;存放初始密碼 mov r7,#12; mov r0,#40h;loop: mov r0,#00h; inc r0; djnz r7,loop; ;密碼鍵值存放區(qū)清零完畢 lcall delay0_1s; mov p0,#03h; call write_instruction; 液晶軟復(fù)位 mov p0,#01h; call write_instruction; mov p0,#3fh; call write_instruction; mov p0,#0fh; call write_instruction; mov p0,#0
26、6h; call write_instruction; ;液晶初始化完畢 mov r4,#10; mov tmod,#11h; mov th0,#3ch; mov tl0,#0b0h; setb ea; setb et0; ;定時(shí)器T0,0.5S定時(shí)中斷初始化完畢 ret; ;系統(tǒng)初始化完畢;中斷服務(wù)程序intermit_t0: push acc; push psw; mov th0,#3ch; mov tl0,#0b0h; djnz r4,return; cpl led; mov r4,#10;return: pop psw; pop acc; reti;intermit_t1: push
27、acc; push psw; mov th1,#9eh; mov tl1,#58h; djnz r4,return_t1; cpl led; cpl speaker; mov r4,#10;return_t1:pop psw; pop acc; reti;鍵盤掃描key: call ks; jnz k1; jmp key;k1: call delay; call ks; jnz k2; jmp key;k2: clr tr0; clr led; mov r2,#0feh; mov r6,#00h;k3: mov a,r2; mov p2,a; mov a,p2; jb acc.4,l1; mo
28、v a,#0; ljmp lk;l1: jb acc.5,l2; mov a,#4; ljmp lk;l2: jb acc.6,l3; mov a,#8; ljmp lk;l3: jb acc.7,next_key; mov a,#12;lk: add a,r6; mov r6,a;k4: call ks; jnz k4; mov a,r6; mov dptr,#table0; movc a,a+dptr; mov 50h,a; 查表取值存入50h,保護(hù)鍵值 ret;next_key: inc r6; mov a,r2; jnb acc.7,key; rl a; mov r2,a; jmp k
29、3;ks: mov p2,#0f0h; mov a,p2; xrl a,#0f0h; ret;設(shè)置密碼程序set_password: call clear_display; mov dptr,#table4; call input_hint; mov r0,#40h; call password; jbc returnbit,set_password; ;先輸入原密碼完畢 mov r5,#6; mov r0,#40h; mov r1,#34h;input_compere: mov a,r0; xrl a,r1; jnz input_error; inc r0; inc r1; nop; nop
30、; djnz r5,input_compere; ;驗(yàn)證輸入密碼完畢 jmp set_password0;input_error: setb speaker; setb led; call clear_display; mov dptr,#table5; call input_hint; call delay1_5s; clr speaker; clr led; inc 52h; mov a,52h; cjne a,#3,set_password; sjmp $; ;輸入密碼錯(cuò)誤次數(shù)超過(guò)3次,鎖死set_password0: call clear_display; mov dptr,#tabl
31、e2; call input_hint; mov r0,#40h; call password; jbc returnbit,set_password; ;第一次輸入新密碼完畢 call clear_display; mov dptr,#table3; call input_hint; call delay1_5s; ;顯示再次輸入新密碼完畢 call clear_display; mov dptr,#table4; call input_hint; mov r0,#46h; call password; jbc returnbit,set_password; ;第二次輸入新密碼完畢 mov
32、r5,#6; mov r0,#40h; mov r1,#46h;set_compere: mov a,r0; xrl a,r1; jnz set_error; inc r0; inc r1; djnz r5,set_compere; mov 34h,40h; mov 35h,41h; mov 36h,42h; mov 37h,43h; mov 38h,44h; mov 39h,45h; ;存入新密碼完畢 jmp main0; ;設(shè)置新密碼成功,返回主程序set_error: setb speaker; setb led; call clear_display; mov dptr,#table5
33、; call input_hint; call delay1_5s; clr speaker; clr led; ljmp set_password0; ;前后兩次輸入新密碼不一致,返回重設(shè);輸入密碼開(kāi)鎖程序input_password: call clear_display; mov dptr,#table4; call input_hint; mov r0,#40h; call password; jbc returnbit,input_password; ;輸入原密碼完畢 mov r5,#6; mov r0,#40h; mov r1,#34h;input_compere0: mov a,
34、r0; xrl a,r1; jnz input_error22; inc r0; inc r1; nop; nop; djnz r5,input_compere0; ;驗(yàn)證輸入密碼完畢 jmp display_right;input_error22: setb speaker; setb led; call clear_display; mov dptr,#table5; call input_hint; call delay1_5s; clr speaker; clr led; inc 52h; mov a,52h; cjne a,#3,input_password; sjmp $; ;輸入
35、密碼錯(cuò)誤超過(guò)3次,鎖死display_right: call clear_display; mov dptr,#table6; call input_hint; ;顯示輸入密碼正確提示完畢 setb open; 開(kāi)鎖next_key1:call key; nop; nop; cjne a,#'F',next_key1; clr open; 按下關(guān)鎖鍵,關(guān)鎖 jmp main0; 返回主程序;strat_display: mov p0,#80h; call write_instruction; mov dptr,#table1; call input_hint; mov p0,#
36、0c0h; call write_instruction; mov dptr,#table11; call input_hint; ret;clear_display: mov display,#01h; call write_instruction; mov p0,#06h; call write_instruction; ret;input_hint: mov r5,#16; mov a,#00h;all_or_not: movc a,a+dptr; mov display,a; call writedata; inc dptr; clr a; nop; nop; djnz r5,all_
37、or_not; ret;password: mov r5,#6; mov r1,#0c0h; mov a,r1; mov p0,a; call write_instruction;loop1: call key; nop; nop; cjne a,#'C',next_to; setb returnbit; jmp endt;next_to: mov a,50h; mov r0,a; mov display,#'*'a; call writedata; inc r1; inc r0; djnz r5,loop1;endt: ret;寫數(shù)據(jù)指令writedata: SETB rs; CLR rw; clr en; setb en; nop; nop; clr en; call delay; ret;寫指令write_instruction: CLR rs; CLR rw; clr en; setb en; nop; nop; clr en; call delay; ret;延時(shí)程序delay1_5s: push 07h; push 02h; push 03h; mov r7,#15;del22s: mov r3,#0;del11s: mov r2,#0; djnz r2,$; djnz r3,del11s
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙買房全款合同范本
- pvc膜質(zhì)量合同范本
- 區(qū)域委托經(jīng)營(yíng)合同范本
- 保全協(xié)議合同范本
- 商標(biāo)標(biāo)識(shí)采購(gòu)合同范本
- 廠房合作建設(shè)合同范本
- 合同范本菜市場(chǎng)
- 商場(chǎng)整改電路合同范本
- 合租簡(jiǎn)易合同范本
- 會(huì)組織合同范本
- 2025屆湖北省高三T8聯(lián)盟模擬考數(shù)學(xué)試卷(解析版)
- 2025年湖北省技能高考(建筑技術(shù)類)《建筑構(gòu)造》模擬練習(xí)試題庫(kù)(含答案)
- 撤銷失信名單申請(qǐng)書(shū)
- 2024年泰州職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫(kù)含答案解析
- 2024年05月青海青海省農(nóng)商銀行(農(nóng)信社)系統(tǒng)招考專業(yè)人才筆試歷年參考題庫(kù)附帶答案詳解
- 貴州黔源電力股份有限公司招聘筆試沖刺題2025
- 2025年江蘇省環(huán)保集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 新修訂中華人民共和國(guó)畜牧法全文解讀學(xué)習(xí)
- 主題活動(dòng)一《我調(diào)查》(教學(xué)實(shí)錄)-2023-2024學(xué)年二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)內(nèi)蒙古版
- 檳榔園轉(zhuǎn)讓合同范例
- 物業(yè)管理服務(wù)內(nèi)容標(biāo)準(zhǔn)及質(zhì)量保證措施
評(píng)論
0/150
提交評(píng)論