版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于單片機(jī)的電子密碼鎖及程序基于單片機(jī)的電子密碼鎖設(shè)計(jì)隨著科技和人們的生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤為突出,傳統(tǒng)的機(jī)械鎖由于構(gòu)造簡單,被撬事件屢見不鮮。電子密碼鎖保密性好,使用靈活性高,收到廣大用戶的青睞。本設(shè)計(jì)是以單片機(jī)AT89C52作為密碼鎖的主控芯片與數(shù)據(jù)存儲單程序,并用KeiluVision4軟件進(jìn)行編譯設(shè)計(jì)了一款可以更改密碼,具有報(bào)警功能的電子密碼控制系統(tǒng)。本設(shè)計(jì)采用矩陣鍵盤對密碼進(jìn)行輸入,具有較高的優(yōu)勢,減少了I/O口的占用數(shù)目。密碼的顯示采用LCD顯示屏實(shí)現(xiàn),為確保安全性統(tǒng)一使數(shù)字。采用蜂鳴器模擬報(bào)警系統(tǒng),增加了密碼鎖的安全能力。軟件使用C語言編程,運(yùn)用自上而下的模塊化設(shè)計(jì)思想,使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。測試結(jié)果表明,設(shè)計(jì)達(dá)到電子密碼鎖的功能。碼鎖、AT89C52、矩陣鍵盤、報(bào)警一、設(shè)計(jì)背景技的進(jìn)步,鎖已經(jīng)發(fā)展到了密碼鎖、磁性鎖、電子鎖、不同聲音,不同磁場,不同聲波,不同光束光波,不同圖像來控制鎖的開啟,從而大大提高了鎖的安全性。當(dāng)今安全信息系統(tǒng)應(yīng)用越來越廣泛,特別在機(jī)密保護(hù)、維護(hù)隱私和財(cái)產(chǎn)保護(hù)方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的一部分,運(yùn)用非常廣泛,研究它具有重大的電子密碼鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場合使用。大大提高了主人物資的安全性。目前使用的密碼鎖種類繁多,各具特色。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用AT89C52單機(jī),研制了一款具有防盜自動(dòng)報(bào)警功能的電子密碼鎖。該密碼鎖設(shè)計(jì)方法合理,簡單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價(jià)值。設(shè)計(jì)目的1.了解單片機(jī)開發(fā)系統(tǒng)的組成及結(jié)構(gòu);3.能夠熟練使用protues和keil軟件進(jìn)行連線和編程,并熟練掌握仿6.培養(yǎng)查找錯(cuò)誤和改正錯(cuò)誤的能力。設(shè)計(jì)要求本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路組成電子密碼控制系統(tǒng)。示“PasswordRightLockOpened!”。原始密碼在首次開鎖時(shí)為“000000”。2.重新設(shè)置密碼時(shí),LCD顯示“******”,按下“修改”鍵顯示數(shù)值。3.密碼只能輸入6位數(shù)字,無法輸入多余數(shù)字。4.具有自動(dòng)報(bào)警功能:當(dāng)密碼輸入錯(cuò)誤三次,報(bào)警,蜂鳴器響3秒。5.LED數(shù)碼管顯示密碼,為確保安全性所有密碼均用“*”表示。設(shè)計(jì)原理和硬件仿真方案設(shè)計(jì)原理和硬件仿真方案1.矩陣鍵盤密碼的輸入用矩陣鍵盤實(shí)現(xiàn),包括數(shù)字鍵和功能鍵。表一鍵盤具體功能設(shè)計(jì)表按鍵按鍵鍵名數(shù)字鍵輸入密碼新建新建鍵設(shè)定新密碼確認(rèn)確認(rèn)鍵修改修改鍵顯示密碼進(jìn)入進(jìn)入鍵允許輸入密碼消取消鍵取消輸入密碼如圖一所示,矩陣鍵盤的每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只圖一矩陣鍵盤本次設(shè)計(jì)需要0~9十個(gè)數(shù)字按鍵、一個(gè)新建鍵、一個(gè)確認(rèn)鍵、一個(gè)在這種行列式矩陣鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段,還要對按鍵進(jìn)行消抖處理。當(dāng)確認(rèn)有按鍵按下后,就要識別是哪一個(gè)按鍵被按下。本次設(shè)計(jì)使用的是線反轉(zhuǎn)法。給行線置為0x0f,給列線置為0xf0,再將行列進(jìn)行邏輯或結(jié)果為0xff,當(dāng)有按鍵按下時(shí)相應(yīng)的按鍵位行列均為0,行列邏輯或不為0xff,由此可利用行列邏輯或后的值是否為0xff來判斷是否有按鍵按下。再根據(jù)掃描結(jié)果判斷按下鍵的位置。給相應(yīng)的按鍵賦值即可實(shí)現(xiàn)數(shù)字鍵和功能鍵。對功能鍵進(jìn)行相應(yīng)的軟件編程即可實(shí)現(xiàn)按鍵功能。使用矩陣鍵盤能減少鍵盤和單片機(jī)接口所占用的I/O線數(shù)目,當(dāng)按鍵較多的時(shí)候通常采用這種方法。2.開鎖電路在本次設(shè)計(jì)中用發(fā)光二極管代替電磁鎖,二極管D1亮表示鎖開,二極管滅表示沒有開鎖。如圖二所示,當(dāng)輸入密碼與內(nèi)置密碼相配合時(shí)將。圖二發(fā)光二級管電路3.報(bào)警電路報(bào)警電路由單片機(jī)和蜂鳴器組成,如圖三所示,當(dāng)為低電平時(shí)蜂鳴器發(fā)出聲音報(bào)警。每次輸入的密碼與正確密碼進(jìn)行比較,如果相同,鎖開燈亮。如果輸入錯(cuò)誤則用一個(gè)變量來記錄輸入錯(cuò)誤的次數(shù),當(dāng)輸入密碼錯(cuò)誤達(dá)到三次時(shí),蜂鳴器工作發(fā)出報(bào)警聲音,本次設(shè)計(jì)使用的是聲音圖三報(bào)警電路4.LCD顯示電路密碼顯示電路由單片機(jī)、排阻和LCD顯示屏組成。顯示電路如圖四所示。為保證密碼的保密性,本設(shè)計(jì)采用“*”顯示所有輸入密碼,如圖四所示。當(dāng)重設(shè)密碼時(shí),按下“修改”鍵顯示數(shù)字,如圖五所示。本設(shè)軟件程序設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)由主程序、初始化程序、鍵盤掃描程序、密碼輸入報(bào)警程序、延時(shí)程序組成。如圖六所示為主程序流程圖,開始接上電源,程序進(jìn)行初始化設(shè)置,然后在鍵盤上輸入密碼,此系統(tǒng)進(jìn)行鍵盤掃描,判斷密碼是否正確,密碼正確開鎖,密碼不正確統(tǒng)計(jì)錯(cuò)誤密碼次數(shù)加1。在開鎖情況下進(jìn)行修改密碼,點(diǎn)擊確認(rèn)密碼修改成功,否則結(jié)束返回。若密碼修改成功則再執(zhí)行之前的操作。開始初始化鍵盤掃描子程輸入密碼子程序N輸入密碼Y密碼錯(cuò)誤次數(shù)Yq=3Nq=3NNYY調(diào)用報(bào)警子程YY開鎖調(diào)用延時(shí)子程調(diào)用密碼重置調(diào)用密碼重置YN圖六主程序流程圖六、系統(tǒng)調(diào)試軟件編寫電子密碼鎖的源程序,本設(shè)計(jì)主要運(yùn)用C語言編寫。源程序編當(dāng)密碼正確按下確認(rèn)鍵發(fā)光二極管亮,鎖開。如圖八圖九蜂鳴器報(bào)警圖八密碼正確鎖開燈亮當(dāng)密碼輸入錯(cuò)誤三次蜂鳴器發(fā)出聲音報(bào)警,如圖九所示由圖九可以看到蜂鳴器接地端為藍(lán)色,即此時(shí)為低電平,所以蜂鳴器正在發(fā)出報(bào)警聲音。Protues仿真電路圖如圖十所示七、設(shè)計(jì)總結(jié)與展望課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新月異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說是無處不在。因此作為二十一世紀(jì)的大學(xué)生來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。本設(shè)計(jì)經(jīng)過多次修改和整理,可以滿足基本的要求。密碼正確,鎖示屏顯示密碼為“*”。在設(shè)計(jì)的過程中遇到了各種各樣的問題,譬如說斷電密碼保護(hù)的設(shè)計(jì),由于電路和編程都過于復(fù)雜,本設(shè)計(jì)并未加入。在編程的過程中問題也是很多,由于程序較長,當(dāng)實(shí)現(xiàn)了這個(gè)功能另外一個(gè)功能有不能很好的實(shí)現(xiàn),所以要做到模塊與模塊之間的銜接。遇到的一些問題也經(jīng)過回顧此次單片機(jī)課程設(shè)計(jì),至今我仍感觸頗多。在設(shè)計(jì)過程中從理論到實(shí)踐我們可以到很多很多東西,鞏固了以前學(xué)過的知識,還懂得了如何將理論聯(lián)系實(shí)際。只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有將理論運(yùn)用到實(shí)際中對我們來說才是有意義的,這樣才能真正的為社會服務(wù)。七、附錄源程序清單:#include<>#include<>#defineucharunsignedcharstaticunsignedchartable[6]={0,0,0,0,0,0};//DeclarefunctionsucharBusy_Check();voidInitialize_LCD();voidWrite_LCD_Data(uchardat);voidWrite_LCD_Command(ucharcmd);voidDisplay_String(ucharx,uchary,uchar*str);voidDisplay_char(ucharhang,ucharlie,charsign);voidwrite_add(ucharaddress,uchardate);//向AT24Cxx中的指定地址寫入數(shù)據(jù)ucharread_add(ucharaddress);//從AT24Cxx中的指定地址讀取數(shù)據(jù)voidinit();ucharh=20;sbittouch=P2^1;sbittouch1=P2^2;sbitspeaker=P2^0;voiddelay(unsignedcharms)//延時(shí)**ms{unsignedchari;while(ms--){for(i=250;i>0;i--){}}}unsignedcharkeyscan()//掃描鍵盤{unsignedchartemp,y,j;unsignedcharanjian[]={0xfe,0xfd,0xfb,0xf7};for(y=0;y<4;y++){P1=anjian[y];temp=0x10;for(j=0;j<4;j++){if(!(P1&temp)){return(j+y*4);}}}}voidjudge(){P1=0xf0;if(P1!=0xf0){delay(50);delay(50);if(P1!=0xf0){h=keyscan();}}}//判斷是否有按鍵//消抖voidmain(){unsignedchara=1,i=0,k=0,l=1,m=1,n,f=0,s=0;intq;Initialize_LCD();Display_String(1,1,"WelcomeToUse");Display_String(2,1,"");touch1=0;while(1){judge();ifh){if(h==table[i])k++;Display_String(2,a,"*");a++;ifa7)a=1;ifi6)h=16;}}if(h==14){Display_String(1,1,"InputPassword");Display_String(2,1,"");h=16;touch=1;touch1=0;k=0;q0;}if(h==12){ifk6){Display_String(1,1,"PasswordRight");Display_String(2,1,"LockOpened!");touch=~touch;{Display_String(1,1,"PasswordError");Display_String(2,1,"");q++;while(q==3){speaker=0;delay(200);delay(200);delay(200);speaker=1;q;}h=14;}delay(255);k=0;h=16;while(l){judge();if(h==11){Display_String(1,1,"NewCode");Display_String(2,1,"while(m==1){judge();touch1=~touch1;ifh0){table[n]=h;write_add(s,h);Display_String(2,a,"*");a++;n++;h=16;ifn{n=0;}}if(h==15){ifn0)n=6;Display_String(2,a,"h=16;}if(h==13)m=0;}if(h==13)h=13;f;}if(h==14){}if(h==13){Display_String(2,1,"for(n=0;n<6;n++)Display_char(2,n+1,(uchar)(table[n]+48));h=13;l=0;f=1;}k=0;}}if(h==15){Display_String(2,a,"");h=16;}if(h==13){for(n=0;n<6;n++)Displ
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財(cái)經(jīng)大學(xué)《創(chuàng)業(yè)團(tuán)隊(duì)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年甘肅省建筑安全員C證考試題庫
- 2025年河南省安全員《C證》考試題庫
- 貴陽學(xué)院《山水寫生》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州應(yīng)用科技學(xué)院《游戲制作與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《建筑力學(xué)(上)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025四川省安全員-C證考試(專職安全員)題庫附答案
- 2025云南省建筑安全員《C證》考試題庫及答案
- 6.4.2向量在物理中的應(yīng)用舉例【超級課堂】2022-2023學(xué)年高一數(shù)學(xué)教材配套教學(xué)精-品課件+分層練習(xí)人教A版2019必修第二冊
- 材料力學(xué)課件-動(dòng)載荷
- 2021年推進(jìn)婦幼健康領(lǐng)域中醫(yī)藥工作總結(jié)
- 綠化苗木組織供應(yīng)及售后服務(wù)方案
- 盤拉機(jī)操作手冊新
- YY∕T 0314-2021 一次性使用人體靜脈血樣采集容器
- 第五章_油樣分析
- 期中考試質(zhì)量分析PPT.ppt
- 儲罐受限空間作業(yè)方案DOC
- 壓力容器耐壓試驗(yàn)
- 課程設(shè)計(jì)---年產(chǎn)5.6萬噸乙醇精餾塔的設(shè)計(jì)
- 冷軋輥激光毛化工藝簡介
- 《工程勘察設(shè)計(jì)收費(fèi)管理規(guī)定》計(jì)價(jià)格【2002】10號
評論
0/150
提交評論