




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機原理及系統課程設計報告 單片機原理及系統課程設計評語:考勤(10)守紀(10)過程(40)設計報告(30)答辯(10)總成績(100) 專 業: 電氣工程及其自動化 班 級: 電氣1001班 姓 名: 學 號: 指導教師: 蘭州交通大學自動化與電氣工程學院2013 年 3 月7日基于單片機的密碼鎖設計摘要隨著人們生活水平的提高,如何實現家庭防盜這一問題也變得尤其突出,傳統的機械鎖由于其構造簡單,安全性能低,無法滿足人們的需求。隨著電子產品向智能化和微型化的不斷發展,單片機已成為電子產品研制和開發中首選的控制器,所以具有防盜報警功能的電子密碼控制系統逐漸代替傳統的機械式密碼控制系統,克服了
2、機械式密碼控制的密碼量少,安全性能差的缺點。通過單片機編寫密碼程序,并用74LS245驅動的數碼管來顯示密碼。數碼管可以時時顯示當前輸入的四位數字。當輸入密碼正確時,對應的指示燈亮;當密碼不正確時,發出聲音報警。關鍵詞:密碼鎖 ,單片機 ,報警AbstractWith the improvement of people's living standards, it has become particularly prominent about how to achieve Anti-theft family. The traditional mechanical lock has su
3、ch shortcoming as simple structure , Low security ,it can't meet people's demands.As electronic products are developing towards intelligence and minimization, single-chip computers(SCM) have become the first choice for controllers in the development of electronic products. Therefore, the ele
4、ctronic anti-theft alarm function password control system and gradually replace the traditional mechanical password control system, Overcome the low mechanical password control password and the shortcomings of poor safety performance,the password program written by SCM, and 74ls245 digital control t
5、o display the password。Digital tube can always display the current input of six digits。When you enter the password correctly, the corresponding indicator light;When the password is incorrect, the sound alarm。Keywords: Combination lock, Single-chip microcomputer, alarm1 引言1.1設計要求此次單片機課程設計所使用的單片機是AT89
6、C51,利用了鍵盤電路以及LED燈等器件實現了密碼鎖的設計,該密碼鎖主要需要實現如下功能和目標。(1) 輸入密碼功能:鍵盤上敲擊任意一個數字鍵,LED顯示屏上就會出現一個“”顯示在LED顯示屏的最右側,每多敲擊一個數字按鍵就會將之前敲入的所有“”向左移一位。(2) 清除密碼功能:每當按下清除鍵“CLR”就會自動清除前一個輸入的數值,這樣便實現了修改密碼的功能。(3) 開鎖功能:當密碼輸入完畢后,敲擊“ENTER”鍵,系統將會將輸入的密碼與系統內的內置密碼進行比較核對,若密碼正確,則產生一個低電屏信號,表示密碼正確。若密碼不正確則無此信號。 (4) 報警和提示功能:輸入密碼錯誤,或輸入密碼超出指
7、定密碼個數時,密碼鎖將會啟動報警電路,產生報警。密碼正確則密碼指示燈會起來。(5) 密碼鎖鎖定功能:當密碼輸入錯誤或密碼不符合規則時引起報警后,密碼鎖將開啟鎖定功能,將密碼鎖鎖定3秒鐘,防止被惡意軟件套取密碼。(6) 系統內置密碼修改功能,此功能可以通過修改程序中KEY中的值來改變系統的內置密碼。1.2設計方法第一步,使用PROTEUS 軟件選用 ATMEL公司的單片機 AT89C51,以及需要用到的其他電子元器件,做好先期的準備。第二步,使用PROTEUS設計硬件電路原理圖,并完成電路的布線。第三步,使用 Keil uVision4 軟件編寫單片機的匯編語言程序、仿真、軟件調試。第四步,使用
8、 PROTEUS 軟件導入匯編程序并進行模擬、調試。最終完成本次畢業設計2 設計方案及原理本密碼鎖的總體框圖如下。AT89C51報警指示模塊顯示模塊輸入模塊圖1 密碼鎖的總體框圖本密碼鎖設計由輸入模塊、顯示模塊、報警指示模塊共三各模塊組成,各模塊的功能為。(1) 輸入模塊:負責提供輸入各數字,修改回刪,完成回車的按鍵,已完成密碼的輸入和修改功能。(2) 顯示模塊:其主要部件為一塊LED屏,主要用來顯示當前輸入密碼的個數,并用“”表示。(3) 報警指示模塊:包括報警蜂鳴器和通路指示燈兩部分組成,分別提供密碼錯誤時的報警和密碼正確是的通路提示燈。3 硬件設計3.1鍵盤電路設計使用矩陣鍵盤,所以本設
9、計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數目,在按鍵比較多的時候,通常采用這樣方法。鍵盤接P3.0P3.6其電路如圖2所示。圖2 密碼鎖的鍵盤電路圖3.2LED顯示電路顯示電路的電路原理圖如圖3.2所示。圖3 密碼鎖顯示電路圖用P0.0P0.7接74LS245的A0A7八個端口,74LS245的輸出口接LED的AG和DP;而P2.0P2.7的輸出口接LED的18。用軟件實現數字和位控制。3.3開鎖報警電路開鎖報警電路如圖4所示。圖4 開鎖報警電路 在本次設計中,基于節省材料的原則,暫時用發光二極管代替電磁鎖,發光管亮,表示開鎖;滅,表示沒有開鎖。電路圖如4所示。當P
10、1.0口輸出低電時,二極管發光,表示開鎖。當89C51的P1.7口輸出為低電平時,蜂鳴器產生蜂鳴音,89C51輸出為高電平時,蜂鳴器不發聲。4 軟件設計程序設計流程圖如圖6所示。圖5 程序設計流程圖電子密碼鎖工作的主要過程是LED數碼管提示開始輸入密碼,通過鍵盤輸入密碼,同時LED顯示密碼輸入情況,按下確認鍵后判斷密碼的正確性,作出開鎖或報警處理。當輸入密碼連續輸入錯誤時,系統報警。密碼的預設的值為"123456"共6位密碼。由于采用兩個按鍵來完成密碼的輸入,那么其中一個按鍵為功能鍵,另一個按鍵為數字鍵。在輸入過程中,首先輸入密碼的長度,接著根據密碼的長度輸入密碼的位數,直
11、到所有長度的密碼都已經輸入完畢;或者輸入確認功能鍵之后,才能完成密碼的輸入過程。進入密碼的判斷比較處理狀態并給出相應的處理過程。5 系統調試本次調試采用Protues軟件仿真。首先設計電子密碼鎖的源程序,源程序經過匯編后,生成的目標文件經過仿真調試。依次按下1,2,3,4,5,6后,LED顯示如圖7所示。圖6 電路調試結果6 總結本次單片機課程設計歷時三周終于完成,在制作課程設計的過程中也遇到了不少的困難和阻礙,期間少不了與同學們之間的互相交流,和與老師的探討,到虧了老師和同學們的幫助,此次單片機課程設計才能如期完成,在老師同學們的幫助下我能夠熟練掌握Keil uVision4 軟件編寫匯編語
12、言和制作HEX文件以及使用 PROTEUS進行仿真,并掌握了一定的程序編寫能力,和電路設計能力,總之,受益良多,在此感謝各位給過我幫助的老師和同學。參考文獻1 馮博琴,吳寧.微型計算機原理與接口技術M.北京:清華大學出版社,2010.2 周航慈.單片機應用程序設計技術M.北京:北京航空航天大學出版社,2010.3 王思明,張金敏,茍軍年,張鑫,楊喬禮.單片機原理及應用系統設計M.北京:科學出版社,2012.附錄附錄一:系統仿真電路附錄二:源程序;以下8字節存放8位數碼管的段碼LED_BIT_1 EQU 30HLED_BIT_2 EQU 31HLED_BIT_3 EQU 32HLED_BIT_4
13、 EQU 33HLED_BIT_5 EQU 34HLED_BIT_6 EQU 35HLED_BIT_7 EQU 36HLED_BIT_8 EQU 37H;以下6個字節存放初始密碼WORD_1 EQU 38HWORD_2 EQU 39HWORD_3 EQU 3AHWORD_4 EQU 3BHWORD_5 EQU 3CHWORD_6 EQU 3DH;以下6個字節存放用戶輸入的6位密碼KEY_1EQU 3EHKEY_2EQU 3FHKEY_3EQU 40HKEY_4EQU 41HKEY_5EQU 42HKEY_6EQU 43HCNT_AEQU 44HCNT_BEQU 45HKEY_CNTEQU 46
14、H ;已輸出的密碼位數LINEEQU 47H ;按鍵行號ROW EQU 48H ;按鍵列號VAL EQU 49H ;鍵值;以下為初始化程序,包括數據存儲空間初始化,設置初始密碼 ORG 00H SJMP START ORG 0BH LJMP INT_T0START:MOV CNT_A,#00H ;程序初始化 MOV CNT_B,#00H MOV KEY_CNT,#00H MOV LINE,#00H MOV ROW,#00H MOV VAL,#00H SETB P1.0 MOV LED_BIT_1,#00H ;段碼存儲區清零 MOV LED_BIT_2,#00H MOV LED_BIT_3,#0
15、0H MOV LED_BIT_4,#00H MOV LED_BIT_5,#00H MOV LED_BIT_6,#00H MOV LED_BIT_7,#79H MOV LED_BIT_8,#73H MOV KEY_1,#00H ;輸入密碼存儲區清零 MOV KEY_2,#00H MOV KEY_3,#00H MOV KEY_4,#00H MOV KEY_5,#00H MOV KEY_6,#00H MOV WORD_1,#6 ;設置初始密碼為“123456” MOV WORD_2,#5 MOV WORD_3,#4 MOV WORD_4,#3 MOV WORD_5,#2 MOV WORD_6,#1
16、MOV TMOD,#01H MOV TH0,#(65536-700)/256 MOV TL0,#(65536-700)MOD 256 MOV IE,#82HA0: LCALL DISP ;以下為鍵盤掃描程序,計算鍵值并存入VALLSCAN: MOV P3,#0F0H ;掃描行碼L1: JNB P3.0,L2 LCALL DLY_S JNB P3.0,L2 MOV LINE,#00H LJMP RSCANL2: JNB P3.1,L3 LCALL DLY_S JNB P3.1,L3 MOV LINE,#01H LJMP RSCANL3: JNB P3.2,L4 LCALL DLY_S JNB P
17、3.2,L4 MOV LINE,#02H LJMP RSCANL4: JNB P3.3,A0 LCALL DLY_S JNB P3.3,A0 MOV LINE,#03HRSCAN: MOV P3,#0FH ;掃描列碼C1: JNB P3.4,C2 MOV ROW,#00H LJMP CALCUC2: JNB P3.5,C3 MOV ROW,#01H LJMP CALCUC3: JNB P3.6,C1 MOV ROW,#02HCALCU: MOV A,LINE ;計算鍵值 MOV B,#03H MUL AB ADD A,ROW MOV VAL,A ;以下為按鍵處理程序,對不同的按鍵作出響應 CJ
18、NE A,#0AH,J1 ;是否為“CLR”鍵 MOV R1,KEY_CNT CJNE R1,#00H,J2 LCALL ALARM_1 LJMP STARTJ2: LCALL SHIFTR DEC KEY_CNTW00: LCALL DISP ;等待按鍵抬起 MOV A,P3 CJNE A,#0FH,W01 LJMP A0W01: MOV A,P3 CJNE A,#0F0H,W02 LJMP A0W02: SJMP W00J1: MOV A,VAL CJNE A,#0BH,J3 ;判斷是否為“ENTER”鍵 MOV R1,KEY_CNT CJNE R1,#06H,J4 MOV A,WORD_
19、1 ;比較密碼 CJNE A,3EH,J5 MOV A,WORD_2 CJNE A,3FH,J5 MOV A,WORD_3 CJNE A,40H,J5 MOV A,WORD_4 CJNE A,41H,J5 MOV A,WORD_5 CJNE A,42H,J5 MOV A,WORD_6 CJNE A,43H,J5 CLR P1.0 LCALL DLY_L LJMP FINIJ5: LCALL ALARM_2 LJMP STARTJ4: LCALL ALARM_1 LJMP STARTJ3: INC KEY_CNT ;按下數字鍵 MOV A,KEY_CNT CJNE A,#07H,K1 LCALL
20、 ALARM_1W10: LCALL DISP ;等待按鍵抬起 MOV A,P3 CJNE A,#0FH,W11 LJMP STARTW11: MOV A,P3 CJNE A,#0F0H,W12 LJMP STARTW12: SJMP W10 LJMP START LJMP STARTK1: LCALL SHIFTLW20: LCALL DISP ;等待按鍵抬起 MOV A,P3 CJNE A,#0FH,W21 LJMP A0W21: MOV A,P3 CJNE A,#0F0H,W22 LJMP A0W22: SJMP W20 LJMP A0 ALARM_1:SETB TR0 ;操作錯誤報警
21、JB TR0,$ RETALARM_2:SETB TR0 ;密碼錯誤報警 JB TR0,$LCALL DLY_LRET ;定時器中斷服務程序,用于聲音報警INT_T0: CPL P1.7 MOV TH0,#(65536-700)/256MOV TL0,#(65536-700)MOD 256INC CNT_AMOV R1,CNT_ACJNE R1,#30,RETUNEMOV CNT_A,#00HINC CNT_BMOV R1,CNT_BCJNE R1,#20,RETUNEMOV CNT_A,#00HMOV CNT_B,#00HCLR TR0RETUNE:RETI ;段碼,輸入密碼左移子程序SHI
22、FTL:MOV LED_BIT_6,LED_BIT_5 MOV LED_BIT_5,LED_BIT_4 MOV LED_BIT_4,LED_BIT_3 MOV LED_BIT_3,LED_BIT_2 MOV LED_BIT_2,LED_BIT_1 MOV LED_BIT_1,#40H MOV KEY_6,KEY_5 MOV KEY_5,KEY_4 MOV KEY_4,KEY_3 MOV KEY_3,KEY_2 MOV KEY_2,KEY_1 MOV KEY_1,VAL RET ;段碼,輸入密碼右移子程序SHIFTR:MOV LED_BIT_1,LED_BIT_2 MOV LED_BIT_2,LED_BIT_3 MOV LED_BIT_3,L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力系統的自動化與智能控制試卷
- 短詩三首的教學與賞析:初中一年級語文課程補充
- 商業地產租賃與招商合作協議
- 閱讀的力量書籍讀后感(11篇)
- 網絡服務安全協議規定內容
- 小學階段的行為習慣教育
- 《高中英語語法重點與難點突破》
- 音樂產業版權管理與保護措施
- 健康監測系統運行數據表
- 勞動教育與職業技能培養的融合路徑
- 2025年江蘇省金陵中學英語八下期末學業質量監測試題含答案
- DB31-T 1545-2025 衛生健康數據分類分級要求
- 2025年全釩液流電池行業調研分析報告
- 2025年二級建造師考試《礦業工程管理與實物》真題及答案
- 2025年Python數據分析試題及答案
- 植物保護通論重點復習題
- 兒童抽動障礙共患焦慮抑郁障礙診治2025
- 2024年山東省初中學業水平考試語文試題(文字版-含答案)
- 2024-2025教科版一年級下冊科學期末考試卷附參考答案 (三套)
- 高血壓藥的類型
- 2025慢性阻塞性肺?。℅OLD)指南更新要點解讀課件
評論
0/150
提交評論