版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 單片機系統(tǒng)課程設(shè)計單片機系統(tǒng)課 程 設(shè) 計成績評定表設(shè)計課題 : 基于89C51的電子密碼鎖的設(shè)計 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級 : 自動F1203 學(xué)生姓名 : 楊莉芳 學(xué) 號 : 201223910430 指導(dǎo)教師 : 王黎 設(shè)計地點 : 31號樓 設(shè)計時間 : 2014-12-152014-12-29 指導(dǎo)教師意見:成績: 簽名: 年 月 日 單片機系統(tǒng)課 程 設(shè) 計課程設(shè)計名稱: 基于89C51的電子密碼鎖的設(shè)計 專 業(yè) 班 級 : 自動F1203 學(xué) 生 姓 名 : 楊莉芳 學(xué) 號 : 20122391430 指 導(dǎo) 教 師 : 王黎 課程設(shè)計地點: 31號樓 課程設(shè)計時間
2、: 2014-12-292015-1-9 單片機系統(tǒng) 課程設(shè)計任務(wù)書學(xué)生姓名楊莉芳專業(yè)班級自動F1203學(xué)號201223910430題 目基于89C51的電子密碼鎖的設(shè)計課題性質(zhì)工程設(shè)計課題來源自擬指導(dǎo)教師王黎主要內(nèi)容(參數(shù))利用AT89C51以及外圍鍵盤以及液晶顯示部分來組成電子密碼鎖,實現(xiàn)的功能如下:1. 實現(xiàn)密碼的輸入以及密碼判定(初始密碼程序中已設(shè)定好),同時液晶顯示部分顯示相關(guān)提示信息。2. 若連續(xù)輸入錯誤密碼三次則自鎖,無法繼續(xù)輸入密碼。任務(wù)要求(進度)第1-2天:熟悉課程設(shè)計任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計方案。第3-4天:按照確定的方案設(shè)計單元電路。要求畫出單元電路圖,元件及
3、元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計要有詳細(xì)論述。第5-6天:軟件設(shè)計,編寫程序。第7-8天:實驗室調(diào)試。第9-10天:撰寫課程設(shè)計報告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計正確,篇幅合理。主要參考資料1 張迎新單片微型計算機原理、應(yīng)用及接口技術(shù)(第2版)M北京:國防工業(yè)出版社,2004審查意見系(教研室)主任簽字: 年 月 日 目錄1.硬件組成與方案設(shè)計41.1硬件組成41.2方案設(shè)計42.單元電路設(shè)計42.1時鐘電路設(shè)計42.2復(fù)位電路設(shè)計52.3鍵盤電路設(shè)計62.4顯示電路設(shè)計62.5整體電路圖設(shè)計83.系統(tǒng)軟件工作流程圖93.1主程序工作流程93.2鍵盤掃描程序
4、104系統(tǒng)功能實際測試114.1程序?qū)嶋H編譯測試114.2程序模擬仿真測試115.設(shè)計總結(jié)17參考文獻18附錄A:整體電路圖19附錄B:詳細(xì)程序20摘要: 自從人類開始制造鎖以來長期所使用的鎖都是機械鎖,通俗的講就是彈子芯鎖。而傳統(tǒng)的彈子芯鎖,由于其本身鎖芯密齒的有限加之開鎖工具鑰匙的容易復(fù)制性,使得其安全性大大降低。隨著人們生活質(zhì)量的提高,如何實現(xiàn)安全有效的防盜這一問題受到越來越多人的關(guān)注。傳統(tǒng)的機械鎖由于安全性能太差,被撬的事件屢見不鮮。相比之下,電子密碼鎖因其保密性強,使用靈活性好,安全系數(shù)高,受到了廣大用戶的歡迎。電子密碼鎖作為一種新型的鎖,安全性有了較大的提高,還省去了傳統(tǒng)機械鎖的鑰
5、匙,使用者只要記得其密碼,便可以開啟,從而大大提高了防盜功能。 本文主要設(shè)計了一種以單片機AT89C51為核心的電子密碼鎖。詳細(xì)地介紹了該電子密碼鎖以及其外圍電路的設(shè)計過程。電子密碼鎖主要由三部分組成:鍵盤輸入部分、單片機最小系統(tǒng)部分、液晶顯示部分。通過外圍鍵盤來進行密碼輸入,單片機則負(fù)責(zé)把輸入的密碼與設(shè)定好的密碼進行比對從而判斷是否輸入正確,而液晶顯示部分則負(fù)責(zé)進行相關(guān)提示信息的顯示。關(guān)鍵詞:AT89C52 鍵盤輸入 液晶顯示1.硬件組成與方案設(shè)計1.1硬件組成硬件組成如圖1.1所示: 圖1.1硬件組成示意圖1.2方案設(shè)計該系統(tǒng)采用外圍矩陣鍵盤來進行密碼的輸入,單片機則執(zhí)行鍵盤掃描
6、程序來獲取相應(yīng)的鍵值從而達(dá)到輸入密碼的功能,同時,單片機與1602液晶顯示屏相連,來顯示輸入密碼等相關(guān)提示信息方便用戶使用。當(dāng)用戶連續(xù)輸入錯誤密碼三次時則電子密碼鎖自鎖,無法繼續(xù)輸入密碼,從而提高了電子密碼鎖的安全2.單元電路設(shè)計2.1時鐘電路設(shè)計時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準(zhǔn),有條不紊地工作。因此時鐘頻率直接影響單片機的速度。常用的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式以及外部時鐘方式。本設(shè)計采用的是內(nèi)部時鐘方式。其中內(nèi)部時鐘方式是利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端跨接晶體或陶瓷諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器。其發(fā)出的脈沖直接送入內(nèi)部時鐘電
7、路。外接晶振時,C1和C2的值通常選擇為30pF左右,C1和C2對頻率有微調(diào)作用。晶體的頻率選擇12MHz。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,振蕩器和電容應(yīng)盡可能安裝得遇單片機芯片靠近。如圖2.1所示圖2.1 時鐘電路2.2復(fù)位電路設(shè)計復(fù)位是單片機的初始化操作,單片機在啟動運行時,都需要先復(fù)位,它的作用是CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。故復(fù)位關(guān)系到一個單片機系統(tǒng)能否可靠地工作。本設(shè)計采用的是按鍵電平復(fù)位,按復(fù)位鍵之后復(fù)位端通過電阻與Vcc電源連通。為保證復(fù)位可靠,應(yīng)保證復(fù)位高電平持續(xù)時間大于兩個機器周期,R4電阻值為200歐姆,R5電阻值
8、為10K,C3電容值為22uF。如圖2.2所示圖2.2 復(fù)位電路2.3鍵盤電路設(shè)計計算機所使用的鍵盤有全編碼鍵盤和非編碼鍵盤兩種,本設(shè)計采用的是非編碼鍵盤。非編碼鍵盤只是簡單地提供行和列的矩陣,其它工作都靠軟件來完成,由于其經(jīng)濟實用,目前在單片機應(yīng)用系統(tǒng)中多采用這種方法。本設(shè)計中采用了非編碼矩陣鍵盤,通過四根行線四根列線與單片機相連,通過單片機內(nèi)部程序從而實現(xiàn)計算鍵值,進行密碼輸入的功能。如圖2.3所示圖2.3鍵盤電路2.4顯示電路設(shè)計單片機的顯示方式有點陣顯示,數(shù)碼管顯示以及液晶屏顯示。本設(shè)計采用的是液晶屏顯示方式。液晶顯示模塊已作為很多電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形
9、。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點。1602型LCD可以顯示2行16個字符,有8位數(shù)產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子據(jù)總線D0-D7和RS,R/W,EN三個控制端口,工作電壓為5V,并且具有字符對比度調(diào)節(jié)和背光功能。引腳功能說明:第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比 度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高
10、電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(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è)計如圖2.5所示圖2.5 整體電路圖3.系統(tǒng)軟件工作流程圖3.1主程序工作流程主程序首先初始化外圍顯示電路,并顯示相關(guān)信息提示用戶輸入密碼。用
11、戶按下確認(rèn)鍵開始輸入密碼。單片機則執(zhí)行鍵盤掃描程序,獲取相應(yīng)鍵值與設(shè)定密碼進行比對,若正確則執(zhí)行解鎖。輸入錯誤則提醒用戶再一次輸入,若連續(xù)錯誤輸入三次時電子密碼鎖自鎖,用戶無法繼續(xù)輸入密碼。程序流程圖如圖3-1所示圖3.1 主程序流程圖3.2鍵盤掃描程序 鍵盤掃描程序是本設(shè)計的核心程序,是單片機能否正確讀取按鍵對應(yīng)鍵值的關(guān)鍵所在。通過軟件延時來去除按鍵時的抖動影響,之后通過單片機內(nèi)部程序來獲取相應(yīng)鍵值。鍵盤掃描流程圖如圖3-2所示。圖3.2 鍵盤掃描流程圖4系統(tǒng)功能實際測試4.1程序?qū)嶋H編譯測試在Keil編譯環(huán)境下編譯通過,0錯誤,0警告。生成HEX文件4.2程序模擬仿真測試在程序模擬仿真中采
12、用的是Proteus模擬軟件。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。其可以仿真51系列、AVR、PIC、ARM、等常用
13、主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計開發(fā)環(huán)境。模擬仿真步驟如下1. 首先打開Proteus軟件并新建design,在彈出的對話框中選擇default選項創(chuàng)建新的design。如圖4.2.1所示。圖4.2.1 創(chuàng)建新的deign2. 創(chuàng)建好之后通過元器件選擇按鈕來選擇本設(shè)計中所用的的相關(guān)元器件,添加到元器件列表當(dāng)中。如圖4.2.2所示圖4.2.2 選擇并添加元器件3. 添加好所需要的元器件之后開始在原理圖編輯窗口放置相應(yīng)元器件并進行連線。4. 連線完成之后開始設(shè)
14、置電阻電容等相應(yīng)元器件的參數(shù)值,在要修改的元器件上面雙擊鼠標(biāo),在對應(yīng)的框內(nèi)輸入?yún)?shù)值即可。5. 修改參數(shù)完成之后,雙擊AT89C52單片機,在彈出的對話框中對應(yīng)選項中添加前面已經(jīng)生成好的HEX文件。如圖4.2.3所示。圖4.2.5 添加HEX文件6. 添加好HEX文件之后,開始進行模擬,首先1602LCD顯示屏顯示提示信息。如圖4.2.6所示。圖4.2.6 提示信息7. 按Confirm按鍵之后開始輸入密碼,如圖4.2.7所示圖4.2.7 輸入密碼8.當(dāng)密碼輸入錯誤時,則有相應(yīng)提示信息。如如4.2.8所示。圖4.2.8 密碼輸入錯誤提示信息9.當(dāng)連續(xù)錯誤輸入密碼三次時,則電子密碼鎖自鎖。如圖4
15、.2.9所示。圖4.2.9 電子密碼鎖自鎖10. 當(dāng)密碼輸入正確時,得到相應(yīng)提示信息。如圖4.2.10所示圖4.2.10 密碼輸入正確5.設(shè)計總結(jié)學(xué)習(xí)了一年的單片機課程,自己對單片機的設(shè)計也有了一定的了解,通過這次課程設(shè)計,我得到了很多收獲和體會,以及一個工程設(shè)計的基本過程。增強了查閱參考資料,查閱手冊,圖表和文獻資料的自學(xué)能力。在進行本系統(tǒng)的設(shè)計過程中雖然遇到很多的問題,比如說畫圖,設(shè)計等各種問題都讓自己懊惱不已。但是通過自己的思考以及與同學(xué)之間的探討得到了一定程度的解決。在該設(shè)計完成之后進行了模擬仿真,最終的效果還是令人滿意的。同時,由于設(shè)計的時間以及能力有限,本設(shè)計還存在著一些不合理的地
16、方,比如用戶無法自己設(shè)定密碼,只能靠原始程序來進行設(shè)定。同時采用的過于簡陋的機械鍵盤,在用戶輸入密碼時可能會產(chǎn)生誤操作等。但是從整體來看,通過這一個設(shè)計我還是得到了不少的鍛煉。使用Proteus軟件進行模擬仿真,使用Keil來進行源程序的編寫,使用Visio軟件來繪制流程圖等。這些都大大提高了我的動手能力,為以后的設(shè)計打下了良好的基礎(chǔ)。參考文獻1 張迎新單片微型計算機原理、應(yīng)用及接口技術(shù)(第2版)M北京:國防工業(yè)出版社,20042 祁偉, 楊亭. 單片機C51程序設(shè)計教程與實驗M.北京:北京航空航天大學(xué)出版社.3 樓然苗.李光飛.單片機課程設(shè)計指導(dǎo)M.北京:北京航空航天大學(xué)出版社.附錄A:整體
17、電路圖附錄B:詳細(xì)程序主函數(shù)部分:#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="
18、This is the last 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是顯示的個數(shù),j是地址 uchar i; for(i=0;i<k;i+) dat_w(*(j+i);delay(20); main() uchar j=0,i=
19、0,sum_1=0; loop:init(); 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
20、(i=0;i<=7;i+) 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); dela
21、y(500); clear(); 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()
22、; if(flag=1&&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 char#define uint unsigned intsbit E=P07;sbit RW=P06;sbit RS=P05;/*寫命令*/void cmd_w(uchar cmd) RW=0; RS=0; E=1; P2=cmd; delay(1); E=0;/*寫數(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); /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年房地產(chǎn)開發(fā)土方合同
- 2024年文化藝術(shù)節(jié)活動組織與承辦合同
- 2024年修訂版技術(shù)轉(zhuǎn)讓合同
- 2024年文化旅游綜合體開發(fā)合作協(xié)議
- DB4117T 233-2018 夏芝麻高產(chǎn)高效栽培技術(shù)規(guī)程
- DB4117T 169.13-2023 動物疫病流行病學(xué)調(diào)查技術(shù)規(guī)范 第13部分:雞傳染性支氣管炎
- 2024年工業(yè)用水管道安裝協(xié)議
- 2024年度××建筑工程項目施工合同
- 質(zhì)檢個人年度總結(jié)(7篇)
- 2024年技術(shù)轉(zhuǎn)讓合同:研發(fā)機構(gòu)將自主研發(fā)的技術(shù)轉(zhuǎn)讓給企業(yè)
- 吉他小白的彈奏秘籍:指彈吉他入門教程
- 自然災(zāi)害之寒潮災(zāi)害演示文稿
- 空壓機壓縮空氣管道系統(tǒng)施工方案f
- 《藝術(shù)概論》課程標(biāo)準(zhǔn)
- 新版貨物質(zhì)押監(jiān)管合作協(xié)議書范本
- 學(xué)校食品安全總監(jiān)職責(zé),學(xué)校食品安全員守則,學(xué)校食品安全風(fēng)險日管控、周排查、月調(diào)度工作制度
- 堅持以人民為中心發(fā)展思想
- 羽毛球基本功的學(xué)與練-教學(xué)實施報告(教師教學(xué)能力大賽)
- (部編版)二年級語文上冊必背課文默寫填空
- 中班幼兒教研活動記錄范文(通用6篇)
- 夏商周考古課件 第4章 殷墟文化(4-6節(jié))
評論
0/150
提交評論