基于80C51的電子密碼鎖單片機(jī)課程設(shè)計(jì)_第1頁(yè)
基于80C51的電子密碼鎖單片機(jī)課程設(shè)計(jì)_第2頁(yè)
基于80C51的電子密碼鎖單片機(jī)課程設(shè)計(jì)_第3頁(yè)
基于80C51的電子密碼鎖單片機(jī)課程設(shè)計(jì)_第4頁(yè)
基于80C51的電子密碼鎖單片機(jī)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、word單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)成績(jī)?cè)u(píng)定表設(shè)計(jì)課題 : 基于89C51的電子密碼鎖的設(shè)計(jì) 學(xué)院名稱(chēng) : 電氣工程學(xué)院 專(zhuān)業(yè)班級(jí) : 學(xué)生姓名 : 學(xué) 號(hào) : 指導(dǎo)教師 : 設(shè)計(jì)地點(diǎn) : 設(shè)計(jì)時(shí)間 : 指導(dǎo)教師意見(jiàn):成績(jī): 簽名: 年 月 日.word單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱(chēng): 基于89C51的電子密碼鎖的設(shè)計(jì) 專(zhuān) 業(yè) 班 級(jí) : 自動(dòng)F1203 學(xué) 生 姓 名 : 學(xué) 號(hào) : 指 導(dǎo) 教 師 : 課程設(shè)計(jì)地點(diǎn): 課程設(shè)計(jì)時(shí)間: .word 單片機(jī)系統(tǒng) 課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名 專(zhuān)業(yè)班級(jí) 學(xué)號(hào) 題 目基于89C51的電子密碼鎖的設(shè)計(jì)課題性質(zhì)工程設(shè)計(jì)課題來(lái)源自擬指導(dǎo)教師 主要內(nèi)容參數(shù)利用

2、AT89C51以及外圍鍵盤(pán)以及液晶顯示局部來(lái)組成電子密碼鎖,實(shí)現(xiàn)的功能如下:1. 實(shí)現(xiàn)密碼的輸入以及密碼判定初始密碼程序中已設(shè)定好,同時(shí)液晶顯示局部顯示相關(guān)提示信息。2. 假設(shè)連續(xù)輸入錯(cuò)誤密碼三次那么自鎖,無(wú)法繼續(xù)輸入密碼。任務(wù)要求進(jìn)度第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫(huà)出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫(xiě)程序。第7-8天:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫(xiě)課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式標(biāo)準(zhǔn)、方案合理、設(shè)計(jì)正確,篇幅合理。主要參考資料1 張迎

3、新單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)第2版M北京:國(guó)防工業(yè)出版社,2004審查意見(jiàn)系教研室主任簽字: 年 月 日 目 錄1 硬件組成與方案設(shè)計(jì)41.1 硬件組成41.2 方案設(shè)計(jì)42 單元電路設(shè)計(jì)42.1 時(shí)鐘電路設(shè)計(jì)42.2 復(fù)位電路設(shè)計(jì)52.3 鍵盤(pán)電路設(shè)計(jì)62.4 顯示電路設(shè)計(jì)62.5 整體電路圖設(shè)計(jì)83 系統(tǒng)軟件工作流程圖93.1 主程序工作流程93.2 鍵盤(pán)掃描程序104 系統(tǒng)功能實(shí)際測(cè)試114.1 程序?qū)嶋H編譯測(cè)試114.2 單片機(jī)實(shí)際操作演示11總 結(jié)16參 考 文 獻(xiàn)17附錄A:整體電路圖18附錄B:詳細(xì)程序19.word概述: 自從人類(lèi)開(kāi)始制造鎖以來(lái)長(zhǎng)期所使用的鎖都是機(jī)械鎖,

4、通俗的講就是彈子芯鎖。而傳統(tǒng)的彈子芯鎖,由于其本身鎖芯密齒的有限加之開(kāi)鎖工具鑰匙的容易復(fù)制性,使得其平安性大大降低。隨著人們生活質(zhì)量的提高,如何實(shí)現(xiàn)平安有效的防盜這一問(wèn)題受到越來(lái)越多人的關(guān)注。傳統(tǒng)的機(jī)械鎖由于平安性能太差,被撬的事件屢見(jiàn)不鮮。相比之下,電子密碼鎖因其保密性強(qiáng),使用靈活性好,平安系數(shù)高,受到了廣闊用戶的歡送。電子密碼鎖作為一種新型的鎖,平安性有了較大的提高,還省去了傳統(tǒng)機(jī)械鎖的鑰匙,使用者只要記得其密碼,便可以開(kāi)啟,從而大大提高了防盜功能。 本文主要設(shè)計(jì)了一種以單片機(jī)AT89C51為核心的電子密碼鎖。詳細(xì)地介紹了該電子密碼鎖以及其外圍電路的設(shè)計(jì)過(guò)程。電子密碼鎖主要由三局

