![課程設(shè)計---實用密碼鎖設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/bdb7b0a6-ca71-46b7-b206-19c9f40439ae/bdb7b0a6-ca71-46b7-b206-19c9f40439ae1.gif)
![課程設(shè)計---實用密碼鎖設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/bdb7b0a6-ca71-46b7-b206-19c9f40439ae/bdb7b0a6-ca71-46b7-b206-19c9f40439ae2.gif)
![課程設(shè)計---實用密碼鎖設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/bdb7b0a6-ca71-46b7-b206-19c9f40439ae/bdb7b0a6-ca71-46b7-b206-19c9f40439ae3.gif)
![課程設(shè)計---實用密碼鎖設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/bdb7b0a6-ca71-46b7-b206-19c9f40439ae/bdb7b0a6-ca71-46b7-b206-19c9f40439ae4.gif)
![課程設(shè)計---實用密碼鎖設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/24/bdb7b0a6-ca71-46b7-b206-19c9f40439ae/bdb7b0a6-ca71-46b7-b206-19c9f40439ae5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、. 廣西民大課程設(shè)計報告 題目:實用密碼鎖設(shè)計 班級:10電子信息工程 學(xué)號:110263010 姓名: 指導(dǎo)老師:李 起始日期:2013.2.282012.3.15一、系統(tǒng)功能1、使用4X4矩陣鍵盤作為密碼的輸入方法,輸入6位數(shù)字密碼,密碼對則聲光顯示正確并驅(qū)動繼電器導(dǎo)通吸合3秒,密碼錯誤則給三次機(jī)會,每次錯誤都給出聲光提示,三次都錯的,封鎖鍵盤1分鐘,防止密碼惡意猜測。2、輸入密碼期間允許刪除輸錯的密碼。輸入完6位密碼就自動比對。3、允許用戶通過特殊的按鍵方式(輸入6位的超級密碼)進(jìn)入系統(tǒng)設(shè)置狀態(tài),修改密碼鎖的密碼和封鎖鍵盤時間,并能斷電保存。4、鍵盤被按下30秒內(nèi)沒有進(jìn)一步操作的,應(yīng)該退
2、回初始等待輸入密碼狀態(tài)。二、硬件設(shè)計1、系統(tǒng)構(gòu)成框圖 4x4鍵盤輸入密碼,LCD1602 顯示輸入的數(shù)值,在從AT24C02調(diào)出原始密碼,然后與4x4矩陣鍵盤輸入的數(shù)比較,相同而且在規(guī)定次數(shù)之內(nèi)則驅(qū)動繼電器,不然蜂鳴器報警。密碼輸入正確后若再次輸入一系列的數(shù)字(超級密碼),與超級密碼相同,則可以修改密碼或鎖鍵盤的時間,新密碼和鎖鍵盤的時間存入AT24C02中。 若輸入密碼錯誤超過3次,或輸入新密碼不相同3次,蜂鳴器報警。1234 56789取消0確定 4x4鍵盤的按鍵分布 硬件電路圖單片機(jī)的P0.0P0.7接LCD液晶顯示屏 P1.0P1.7接4X4矩陣鍵盤的8個口 P2.0接蜂鳴器,P2.1
3、接繼電器,P2.2接24C02-SDA ,P2.3接24C02-SCL P2.6 接LCD-RS ,P2.7接LCD-EN,一個蜂鳴器功能是當(dāng)用戶輸入密碼錯誤的次數(shù)超過了3次,鳴笛以示報警。AT24C02是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝。 三、軟件設(shè)計主程序 初始化 從24c02調(diào)密碼 掃描鍵盤 狀態(tài)0 Y 待機(jī)狀態(tài)函數(shù) zt=0? N 狀態(tài)1 Y 密碼輸入處理函數(shù) zt=1? N 狀態(tài)2 Y 密碼修改函數(shù)
4、 zt=2? N 狀態(tài)3 Y 鎖鍵盤處理函數(shù) zt=3? N 掃描鍵盤,看是否有鍵按下,沒有鍵按下,處于待機(jī)狀態(tài),通過判斷變量zt的數(shù)值來決定調(diào)用哪個函數(shù)。在待機(jī)狀態(tài)時,如果有鍵按下,變量xiugai=0,則為狀態(tài)1;如果有鍵按下,變量tong=1,則為狀態(tài)2;密碼輸入處理函數(shù) 密碼比較 N 密碼正確 N 錯誤次數(shù)>3? Y 報警且鎖 鍵盤zt=3Y 比較與 超級密碼 開鎖函數(shù) 與超級密碼 N 比較正確? 修改密碼或時 時 zt=2 返回 輸入密碼且在輸入次數(shù)內(nèi)密碼正確則開鎖,如果密碼錯誤超過3次,則鎖鍵盤1分鐘且報警zt=3如果輸入密碼正確后,再次輸入一系列的數(shù)與超級密碼比較,相同則可
5、以修改密碼或時間密碼修改函數(shù) (new=1) 輸入兩次新密碼 N Y密碼相同? N 不同次數(shù)>3? 報警且鎖 鍵盤zt=3 存入24c02中返回輸入兩次新密碼,然后比較,看是否相同,相同則存入24c02中,如果不同,可以再次輸入要修改的新密碼;如果輸入兩次新密碼不相同的次數(shù)超過了3次則報警鎖鍵盤 zt=3時間修改函數(shù)(new=3) 輸入調(diào)整鎖鍵盤的時間存入24c02中返回輸入鎖鍵盤的時間,然后按下確定鍵,存入24c02中。4、 總結(jié)在課程設(shè)計的過程中,沒有很好的完成老師的基本要求,在修改新密碼中,在輸入第六位密碼時,想刪掉時,刪到了第一位的密碼去了,是因為數(shù)組指針在第六位時,指針指向第一
6、位了,到現(xiàn)在為止,沒有想出方法解決。硬件知識得到了鞏固,許多模糊的知識也漸漸的清晰了。附錄源程序:#include<reg52.h>#include <1602lcd.c> #include<4x4key.c>#include<24C02.c>#include<show.c>sbit relay=P21;sbit beepp=P20;unsigned char password=0,0,0,0,0,0; /存入原始密碼unsigned char super1=6,5,4,3,2,1; /修改密碼的超級密碼unsigned char s
7、uper2=1,1,1,1,1,1; /修改時間的超級密碼unsigned char passwordtest=0,0,0,0,0,0 ; / 存輸入時的數(shù)值unsigned char newone=0,0,0,0,0,0 ; /存第一次輸入的新密碼unsigned char newtwo=0,0,0,0,0,0 ; /存第二次輸入的新密碼unsigned int fen=0,0,0; / 存鎖鍵盤的時間unsigned char xiugai=0; /區(qū)分是zt=1,還是zt=2unsigned char tong=0;unsigned char chang=0; /區(qū)分輸入密碼是初始密碼
8、還是超級密碼unsigned char new=0; /控制在修改密碼時,是第一次輸入密碼,還是第二 /次輸入密碼,還是修改鎖鍵盤的時間unsigned char errotime=0; /密碼輸入錯誤的次數(shù)unsigned char erronew=0; /重新輸入新密碼,2次新密碼不相同的次數(shù)unsigned int xms; /鎖鍵盤的時間的變量unsigned char zt=0; unsigned char q=0; /第一次輸入的新密碼時的指針變量unsigned char p=0; /第二次輸入的新密碼時的指針變量unsigned char i=0;unsigned char n
9、=0;unsigned int s=0; /定時所用的變量/*void daiji(); /先聲明待機(jī)狀態(tài)函數(shù)void mima_shuru();/先聲明密碼輸入處理函數(shù)void mima_suop();/先聲明鎖鍵盤處理函數(shù)void mima_xiugai();/先聲明密碼修改函數(shù)void clok_key(uint xms) ; /延時子函數(shù) xms=1時ms=10s void set_passw(); /設(shè)置新密碼和鎖鍵盤的時間void new_cmp(); /兩次新密碼比較void psw_cmp(); /輸入密碼比較void sure_time(); /確定調(diào)整時間void tiao
10、_shi();/ 設(shè)置調(diào)整時間void sound_bao(); /報警聲void erro_sound(); /密碼錯誤,提醒聲光void open_relay(); /開繼電器/*/-主函數(shù)-void main(void) unsigned char z=0; unsigned char zz=0; EA=1; ET0=1; TMOD=0x01;TH0=0x4c;TL0=0x00;TR0=1;/write_add_24c02(1,9);/delay_lcd(100); /write_add_24c02(2,9);/delay_lcd(100); /write_add_24c02(3,9);
11、/delay_lcd(100); /write_add_24c02(4,9);/delay_lcd(100); /write_add_24c02(5,9);/delay_lcd(100); /write_add_24c02(6,9);/delay_lcd(100);/write_add_24c02(7,60); / delay_lcd(100); lcd_int(); lcd_write_com(0x01); lcd_locate(1,1); lcd_string("welcom!"); lcd_locate(2,1); lcd_string("2013 3 15
12、"); delay_lcd(10000); for(z=0;z<6;z+) /調(diào)用24c02中的密碼 到password passwordz=read_add_24c02(z+1); delay_lcd(100); xms=read_add_24c02(2);while(1) key=88; key_4x4_scan(); if(key!=88) s=0;if(zt=0) daiji(); /待機(jī)狀態(tài)函數(shù) if(zt=1) mima_shuru();/密碼輸入處理函數(shù)if(zt=2) mima_xiugai(); /密碼修改處理函數(shù)if(zt=3) mima_suop(); /
13、鎖屏處理函數(shù)/*/-待機(jī)狀態(tài)函數(shù)-void daiji()if(key=88) zt=0;wait_zt(); if(key!=88&&xiugai=0) zt=1; if(key!=88&&tong=1) zt=2;/-密碼輸入處理函數(shù)-void mima_shuru()if(key>=0&&key<=9) if(i=0) disp_input(); if(i<6) passwordtesti=key;disp_pw();i+; if(i=6) psw_cmp(); /等于6位 自動比較 if(key=11) i-;disp_
14、delete();/-密碼比對處理函數(shù)-void mima_xiugai()if(key>=0&&key<=9) set_passw(); if(key=11) q-; if(new=1) disp_one(); if(new=2) disp_two(); if(key=10) if(new=2) new_cmp(); /兩次新密碼比較 if(new=3) sure_time();/ 確定調(diào)整時間 /-=-鎖屏處理函數(shù)-void mima_suop() sound_bao(); errotime=0;xiugai=0;tong=0; TR0=0; disp_clok
15、(); clok_key(xms); disp_open(); TR0=1; zt=0;/*/-輸入密碼比較-void psw_cmp()unsigned char j,m; bit true=1;bit sure1=1;bit sure2=1; for(j=0;j<6;j+) true=true&&(passwordj=passwordtestj); if(true=1) errotime=0;chang=1;zt=0;i=0;disp_cmp();open_relay();if(true=0) i=0;zt=0; errotime+;disp_erro();erro_
16、sound(); if(errotime=3) zt=3; /錯誤超過3次 if(chang=1) for(m=0;m<6;m+) sure1=sure1&&(passwordtestm=super1m);/判斷超級密碼for(m=0;m<6;m+) sure2=sure2&&(passwordtestm=super2m);/判斷超級密碼if(sure1=1) new=1;errotime=0;zt=2; xiugai=1;tong=1;chang=0;key=88;disp_super();/ 是超級密碼 / zt=2if(sure2=1) new
17、=3;errotime=0;zt=2; xiugai=1;tong=1;chang=0;key=88;disp_super();/ 是超級密碼 /zt=2if(sure1=0&&sure2=0) chang=0;/-erro_sound()密碼輸入錯誤時發(fā)出聲音提醒-void erro_sound()unsigned char nn=0; for(nn=0;nn<5;nn+) beepp=0;P0=0x00;delay_lcd(1000);beepp=1;P0=0xff; /-開和關(guān)繼電器-void open_relay() relay=0;delay_lcd(3000)
18、;relay=1;/-設(shè)置新密碼和鎖鍵盤的時間-void set_passw() if(new=1) /第一次輸入密碼 if(q=0) lcd_write_com(0x01);lcd_locate(1,1);lcd_string("one:");delay_lcd(9000); if(key!=88) if(q<6) newoneq=key;disp_psone();q+; if(q=6) new=2;key=88;q=0; if(new=2) /第二次輸入密碼 lcd_locate(2,1);lcd_string("two:"); if(key!
19、=88) if(p<6) newtwoq=key;disp_pstwo();q+; if(p=6) key=88;q=0; if(new=3) /輸入調(diào)整時間 if(key!=88)zt=2;tiao_shi();/-兩次新密碼比較-void new_cmp()unsigned char same=1,t=0,p=0; q=0;p=0; for(t=0;t<6;t+) same=same&&(newonet=newtwot ); if(same=0) new=1;zt=2;xiugai=1;tong=1;erronew+; /兩次密碼比較錯誤 次數(shù)加1 disp_c
20、mperro(); if(erronew=3) zt=3;xiugai=0;tong=0; disp_changerro();/新密碼輸入3次都不能相同,則返回 /zt=0 if(same=1) new=0;zt=0;xiugai=0;tong=0;disp_cmpsame(); for(p=0;p<6;p+)/相同,則存入數(shù)組中和24c02中 passwordp=newonep; write_add_24c02(p+1,newonep); delay_lcd(100); /-調(diào)整-鎖鍵盤的時間-void tiao_shi() if(i=0) lcd_write_com(0x01); lcd_locate(1,1); lcd_string("tiao shi:"); delay_lcd(7000); if(i<3) feni=key;i+;lcd_locate(2,i+1);lc
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保產(chǎn)業(yè)園區(qū)規(guī)劃設(shè)計咨詢合同
- 貴州2024年貴州省重點產(chǎn)業(yè)人才蓄水池崗位專項簡化程序招聘17人筆試歷年參考題庫附帶答案詳解
- 衡陽2025年湖南衡陽市市直衛(wèi)健系統(tǒng)人才引進(jìn)177人筆試歷年參考題庫附帶答案詳解
- 鹽城江蘇鹽城市教育局招錄政府購買服務(wù)用工人員筆試歷年參考題庫附帶答案詳解
- 梧州2025年廣西梧州市公安局招聘輔警274人筆試歷年參考題庫附帶答案詳解
- 2025年中國天然生漆市場調(diào)查研究報告
- 2025年中國內(nèi)飾件市場調(diào)查研究報告
- 2025至2031年中國高光澤丙烯酸外墻涂料行業(yè)投資前景及策略咨詢研究報告
- 2025年舞廳效果燈項目可行性研究報告
- 2025至2031年中國羽絨衫行業(yè)投資前景及策略咨詢研究報告
- 2023年中國農(nóng)業(yè)銀行應(yīng)急預(yù)案大全
- 低壓電工考試題庫(含答案)
- 邊坡抗滑樁計算
- 【新版本】華為 H12-711 V4.0 HCIA-Security 認(rèn)證華為安全題庫(含答案)
- 村衛(wèi)生室2023年度績效考核評分細(xì)則(基本公共衛(wèi)生服務(wù))
- 關(guān)聯(lián)公司合作合同
- 2022人臉識別安全白皮書
- 【建模教程】-地質(zhì)統(tǒng)計學(xué)礦體建模簡明教材
- DB23T 2656-2020樺樹液采集技術(shù)規(guī)程
- 重源煤礦 礦業(yè)權(quán)價款計算書
- PSM工藝安全管理
評論
0/150
提交評論