![基于5單片機的動態(tài)密碼鎖設計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/5/8da44ade-cd8a-4dec-8efa-fbd0b27e3f13/8da44ade-cd8a-4dec-8efa-fbd0b27e3f131.gif)
![基于5單片機的動態(tài)密碼鎖設計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/5/8da44ade-cd8a-4dec-8efa-fbd0b27e3f13/8da44ade-cd8a-4dec-8efa-fbd0b27e3f132.gif)
![基于5單片機的動態(tài)密碼鎖設計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/5/8da44ade-cd8a-4dec-8efa-fbd0b27e3f13/8da44ade-cd8a-4dec-8efa-fbd0b27e3f133.gif)
![基于5單片機的動態(tài)密碼鎖設計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/5/8da44ade-cd8a-4dec-8efa-fbd0b27e3f13/8da44ade-cd8a-4dec-8efa-fbd0b27e3f134.gif)
![基于5單片機的動態(tài)密碼鎖設計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/5/8da44ade-cd8a-4dec-8efa-fbd0b27e3f13/8da44ade-cd8a-4dec-8efa-fbd0b27e3f135.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于51單片機的動態(tài)密碼鎖設計摘要:本系統(tǒng)是運用STC89C52單片機為控制核心設計出一個安全系數更加強大的時鐘密碼鎖。如今我們用的電子密碼鎖大多數是固定的密碼,用戶可以設置密碼,但這樣設置的密碼是固定的,除非你不停的對它修改。這樣的密碼鎖保密性相對較差,因為如果在你輸密碼的時候密碼被人剽竊啦,你的密碼鎖就如同虛設了。而本項目所研究的時間密碼鎖將會幫你完全克服這種問題,當你在輸密碼的時候,即使被人看到了密碼也毫無關系,因為密碼是隨時間時刻變化的!讓我們做到“輸自己的密碼,讓別人去看吧”。關鍵詞:時間密碼鎖;單片機;動態(tài)密碼Abstract: This system is used STC89C
2、52 designed a safety coefficient more powerful clock combination lock. Now we use electronic combination lock most is fixed password, users can set their favorite password, but this password is fixed, unless you keep to fix it. This combination lock secrecy, because if relatively poor in when you lo
3、se passwords password to be there, you plagiarized the combination lock as brittle. But this project research time combination lock will help you overcome this problem, when you lose passwords, even if be people saw no relationship, because password also password is over time and ever-changing! Let
4、you do "lose their password, let others go for it".Key word:Time combination passwordlock; Single chip madine; Dynamic password.1.方案設計1.1理論分析本項目的設計思路是:將時間模塊運用到密碼鎖上,將時間和密碼組合起來產生一個新的密碼,因為時間是變化的,所以密碼也是不停變化的,這樣設計出來的密碼鎖保密性將會更強。比如現(xiàn)在時間是:2011年3月20日11:23:46調用時間時我們不能簡單的固定調用哪幾個時間參數,為加強保密性我們還需多設置幾個時間的
5、模式給用戶選擇,比如:A時分模式B分時模式 C日分模式 D分日模式 等給大家選擇(這里只是簡單的列舉列了幾個模式,還有很多模式可以選擇在這里就不一一列舉了)。時間模式的作用是在于調用時間參數,比如時分模式的意思就是調用時間的時位和分位組成一個四位數。除此之外另外使用者還可以自己設一個密碼參數如:密碼參數:1 2 3 4設置了密碼參數和時間調用模式,怎么將選取的時間數據和密碼參數結合起來呢,一種最為簡單而有效地方法就是把兩組數據加起來。但為彰顯人性化設計,我們不能簡單的將兩組數據相加在一起,因為這里牽涉到了四位數的計算,需要考慮計算過程中的進位,這樣的計算不僅耗費時間,而且對一些計算水平不好的人
6、來說更是不人性啦,因此我們設計在加數據的時候不需要考慮進位。比如 3+9=12,在這里我們將設置為3+9=2。大大的減少了計算量,使使用者在使用時更加方便,人性化。舉個例子:比如現(xiàn)在使用者在設置密碼的時候選擇 “ B分時模式”,再設置一個密碼參數為:“1 2 3 4” 時間就是以上時間“2011年3月20日11:23:46”。那么生成的密碼就為“2311+1234”為“3 5 4 5”啦,這樣生成的密碼在下一分鐘就會變化,即使被別人看到密碼啦也沒關系啦,即使看到密碼的人知道你是用的時間密碼鎖,但不知道你所選的時間選擇模式和密碼參數也是無濟于事的!為防止別人試探你的密碼,我們設計了當三次輸入密碼
7、錯誤時鍵盤就會鎖定并發(fā)出報警聲。以上就是本項目時間密碼鎖的理論部分。1.2芯片選擇及理由主控芯片:采用STC89C52單片機,該芯片易控制,價格低廉,且已完全能夠達到設計需求。指令處理:采用TTL集成邏輯門芯片74LS00與非門。通過與非門對輸入的兩路(紅外探測,密碼輸入)外部信號進行處理。達到平行控制電磁鎖的開關的效果。實時時鐘:采用DS1302時鐘芯片,這種芯片具有一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、時、分、秒進行計時,具有閏年補償功能。主要特點是采用串行數據傳輸,可以為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。采用普通32.768Hz晶振。紅外探
8、測:采用LM339芯片, LM339電壓比較器芯片內部裝有四個獨立的電壓比較器,利用LM339可以方便的組成各種電壓比較器電路和振蕩器電路。2系統(tǒng)實現(xiàn)2.1硬件設計2.11系統(tǒng)框圖STC89C52單片機 主控制器12864LCD液晶顯示矩陣鍵盤DS1302時鐘模塊繼電器控制電磁鐵開鎖紅外檢測人體接近電源供電 圖2.1系統(tǒng)框圖2.1.2功能模塊設計(1)時鐘模塊圖2.2時鐘模塊電路 上圖為DS1302時鐘芯片和單片機的連接圖,其中DS1302芯片工作本身就需要一個外部晶振,通常為32.768kHz。DS1302芯片的第5、6、7腳接單片機,其中第6腳為數據傳輸口,數據傳輸量比較大,易產生干擾,所
9、以我們接一個10K的上拉電阻來保持它的穩(wěn)定性。(2)12854液晶模塊圖2.3液晶顯示電路本系統(tǒng)采用12864LCD液晶顯示,我們將編好了的控制程序寫入單片機后,通過單片機控制液晶屏,液晶屏會進行時間的實時顯示,和密碼輸入提示。提供密碼重設,等附加顯示功能,并且配合外設的矩陣鍵盤使用。(3)矩陣鍵盤 圖2.4矩陣鍵盤電路為了提供時間的設定和密碼輸入功能,我們采用4×4的矩陣鍵盤(matrix keyboard)來控制實現(xiàn)。有10個09數字、確認鍵、返回鍵、左移鍵和右移鍵。通過主控芯片單片機驅動矩陣鍵盤,并配合著12864液晶屏的使用。做到了即時輸入即時顯示。這些功能鍵已經完全可以滿足
10、整個系統(tǒng)的功能實現(xiàn)。(4)紅外對管探測人體接近電路 圖2.5紅外對管電路 考慮到本項目所設計的時間密碼鎖會用在房間的門上,所以單獨為其設計了一套紅外探測自動開門系統(tǒng),將這套系統(tǒng)和時間密碼鎖配合使用,使其在實際使用中更加人性化。將這套紅外探測系統(tǒng)安裝在門的靠房間的一面,當房屋里的人要出去時只要他靠近門達到紅外探測距離,門就會自動開,使其更加人性化。(5)門控制電路圖2.6門控制電路此模塊是由輸入指令信號處理電路,繼電器(electric relay)驅動電路和開關門電路三部分組成。其中指令信號包括紅外探測信號,及從單片機的I/O口發(fā)出的控制信號。當門外有人輸入密碼正確時單片機就會給一路信號驅動繼
11、電器來控制開門。當門內有人要出去是,紅外探測同樣就會發(fā)出信號開門。這兩路信號有通過與非門進行處理,使其能夠并行控制開鎖電路。實際操作調試中,運用12V的電磁鐵作為鎖芯,測試效果理想。(6)電源電路 圖2.7電源電路主要使用的是L7805穩(wěn)壓芯片,我們購買的蓄電池輸出的12V電壓,而我們設計的電路大部分都只需要5V的供電電壓,如主控模塊,單片機5V供電,繼電器驅動模塊5V供電,紅外探測模塊,5V供電,各個芯片的工作電壓也都是5V的。因此利用穩(wěn)壓電路進行穩(wěn)壓,從而對各個模塊的正常工作進行供電意義重大。實際測試中,我們用萬用表經過多次測量,輸出的電壓為5V+0.2V。符合設計標準。2.2 軟件設計2
12、.21軟件流程圖開始初始化系統(tǒng)歡迎界面界面1請求密碼輸入密碼輸入是否正確NY界面2任 務 選 擇選擇任務1界面3開 門選擇任務2界面4修 改 時 間選擇任務3界面5修 改 密 碼YYYNNN圖2.8軟件流程圖2.22作品部分源程序(1)界面函數因本作品涉及到12864的多界面切換顯示,所以在編程過程中我們把每個界面單獨編成一個子函數然后在主函數中循環(huán)調用。以下是各個界面子函數程序:void welcome()/*歡迎界面*/uchar i;i=0;lcdpos(3,1);while(welcome1i!='0')wdata(welcome1i);delay(100);i+;i=
13、0;lcdpos(2,2);while(welcome2i!='0')wdata(welcome2i);delay(100);i+;i=0;lcdpos(3,3);while(welcome3i!='0')wdata(welcome3i);delay(100);i+;i=0;lcdpos(2,4);while(welcome4i!='0')wdata(welcome4i);delay(100);i+;lcdpos(9,4);/消光標uchar interface1()/*界面1,首界面,請求輸入密碼*/uchar a;uchar key=0;uc
14、har i=0;uchar identify=0;/返回標識uchar mima4;wcom(0x01);/清屏lcdpos(1,3);i=0;while(table3i!='0')wdata(table3i);i+;lcdpos(2,4);for(i=0;i<4;)lcdpos(1,1);timeshow(); /顯示時間a=keyscan();/鍵盤掃描if(a=12)/返回鍵設置i=4;key=2;identify=1;/返回標識設定if(a<=9&&a>=0)lcdpos(2+i,4);wdata('*');mimai=
15、a;i+;if(identify=0)/沒有返回鍵按下,執(zhí)行密碼判斷語句xuanze();/判定密碼模式if(mima0=deal(codon0,time0)/if(mima1=deal(codon1,time1) / 密碼判斷if(mima2=deal(codon2,time2)/if(mima3=deal(codon3,time3)/key=1;return(key);uchar interface2()/*界面2密碼正確,選擇選項*/uchar temp;uchar i;wcom(0x01);i=0;lcdpos(1,1);while(table4i!='0')wdata
16、(table4i);i+;i=0;lcdpos(1,2);while(table5i!='0')wdata(table5i);i+;i=0;lcdpos(1,3);while(table6i!='0')wdata(table6i);i+;lcdpos(9,4);temp=keyscan();while(temp!=1&&temp!=2&&temp!=3&&temp!=12)/各選項及返回鍵選擇temp=keyscan();return(temp);void interface3()/*界面3開門*/uchar i;
17、i=0;lcdpos(3,2);while(table7i!='0')wdata(table7i);i+;lcdpos(9,4);open=0; /開繼電器delay(5000); /開門延遲open=1;void t_change();/申明時間修改初始化函數void interface4()/*界面4時間修改界面*/ uchar tim6; uchar a; uchar c,d; uchar i=0,j,k; t_change(); a=keyscan(); lcdpos(2,2); while(a!=11&&a!=12)/確定、返回鍵判斷 a=keysca
18、n(); if(a=10)wcom(0x10);if(a=15)wcom(0x14); if(a>=0&&a<=9) wdata(tablea); i+; if(i=2) wcom(0x14);i=0; if(a=11)/確定鍵執(zhí)行修改 ;返回鍵跳過修改 lcdpos(4,2); i=rdata();/在12854中讀數據 j=rdata();/在12854中讀數據 k=rdata();/在12854中讀數據 c=j-0x30; d=k-0x30; tim1=c*16+d; lcdpos(6,2); i=rdata(); j=rdata(); k=rdata();
19、c=j-0x30; d=k-0x30; tim2=c*16+d; lcdpos(2,4); i=rdata(); j=rdata(); k=rdata(); c=j-0x30; d=k-0x30; tim3=c*16+d; lcdpos(4,4); i=rdata(); j=rdata(); k=rdata(); c=j-0x30; d=k-0x30; tim4=c*16+d; lcdpos(6,4); i=rdata(); j=rdata(); k=rdata(); c=j-0x30; d=k-0x30; tim5=c*16+d; write_ds(0x8e,0x00); write_ds(
20、0x80,tim5); write_ds(0x82,tim4); write_ds(0x84,tim3); write_ds(0x86,tim2); write_ds(0x88,tim1); write_ds(0x8e,0x80);uchar interface5()/*界面5,密碼修改*/uchar i;uchar a;uchar identify=0;i=0;lcdpos(1,1);while(table11i!='0')wdata(table11i);i+;i=0;lcdpos(1,2);while(table13i!='0')wdata(table13i
21、);i+;i=0;lcdpos(1,3);while(table14i!='0')wdata(table14i);i+;i=0;lcdpos(1,4);while(table12i!='0')wdata(table12i);i+;lcdpos(7,1);a=keyscan();while(a!=1&&a!=2&&a!=3&&a!=4&&a!=12)/修改密碼模式if(a!=12) a=keyscan();mimams=a;if(a=12)identify=1; if(identify!=1)wdata(tablemimams);lcdpos(6,4);for(i=0;i<4;) /修改密碼參數a=keyscan();if(0<=a&&a<=9)wdata(tab
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圣誕禮品盒行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 親子餐廳合同范本
- 冷庫隔間合同范本
- 中國智能交通市場競爭格局分析及投資方向研究報告
- 低壓配電設施維護合同范本
- 分揀合同范本
- 模具項目風險分析和評估報告
- 2025年不銹板剪切件項目可行性研究報告
- “十三五”重點項目-化學礦項目節(jié)能評估報告(節(jié)能專)
- 兼職監(jiān)控施工合同范例
- 2025年酒店總經理崗位職責與薪酬協(xié)議
- 綠色能源項目融資計劃書范文
- 大樹扶正施工方案
- 2024年全國職業(yè)院校技能大賽中職組(母嬰照護賽項)考試題庫(含答案)
- 課題申報參考:全齡友好視角下的社區(qū)語言景觀評估及空間優(yōu)化研究
- 五年級下冊語文四大名著常考知識點
- 2024年上海普陀區(qū)司法局招聘人民調解員考試真題
- 光伏發(fā)電項目施工組織設計方案及技術措施
- 2024年同等學力人員申請碩士學位英語試卷與參考答案
- 小學一年級數學20以內的口算題(可直接打印A4)
- 自動化設備技術合作協(xié)議書范文
評論
0/150
提交評論