版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄摘要…………………31設計目的……………………42設計要求…………………….53設計內容…………………….63.1、具體硬件電路設計…………….63.1.1、鍵盤輸入模塊設………………63.1.2、單片機最小系統(tǒng)設計…………73.1.3、LCD顯示模塊設計……………73.1.4、聲光報警模塊設計……………73.2、軟件設計……………83.2.1、主程序流程圖…………………93.2.2、LCD顯示模塊流程圖…………10總結與致謝……………………11參考文獻………………………12附錄………………………..13摘要隨著科技和人們的生活水平的提高,如何實現家庭防盜這一問題也變的尤其的突出,傳統(tǒng)機械鎖由于構造簡單,被撬事件屢見不鮮;電子密碼鎖在日常生活中的作用越來越明顯。本電子密碼鎖是基于單片機的設計,主要劃分為四大模塊,由單片機最小系統(tǒng)、矩陣鍵盤、LCD顯示、聲光報警模塊等組成。單片機最小系統(tǒng)的主要功能是對外部輸入的數據進行處理,顯示電路將所要操作的步驟顯示出來,指導用戶使用,報警電路是對輸入錯誤密碼時的警告報警。系統(tǒng)能完成開鎖、密碼輸入錯誤報警、密碼刪除、密碼修改等基本功能。電子鎖由于其保密性高,使用靈活性好,安全系數高,受到了廣大用戶的青睞。本設計以單片機AT89C51作為密碼鎖監(jiān)控裝置的檢測和控制核心,分為主機控制和從本設計以單片機AT89C51作為密碼鎖監(jiān)控裝置的檢測和控制核心,分為主機控制和從機執(zhí)行機構,實現鑰匙信息在主機上的初步認證注冊、密碼信息的加密、鑰匙丟失報廢等功能。根據51單片機之間的串行通信原理,這便于對密碼信息的隨機加密和保護。而且采用鍵盤輸入的電子密碼鎖具有較高的優(yōu)勢。采用數字信號編碼和二次調制方式,不僅可以實現多路信息的控制,提高信號傳輸的抗干擾性,減少錯誤動作,而且功率消耗低;反應速度快、傳輸效率高、工作穩(wěn)定可靠等。軟件設計采用自上而下的模塊化設計思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強系統(tǒng)的可擴展性和運行的穩(wěn)定性。測試結果表明,本系統(tǒng)各項功能已達到本設計的所有要求。關鍵詞:解鎖;單片機;LCD顯示;報警1設計目的隨著電子技術和計算機技術的飛速發(fā)展,單片機性能不斷完善,性能價格比顯著提高,技術日趨完善。由于單片機具有體積小、重量輕、價格便宜、功耗低、控制功能強及運算速度快等特點,因而在國民經濟建設、軍事及家用電器等各個領域均得到了廣泛的應用。本設計利用單片機及附加電子元器件實現數據采集和控制算法,來完成某一實際功能,檢驗并提高同學對整體電路設計和把握能力,了解單片機系統(tǒng)設計流程,以及電路板的實際制作和調試能力。同時也加強對數字電路、單片機和微機原理等課程知識的實際應用能力,也為同類產品的進一步發(fā)展奠定理論和實踐基礎。隨著人們生活水平的提高和安全意識的加強,對安全的要求也就越來越高。鎖自古以來就是把守護門的鐵將軍,人們對它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長期以來研制的主題。隨著電子技術的發(fā)展,各類電子產品應運而生,電子密碼鎖就是其中之一。據有關資料介紹,電子密碼鎖的研究從20世紀30年代就開始了,在一些特殊場所早就有所應用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實用的還是按鍵式電子密碼鎖。20世紀80年代后,隨著電子鎖專用集成電路的出現,電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進展。在我國電子鎖整體水平尚處于國際七十年代左右,電子密碼鎖的成本還很高,市場上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進國際先進水平,現國內有幾個廠生產供應市場。但國內自行研制開發(fā)的電子鎖,其市場結構尚未形成,應用還不廣泛。國內的不少企業(yè)也引進了世界上先進的技術,發(fā)展前景非??捎^。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應用。2設計要求1、總共可以設置8位密碼,每位密碼值范圍為1~8.2、用戶可以自行設定和修改密碼。3、按每個密碼鍵時都有聲音提示。4、若鍵入的8位開鎖密碼不完全正確,則報警5s,以提醒他人注意。5、開鎖密碼連續(xù)錯3次要報警1分鐘,報警期間輸入密碼無效,以防竊賊多次試探密碼。6、鍵入的8位開鎖密碼完全正確才能開鎖,開鎖時要有1s的提示音。7、電磁鎖的電磁線圈每次通電5s,然后恢復初態(tài)。8、密碼設定完畢后要有提示音。3設計內容本設計的系統(tǒng)總方案設計方框圖如圖1所示。修改密碼修改密碼密碼錯誤密碼輸入數據輸入4*4鍵盤輸入模塊單片機最小系統(tǒng)LCD顯示模塊聲光報警模塊圖1系統(tǒng)總設計方框圖3.1、具體硬件電路設計3.1.1、鍵盤輸入模塊設計:鍵盤選用4*4矩陣,具有數字鍵0-9、開鎖鍵、刪除鍵、修改密碼鍵和消除報警鍵等。4*4鍵盤輸入模塊如圖2所示。圖24*4鍵盤輸入模塊電路圖3.1.2、單片機最小系統(tǒng)設計:本設計選用STC89C51單片機作為控制核心。STC89C51是具有高性能和低功耗優(yōu)點的8位可編程控制器,內核具有豐富的指令集和32個通用工作寄存器,可以通過軟件編程來實現電子密碼鎖設計中的各項要求和功能,而且單片機的I/O口也足夠使用,硬件電路連接比較簡單。單片機最小系統(tǒng)如圖3所示[3]。圖3單片機最小系統(tǒng)電路圖3.1.3、LCD顯示模塊設計:LCD顯示模塊選用LCD1602作為主液晶顯示器。此液晶顯示屏能輸入兩行的字母或數字,功能比較簡單,通用性強。本次設計中要顯示輸入密碼的數據值和各功能的提示,使用LCD1602液晶來作為顯示模塊比較直觀形象。LCD顯示模塊如圖4所示。圖4LCD顯示模塊電路圖3.1.4、聲光報警模塊設計:采用聲和光兩種方式的雙重效果進行報警,如果錯誤密碼輸入次數超過三次則報警燈閃爍而且蜂鳴器會報警,這樣就能多角度進行密碼錯誤報警。聲光報警模塊如圖5所示。圖5聲光報警模塊電路圖3.2、軟件設計3.2.1、主程序流程圖:主程序主要完成LCD初始化、檢查有無按鍵按下、以及調用顯示、密碼修改程序等等。主程序流程圖如圖6所示。否否否開始系統(tǒng)初始化進入Welcome界面開鎖鍵按下開鎖子程序密碼正確第二次輸入密碼修改密碼鍵按下否輸入新密碼二次輸入新密碼輸入相同設置新密碼成功返回Welcome界面密碼正確第三次輸入密碼密碼正確啟動聲光報警復位鍵按下是否是否是是是否是等待否圖6主程序流程圖3.2.2、LCD顯示模塊流程圖:本系統(tǒng)使用LCD1602實現顯示,參照LCD1602的使用手冊進行初始化和程序編寫就可以顯示,即在程序編寫中添加LCD1602的驅動程序。這里的驅動程序主要包括:初始化函數、設置顯示坐標、寫字符函數及寫字符串函數。在時鐘界面時顯示時間的運行,在密碼鎖界面時主要顯示提示信息和輸入的密碼,當然,當輸入密碼數字時,輸出不是顯示數字,而是用“*”顯示代替。LCD1602的部分讀寫控制時序程序如圖7所示。開始開始設置顯示模式延時程序關閉顯示延時程序清屏程序延時程序開顯示延時設置第一行顯示位顯示第一行內容設置第二行顯示位顯示第二行內容圖7LCD顯示模塊流程圖總結與致謝這一次做的電子密碼鎖及LCD顯示。原理看似簡單,但過程讓我深深感受到再簡單的電路圖,理論與實際也會有一定的差入。在參考書原理圖的基礎上經過了個人的改進,讓功能更完善,特別是程序的調試,花的時間最多,也是最難的一個地方。通過本次設計,培養(yǎng)了創(chuàng)新意識和綜合素質,更好地掌握了電子產品設計與制作的工藝和流程,提高個人基本能力、實驗及設計能力和獨立工作能力,基本知識更加牢固,會看圖、會測量、會查資料在設計的過程和設計說明書的撰寫過程中,老師給予了我熱心的幫助和大力的支持,給我提了諸多的寶貴意見,拓寬了我的思路。在此我向老師致以崇高的敬意和衷心的感謝!
參考文獻[1]李朝青,單片機原理及接口技術(簡明修訂版)[M].北京:北京航空航天大學出版社,1998[2]李全利.單片機原理及接口技術[M].高等教育出版社,2003[3]PROTEL99SE電路設計與制板[M].械工業(yè)出版社,2007[4]StevenF.Barrett.DaneilJ.Pack.EmbeddedSystem[M].北京:電子工業(yè)出版社,2006[5]周立功.LPC900系列Flash單片機應用技術[J].北京航空航天大學出版社,2004[6]黃智偉.全國大學生電子設計競賽訓練教程[M].北京:電子工業(yè)出版社,2005
附錄一:系統(tǒng)設計總原理圖附錄二:系統(tǒng)設計程序/*頭文件*/#include<reg52.h>#include<intrins.h>#defineulongunsignedlong#defineuintunsignedint#defineucharunsignedchar#definescan_key_portP1/*定義矩陣按鍵端口*/#definelcd_data_portP0/*定義LCD控制端口*/ucharcodemun_to_char[]={"0123456789ABCDEF"};/*定義數字跟ASCII碼的關系*/uchartemp,num,flag,sum=0,r;ucharcodetable1[]="Welcome!(^_^)";ucharcodetable2[]="0123456789ABCDEF";/*定義數字跟ASCII碼的關系*/ucharcodetable3[]="*********";ucharcodetable4[]="Codeiswrong!";ucharcodetable5[]="Youareright!";ucharcodetable6[]="Thesecondtime!";ucharcodetable7[]="Thelasttime!";ucharcodetable8[]="Inputnewcode:";ucharcodetable9[]="Modifyright!!!";ucharcodetable10[]="Password:";ucharcodetable11[]="Wuzirong";ucharcodetable12[]="Calling....";ucharcodetable13[]="";ucharcodetable14[]="Inputagain:";ucharcodetable15[]="Modifyerror!!!";ucharinit_pswd[8]={1,2,3,4,5,6,7,8};//初始化密碼ucharpswd[8]={0};sbitlcdrs=P1^7;/*定義LCD控制端口*/sbitlcdrw=P1^6;/*定義LCD控制端口*/sbitlcden=P2^4;/*定義LCD控制端口*/sbitSpeaker_port=P2^7;/*喇叭控制端口*//*****************************************子函數聲明*/voiddelay(uintz);voidinit();//初始化子函數voidwrite_com(ucharcom);//寫指令子函數voidwrite_data(uchardat1);//寫數據子函數voidkeyscan();voidmima();voidmima1();voiddelete();voiddelay_1ms(ucharx);/************************************************液晶驅動*//*********************//*喇叭發(fā)聲簡單程序*/voidSpeaker_output(){ uchari; for(i=0;i<100;i++){ Speaker_port=0; delay_1ms(0.5); Speaker_port=1; delay_1ms(1); }}voidSpeaker_output2(){ uchari; for(i=0;i<50;i++){ Speaker_port=0; delay_1ms(1); Speaker_port=1; delay_1ms(1); }}voidSpeaker_output3(){ uchari; for(i=0;i<100;i++) { Speaker_port=0; delay_1ms(1); Speaker_port=1; delay_1ms(2); }}/*1MS為單位的延時程序*/voiddelay_1ms(ucharx){ucharj;while(x--){for(j=0;j<125;j++);}}voidinit(){ lcden=0; write_com(0x38); write_com(0x0e); write_com(0x06); write_com(0x01); write_com(0x80);}voidwrite_com(ucharcom) //寫指令{ lcdrs=0; lcdrw=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;}voidwrite_data(uchardat1){ lcdrs=1; lcdrw=0; P0=dat1; delay(5); lcden=1; delay(5); lcden=0;}voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidkeyscan(){ucharsccode,recode,out;scan_key_port=0xf0;/*發(fā)全"0"的行掃描碼,列線輸入*/if((scan_key_port&0xf0)!=0xf0)/*若有鍵按下*/{delay_1ms(2);/*延時去抖動*/if((scan_key_port&0xf0)!=0xf0)/*若有鍵按下*/{sccode=0xfe;/*逐行掃描初值*/while((sccode&0x10)!=0){scan_key_port=sccode;/*輸出行掃描碼*/if((scan_key_port&0xf0)!=0xf0)/*本行有鍵按下*/{recode=(scan_key_port&0xf0)|0x0f; scan_key_port=0xff;/*釋放按鍵掃描端口*/ out=((~sccode)+(~recode)); switch(out) { case~0xe7:num=0;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xd7:num=1;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xb7:num=2;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0x77:num=3;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xeb:num=4;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xdb:num=5;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xbb:num=6;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0x7b:num=7;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xed:num=8;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; case~0xdd:num=9;flag=1;Speaker_output();/*喇叭發(fā)出聲音*/break; } switch(out) { case~0xbd:num=10;flag=1;break; case~0x7d:num=11;flag=1;break; case~0xee:num=12;flag=1;break; case~0xde:num=13;flag=1;break; case~0xbe:num=14;flag=1;break; case~0x7e:num=15;flag=1;break; } }elsesccode=(sccode<<1)|0x01;/*行掃描左移一位*/}}} } /**********************主程序*****************************/voidmain(){ ucharm=0,w=0;init(); for(r=0;r<15;r++) { delay_1ms(2); write_data(table1[r]); }write_com(0x80+0x40);for(r=0;r<15;r++) { delay_1ms(2); write_data(table11[r]); }write_com(0x0c); do { keyscan(); } while(num!=15);mima();while((pswd[m]==init_pswd[m])&m<8)//密碼比較{ m++;}if(m>=8)//密碼正確{ delay(200);Speaker_output3();/*喇叭發(fā)出聲音*/ keyscan();while(flag==1&&num==13); mima1();}else//密碼有誤{ m=0; write_com(0x80+0x40); for(r=0;r<14;r++) { delay_1ms(5); write_data(table4[r]); } delay(1000); init(); for(r=0;r<16;r++) { delay(20); write_data(table6[r]); } delay(1000);mima(); while((pswd[m]==init_pswd[m])&m<8)//再次比較 { m++; } if(m>=8) { mima1(); } else { m=0; write_com(0x80+0x40); for(r=0;r<14;r++) { delay_1ms(5); write_data(table4[r]); Speaker_output2();/*喇叭發(fā)出聲音*/ } delay(1000); init(); for(r=0;r<14;r++) { delay(20); write_data(table7[r]); } delay(1000); mima(); while((pswd[m]==init_pswd[m])&m<8)//第三次比較 { m++; } if(m>=8) { mima1(); } else { init(); write_com(0x80+0x40); for(r=0;r<14;r++) { delay_1ms(100); write_data(table12[r]);Speaker_output3();/*喇叭發(fā)出聲音*/keyscan(); if(flag==1&&num==13) {delay(100); break; } else{} } for(r=0;r<120;r++) { delay_1ms(100); Speaker_output3();/*喇叭發(fā)出聲音*/ keyscan(); if(flag==1&&num==13) {delay(100); break; } else{} } write_com(0x0c); } } }}voidmima(){ ucharw=0;//局部變量很重要 init(); for(r=0;r<9;r++) { delay(20); write_data(table10[r]); } do { flag=0; keyscan(); write_com(0x80+9+w); if(flag==1&&num<=9) { pswd[w]=num; write_data(table3[w]); w++; if(w==8) write_com(0x0c); } if(flag==1&&num==14) //14則刪除誤輸入的密碼,即返回上一步. { w--; if(w==255) w=w+1; write_com(0x80+9+w); write_data(table13[w+1]); if(flag==1&&num<=9) { pswd[w]=num; write_data(table3[w]); } }} while(w<=7);}/********************輸入初始密碼正確后,密碼修改*********************************************/voidmima1(){ ucharf=0,n=0,d=0; if(sum==0) { write_com(0x80+0x40); for(r=0;r<14;r++) { delay(20); write_data(table5[r]); } delay(2000); do { num=16; keyscan(); }while(num!=13); if(flag==1&&num==13) { init(); for(r=0;r<15;r++) { delay(20); write_data(table8[r]); } write_com(0x0c); write_com(0x80+0x40+n); write_com(0x0e); }//////////////////////////第一次輸入修改密碼//////////////////////////////// do{ num=16; keyscan(); write_com(0x80+0x40+n); if(flag==1&&num<=9) { init_pswd[n]=num; write_data(table3[n]); n++; if(n==8) write_com(0x0c); } if(flag==1&&num==14) { n--; if(n==255) n=n+1; write_com(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吊車協(xié)議書參考
- 個人汽車買賣協(xié)議模板
- 闌尾切除術病因介紹
- 中考政治拓展提升篇知識梳理
- (2024)某鎮(zhèn)解決污染水項目可行性研究報告(一)
- 重慶2020-2024年中考英語5年真題回-學生版-專題10 書面表達
- 典型設備管理舉例- 隋向30課件講解
- 云南省保山市智源初級中學2024-2025學年九年級上學期12月月考歷史試卷-A4
- 山東省東營市廣饒縣樂安中學2024-2025學年八年級上學期12月月考化學試題-A4
- 2023年藥品包裝機械項目籌資方案
- 頭痛的鑒別診斷
- 機械工程測試技術課后習題
- 人工智能輔助命題
- 麻醉藥相關項目營銷策略方案
- 30題戰(zhàn)略規(guī)劃崗位常見面試問題含HR問題考察點及參考回答
- 閘門槽施工方案
- 國家開放大學《供應鏈管理》形考作業(yè)1-4參考答案
- 科研倫理與學術規(guī)范
- 《艾滋病宣傳教育》課件
- 學校人事工作個人總結
- 23秋國家開放大學《學前兒童音樂教育活動指導》形考任務1-4參考答案
評論
0/150
提交評論