5、部組成:鍵盤(pán)輸入局部、單片機(jī)最小系統(tǒng)局部、液晶顯示局部。通過(guò)外圍鍵盤(pán)來(lái)進(jìn)行密碼輸入,單片機(jī)那么負(fù)責(zé)把輸入的密碼與設(shè)定好的密碼進(jìn)行比對(duì)從而判斷是否輸入正確,而液晶顯示局部那么負(fù)責(zé)進(jìn)行相關(guān)提示信息的顯示。1 硬件組成與方案設(shè)計(jì)1.1 硬件組成硬件組成如圖1.1所示: 圖1.1硬件組成示意圖1.2 方案設(shè)計(jì)該系統(tǒng)采用外圍矩陣鍵盤(pán)來(lái)進(jìn)行密碼的輸入,單片機(jī)那么執(zhí)行鍵盤(pán)掃描程序來(lái)獲取相應(yīng)的鍵值從而到達(dá)輸入密碼的功能,同時(shí),單片機(jī)與1602液晶顯示屏相連,來(lái)顯示輸入密碼等相關(guān)提示信息方便用戶使用。當(dāng)用戶連續(xù)輸入錯(cuò)誤密碼三次時(shí)那么電子密碼鎖自鎖,無(wú)法繼續(xù)輸入密碼,從而提高了電子密碼鎖的平安2 單元電路設(shè)計(jì)2.

6、1 時(shí)鐘電路設(shè)計(jì)時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地工作。因此時(shí)鐘頻率直接影響單片機(jī)的速度。常用的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式以及外部時(shí)鐘方式。本設(shè)計(jì)采用的是內(nèi)部時(shí)鐘方式。其中內(nèi)部時(shí)鐘方式是利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端跨接晶體或陶瓷諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器。其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路。外接晶振時(shí),C1和C2的值通常選擇為30pF左右,C1和C2對(duì)頻率有微調(diào)作用。晶體的頻率選擇12MHz。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,振蕩器和電容應(yīng)盡可能安裝得遇單片機(jī)芯片靠近。如圖2.1所示圖2.1 時(shí)鐘電

7、路2.2 復(fù)位電路設(shè)計(jì)復(fù)位是單片機(jī)的初始化操作,單片機(jī)在啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,它的作用是CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。故復(fù)位關(guān)系到一個(gè)單片機(jī)系統(tǒng)能否可靠地工作。本設(shè)計(jì)采用的是按鍵電平復(fù)位,按復(fù)位鍵之后復(fù)位端通過(guò)電阻與Vcc電源連通。為保證復(fù)位可靠,應(yīng)保證復(fù)位高電平持續(xù)時(shí)間大于兩個(gè)機(jī)器周期,R4電阻值為200歐姆,R5電阻值為10K,C3電容值為22uF。如圖2.2所示圖2.2 復(fù)位電路2.3 鍵盤(pán)電路設(shè)計(jì)計(jì)算機(jī)所使用的鍵盤(pán)有全編碼鍵盤(pán)和非編碼鍵盤(pán)兩種,本設(shè)計(jì)采用的是非編碼鍵盤(pán)。非編碼鍵盤(pán)只是簡(jiǎn)單地提供行和列的矩陣,其它工作都靠軟件來(lái)完成,由于其經(jīng)濟(jì)

8、實(shí)用,目前在單片機(jī)應(yīng)用系統(tǒng)中多采用這種方法。本設(shè)計(jì)中采用了非編碼矩陣鍵盤(pán),通過(guò)四根行線四根列線與單片機(jī)相連,通過(guò)單片機(jī)內(nèi)部程序從而實(shí)現(xiàn)計(jì)算鍵值,進(jìn)行密碼輸入的功能。如圖2.3所示圖2.3鍵盤(pán)電路2.4 顯示電路設(shè)計(jì)單片機(jī)的顯示方式有點(diǎn)陣顯示,數(shù)碼管顯示以及液晶屏顯示。本設(shè)計(jì)采用的是液晶屏顯示方式。液晶顯示模塊已作為很多電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專(zhuān)用符號(hào)和圖形。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)產(chǎn)品的通過(guò)器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子據(jù)總線D0-D7和RS,R/W,EN三個(gè)控制端口,工作電

9、壓為5V,并且具有字符比照度調(diào)節(jié)和背光功能。引腳功能說(shuō)明:第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地時(shí)比照 度最高,比照度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整比照度。 第4腳:RS為存放器選擇,高電平時(shí)選擇數(shù)據(jù)存放器、低電平時(shí)選擇指令存放器。 第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電

10、平時(shí),液晶模塊執(zhí)行命令。 第714腳:D0D7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。如圖2.4.1所示圖2.4.1顯示局部電路如圖2.4.2所示圖2.4.2 1602型LCD外形尺寸圖2.5 整體電路圖設(shè)計(jì)如圖2.5所示圖2.5 整體電路圖3 系統(tǒng)工作流程圖3.1 主程序工作流程主程序首先初始化外圍顯示電路,并顯示相關(guān)信息提示用戶輸入密碼。用戶按下確認(rèn)鍵開(kāi)始輸入密碼。單片機(jī)那么執(zhí)行鍵盤(pán)掃描程序,獲取相應(yīng)鍵值與設(shè)定密碼進(jìn)行比對(duì),假設(shè)正確那么執(zhí)行解鎖。輸入錯(cuò)誤那么提醒用戶再一次輸入,假設(shè)連續(xù)錯(cuò)誤輸入三次時(shí)電子密碼鎖自鎖,用戶無(wú)法繼續(xù)輸入密碼。程序流程圖如圖3-1所示圖3

11、.1 主程序流程圖3.2 鍵盤(pán)掃描程序 鍵盤(pán)掃描程序是本設(shè)計(jì)的核心程序,是單片機(jī)能否正確讀取按鍵對(duì)應(yīng)鍵值的關(guān)鍵所在。通過(guò)軟件延時(shí)來(lái)去除按鍵時(shí)的抖動(dòng)影響,之后通過(guò)單片機(jī)內(nèi)部程序來(lái)獲取相應(yīng)鍵值。鍵盤(pán)掃描流程圖如圖3-2所示。圖3.2 鍵盤(pán)掃描流程圖4 系統(tǒng)功能實(shí)際測(cè)試4.1 程序?qū)嶋H編譯測(cè)試在Keil編譯環(huán)境下編譯通過(guò),0錯(cuò)誤,0警告。生成HEX文件4.2 單片機(jī)實(shí)際操作演示在單片機(jī)實(shí)際操作過(guò)程中,使用的程序燒錄軟件為STC-ISP軟件,該軟件可以對(duì)51內(nèi)核的單片機(jī)進(jìn)行相關(guān)程序的燒寫(xiě),使用十分方便。啟動(dòng)軟件之后,首先軟件進(jìn)行相應(yīng)的設(shè)置。選擇單片機(jī)的型號(hào),由于51內(nèi)核的單片機(jī)具有一定的通用性,應(yīng)選擇

12、了STC89C52RC型號(hào)的單片機(jī)。接著翻開(kāi)前面所生成好的HEX文件。然后設(shè)置端口,本次實(shí)際操作中選用的是端口3COM3與筆記本相連,故端口設(shè)置為COM3。設(shè)置完之后的軟件截圖如圖4.3所示。圖4.1 燒錄軟件設(shè)置設(shè)置完成之后點(diǎn)擊DownLoad下載按鈕,并按下單片機(jī)上的電源按鍵,程序燒錄到單片機(jī)中,單片機(jī)開(kāi)始運(yùn)行程序。1程序開(kāi)始運(yùn)行時(shí),如下列圖所示。圖4.2 開(kāi)始運(yùn)行畫(huà)面2按下confirm按鍵,開(kāi)始輸入密碼。如下列圖所示。圖4.3開(kāi)始輸入密碼3密碼的輸入。如下列圖所示。圖4.4 密碼輸入4密碼輸入錯(cuò)誤時(shí),顯示相應(yīng)信息。如下列圖所示。圖4.5 密碼輸入錯(cuò)誤5當(dāng)連續(xù)三次輸入密碼錯(cuò)誤時(shí),顯示相應(yīng)

13、提示信息。如下列圖所示。圖4.6 連續(xù)密碼錯(cuò)誤輸入3次6密碼正確輸入。如下列圖所示。圖4.7 密碼正確輸總 結(jié)學(xué)習(xí)了一年的單片機(jī)課程,自己對(duì)單片機(jī)的設(shè)計(jì)也有了一定的了解,通過(guò)這次課程設(shè)計(jì),我得到了很多收獲和體會(huì),以及一個(gè)工程設(shè)計(jì)的根本過(guò)程。增強(qiáng)了查閱參考資料,查閱手冊(cè),圖表和文獻(xiàn)資料的自學(xué)能力。在進(jìn)行本系統(tǒng)的設(shè)計(jì)過(guò)程中雖然遇到很多的問(wèn)題,比方說(shuō)畫(huà)圖,設(shè)計(jì)等各種問(wèn)題都讓自己懊惱不已。但是通過(guò)自己的思考以及與同學(xué)之間的探討得到了一定程度的解決。在該設(shè)計(jì)完成之后進(jìn)行了模擬仿真,最終的效果還是令人滿意的。同時(shí),由于設(shè)計(jì)的時(shí)間以及能力有限,本設(shè)計(jì)還存在著一些不合理的地方,比方用戶無(wú)法自己設(shè)定密碼,只能靠

14、原始程序來(lái)進(jìn)行設(shè)定。同時(shí)采用的過(guò)于簡(jiǎn)陋的機(jī)械鍵盤(pán),在用戶輸入密碼時(shí)可能會(huì)產(chǎn)生誤操作等。但是從整體來(lái)看,通過(guò)這一個(gè)設(shè)計(jì)我還是得到了不少的鍛煉。使用Proteus軟件進(jìn)行模擬仿真,使用Keil來(lái)進(jìn)行源程序的編寫(xiě),使用Visio軟件來(lái)繪制流程圖等。這些都大大提高了我的動(dòng)手能力,為以后的設(shè)計(jì)打下了良好的根底。參 考 文 獻(xiàn)1 張迎新單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)第2版M北京:國(guó)防工業(yè)出版社,20042 祁偉, 楊亭. 單片機(jī)C51程序設(shè)計(jì)教程與實(shí)驗(yàn)M.北京:北京航空航天大學(xué)出版社.3 樓然苗.李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)M.北京:北京航空航天大學(xué)出版社.附錄A:整體電路圖附錄B:詳細(xì)程序主函數(shù)局部:

15、#include <reg52.h>#include"key.h"#include"lcd.h"uchar code show_0="Please input the password:"uchar code show_1="The cipher is:" ;uchar code show_2="*"uchar code show_3="The password is wrong!"uchar code show_4="This is the last

16、time,"uchar code show_5="Please try it tomorrow!"uchar code show_6="you are right!"uchar init_pswd=8,8,8,8,8,8,8,8;uchar pswd8=0;uchar pswd_18=0;void play(uchar *j,uchar k) /K是顯示的個(gè)數(shù),j是地址 uchar i; for(i=0;i<k;i+) dat_w(*(j+i);delay(20); main() uchar j=0,i=0,sum_1=0; loop:i

17、nit(); clear(); gotoxy(1,0); play(show_0,16); gotoxy(2,0); play(show_0+17,10); /*密碼輸入*/ do key(); while(ki!=15); clear(); gotoxy(1,0); play(show_1,15); do flag=0; key();gotoxy(2,0);if(flag=1&&ki<=9) pswdi=ki; play(show_2,i); i+; if(ki=14)/14那么退出. break; while(i<=8); for(i=0;i<=7;i+)

18、 sum_1=init_pswdi-pswdi+sum_1; if(sum_1!=0) clear(); j+; if(j=3) clear(); gotoxy(1,0); play(show_4,16);gotoxy(2,0);play(show_4+16,14);delay(500);delay(500);clear();gotoxy(1,0);play(show_5+7,16); while(1); /三次輸入密碼失敗,自鎖 gotoxy(1,0); play(show_3,16); gotoxy(2,5); play(show_3+15,7); delay(500); clear();

19、 goto loop; if(sum_1=0) clear(); gotoxy(1,0); play(show_6,15); do key(); while(ki!=13); loop1:clear(); /*第一次輸密碼*/ i=0; do flag=0; key(); if(flag=1&&ki<=9) pswdi=ki; i+; clear(); gotoxy(1,0); play(show_2,i); while(i<=7); clear(); /*第二次輸密碼*/ i=0; sum_1=0; do flag=0; key(); if(flag=1&

20、&ki<=9) pswd_1i=ki; i+; clear(); gotoxy(1,0); play(show_2,i); while(i<=7); for(i=0;i<=7;i+) sum_1=sum_1+ pswd_1i-pswdi; if(sum_1=0) clear();for(i=0;i<=7;i+)init_pswdi=pswd1; while(1); if(sum_1!=0) clear(); goto loop1; LCD局部#ifndef _lcd_h#include <reg52.h>#define uchar unsigned

21、char#define uint unsigned intsbit E=P07;sbit RW=P06;sbit RS=P05;/*寫(xiě)命令*/void cmd_w(uchar cmd) RW=0; RS=0; E=1; P2=cmd; delay(1); E=0;/*寫(xiě)數(shù)據(jù)*/void dat_w(uchar dat) RW=0; RS=1; E=1; P2=dat; delay(1); E=0;/*清屏*/void clear(void) cmd_w(0x01); /清屏 cmd_w(0x02); /清屏回到左上角/*初始化*/void init(void) cmd_w(0x38); cmd_w(0x0d); /*光標(biāo)定

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論