《微型計算機原理與接口技術》課程設計一種由微機實現(xiàn)的多功能密碼鎖設計
《《微型計算機原理與接口技術》課程設計一種由微機實現(xiàn)的多功能密碼鎖設計》由會員分享,可在線閱讀,更多相關《《微型計算機原理與接口技術》課程設計一種由微機實現(xiàn)的多功能密碼鎖設計(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 編號:0 8 1 4 1 1 4 課程設計 《微型計算機原理與接口技術》 ( 2008級本科) 題 目:一種由微機實現(xiàn)的多功能密碼鎖設計 系(部)院: 物理與機電工程學院 專 業(yè): 電氣工程及其自動化 作者姓名: 指導教師: 職稱: 副 教 授 完成日期: 2011 年 6 月 30 日 河西學院本科生畢業(yè)論文(設計)任務書 論 文
2、 題 目 一種由微機實現(xiàn)的多功能密碼鎖 作 者 姓 名 所屬院、 專業(yè)、年級 物理與機電工程學院 電氣工程及其自動化專業(yè)08年級 指導教師姓名、職稱 張靜 副教授 任務下達日期 2011年6月20日 一、設計內(nèi)容及技術要求: 密碼鎖在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時顯示00字樣。當輸入密碼錯誤時,發(fā)出錯誤警告聲音,同時顯示FF字樣。當六次誤碼輸入的條件下,產(chǎn)生報警電平報警。采用90秒定時中斷,輸出控制信號,防止長時間無效操作。 二、課程設計總結報告要求 1、選用8086和適當?shù)拇鎯ζ骷敖涌谛酒瓿上鄳墓δ堋? 2、用LED
3、顯示器顯示電子鎖的當前狀態(tài)。 3、畫出詳細的硬件連接圖。 4、給出程序設計思路、畫出軟件流程圖。 5、給出所有程序清單并加上必要注釋。 6、完成設計說明書(包括封面、目錄、設計任務書、硬件設計思路、硬件原理圖、軟件設計思路、程序流程框圖、程序清單、所用器件型號、總結體會、參考文獻等)。 三、設計進度 第一周: 星期一上午 討論設計題目 星期一下午 查資料 星期二至星期五 完成對硬件電路的基本設計 第二周: 星期一至星期二 完成軟件流程圖及軟件設計 星期三至星期四 軟硬件統(tǒng)調(diào),寫說明書,畫圖 星期五 答辯 指
4、導教師簽字: 目錄 一、設計任務 ………………………………………………………… 1 二、設計要求 ………………………………………………………… 1 三、整體功能描述 …………………………………………………… 1 四、設計思路 ………………………………………………………… 1 五、硬件設計 ………………………………………………………… 2 1.鍵盤…………………………………………………………… 2 2.中斷控制……………………………………………………… 2 3.計時…………………………………………………………… 2 4.按鍵響應……
5、………………………………………………… 2 5.報警…………………………………………………………… 3 6.儲存器及片選………………………………………………… 3 7.硬件部分電路圖……………………………………………… 4 六、軟件設計 …………………………………………………………6 七、程序清單 ………………………………………………………… 7 八、設計總結與體會……………………………………………………8 九、參考資料……………………………………………………………8 十、附錄…………………………………………………………………8
6、 一種由微機實現(xiàn)的多功能密碼鎖設計說明書 一、 設計目標 1.密碼鎖在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時顯示00字樣。 2.當輸入密碼錯誤時,發(fā)出錯誤警告聲音,同時顯示FF字樣。 3.當六次誤碼輸入的條件下,產(chǎn)生報警電平報警。 4.還可以實現(xiàn)對密碼的修改,修改成功后,蜂鳴器發(fā)出確認音。 二、 設計要求 1.選用8086和適當?shù)拇鎯ζ骷敖涌谛酒瓿上鄳墓δ堋? 2.用LED顯示器顯示電子鎖的當前狀態(tài)。 3.畫出詳細的硬件連接圖。 4.給出程序設計思路、畫出軟件流程圖。 5.給出所有程序清單并加上必要注釋。 6.完成設計說明書(包括封面、目錄、設計任務
7、書、硬件設計思路、硬件原理圖、軟件設計思路、程序流程框圖、程序清單、所用器件型號、總結體會、參考文獻等)。 三、 整體功能描述 本設計為多功能密碼鎖,使用存儲器保存密碼防止斷電后密碼丟失。工作時按下按鍵蜂鳴器會發(fā)出聲音提示按鍵有效并在數(shù)碼管有“- -”閃爍字樣,若相隔1分鐘無按鍵按下,則清零。在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時顯示00字樣。開鎖后可按下“復位/修改密碼鍵”實現(xiàn)修改密碼功能的轉(zhuǎn)入,之后先輸入密碼再輸入同樣的密碼確認才可成功修改,修改成功后蜂鳴器會發(fā)出三聲,數(shù)碼管“00”閃爍三次提示修改密碼成功。當輸入密碼錯誤時,發(fā)出錯誤警告聲音,同時顯示FF字樣,當輸入
8、密碼錯誤次數(shù)累積夠6次后,蜂鳴器會產(chǎn)生90秒的報警聲響進行報警。 四、設計思路 在本次設計中,因為密碼鎖的基本功能使可以判斷密碼是否正確,以及完成對密碼的修改,所以需要用到輸入設備以及CPU的接口電路以及相關存儲設備;因為有報警提示功能,所以要用到相關的輸出設備以及接口電路。 首先,因為要完成邏輯運算功能,所以必須要有CPU,CPU就選用我們最常用也最熟悉的8086,分別用一個2764作為外部存儲設備,因為ROM只讀不可斷電信息不丟失,用來存儲相關程序,而ram可讀可寫,但斷電信息會丟失,故用來存儲運行期間產(chǎn)生的相關數(shù)據(jù)??紤]到8255的端口兼具輸入輸出功能,靈活方便,所以選用一片82
9、55作為輸入輸出設備與8086間的接口;采用0到9數(shù)字按鍵以及相關功能選擇的輸入;輸出設備方面,采用兩位數(shù)碼管實現(xiàn)題目的狀態(tài)提示要求,用一個蜂鳴器作為相關的警報,提示的聲音輸出。另外,為簡化編程,采用8259中斷控制器來觸發(fā)中斷實現(xiàn)密碼鎖工作模式的轉(zhuǎn)換,其中的密碼輸入及判斷功能與密碼修改功能分別用兩個外部中斷來觸發(fā)中斷服務程序來實現(xiàn)。本設計的密碼位數(shù)為6位。 五、硬件設計 本設計使用了8086、8259A、8255、8253、2764、74LS138、74LS148、地址鎖存器、數(shù)碼管以及74系列邏輯門、蜂鳴器、開關等芯片與元器件,實現(xiàn)了鍵盤輸入、中斷控制、計時、按鍵響應、開鎖及報警等功能
10、模塊。以下一一詳述。 1.鍵盤 本設計8255A的A口與兩片級聯(lián)的74LS148組合接用于輸入鍵盤,實現(xiàn)對輸入鍵號的讀入。工作時,8086通過程序掃描鍵盤,當無鍵盤按下時,74LS148工作于無輸入狀態(tài),GS口輸出高電平,接到PA4作為識別有無按鍵按下信號,PA口輸入為10H;當有按鍵輸入時,74LS148輸入口接到低電平,輸入有效,經(jīng)編碼后鍵號轉(zhuǎn)換為相應二進制編碼送到PA口,成為能為CPU識別的代表鍵值的有效信號。讀入的按鍵信號經(jīng)8086判斷后,根據(jù)不同的功能,輸出不同的按鍵響應,并轉(zhuǎn)移到相對應的功能服務程序。 本設計總共用到11位按鍵,包括10位數(shù)碼輸入按鍵及一位“復位/修改密碼”按
11、鍵,電路設計總共可用按鍵有16位,供升級功能使用。鍵盤電路如下圖1所示: 2.中斷控制 用一片8259A芯片作為中斷控制接口電路。其中IR0與IR1中斷開放,單片工作于非緩沖方式,電平觸發(fā),優(yōu)先級是普通全嵌套方式。可通過編程開中斷,通過編程或者8253計時器關中斷。電路連接如圖2所示: 3.計時 采用8253計時器控制中斷的關斷,實現(xiàn)單次輸入密碼超時則退出輸入密碼中斷子程序、報警器響鈴時間控制等功能。電路如圖2所示。 4.按鍵響應 8255PC0、PC1接到數(shù)碼管片選、PC2接到蜂鳴器、PC3接到電子鎖。電路連接如圖3所示: 5.報警功能 同時用8255A的B口控制數(shù)碼管的顯示
12、,C口片PC0、PC1選數(shù)碼管,PC2用來驅(qū)動SPEAK發(fā)出報警。電路如圖3所示。 6.儲存器及片選電路: 存儲器及片選電路采用一片2764存儲器和一片74LS138,連接電路如圖4所示: 7.硬件部分電路圖 8.整機電路圖:見附錄一 圖1 鍵盤連接圖 圖2 中斷控制器連接圖 圖3 按鍵響應、報警、開鎖功能電路 圖4 片選及存儲器電路 六、 軟件設計 1.程序流程圖 七、程序清單:見附錄二 八、設計總結與體會 通過本次課程
13、設計,我對所學知識有了一個完整的應用,對課程所學知識的體現(xiàn),尤其是對8255,8259,8253等芯片的內(nèi)部結構,熟悉各種基本工作模式和編程方法;加深了對8086中斷系統(tǒng)工作過程的了解;學會綜合應用多種微機接口與單元電路,構成滿足要求的小型微機應用系統(tǒng);學會了CPU與存儲器的連接方法,擴展存儲空間的方法。通過這次的微機課程設計,對所學知識有了個補充和完善,對那些模糊不懂的地方,進行了徹底完全的學習。在設計過程中,我發(fā)現(xiàn)我對上課中講述的知識還有很大的欠缺,對很多芯片了解的不夠透徹,這也造成了我在連接硬件圖時遇到了很多困難,不得不請教組長和學習好的同學,徹底的搞懂問題。這說明我們光掌握課本上的知識
14、是遠遠不夠的,必須要通過實踐才能加深對知識的理解。 九、參考資料 [1] 馮博琴,吳寧. 微型計算機原理與接口技術. 北京 清華大學出版社(第二版),2007。. [2] 趙國相等. 微型計算機原理與匯編語言程序設計. 北京 科學出版社,2004。. [3] 張睿,趙艷華,劉志剛. 精通Protel DXP 2004電路設計. 北京 電子工業(yè)出版社,2005.。 [4]艾德才,微型計算機原理與與接口技術,北京:高等教育出版社,2004。 [5]周明德,微型計算機系統(tǒng)原理及應用。北京:清華大學出版社,2002。 [6] 鄭學堅,周斌。微型計算機原理及應用。北京:清華大學出版社,2
15、001. 十、附錄 附錄一:電路基本連接圖 附錄二:程序清單 DATA SEGMENT ;以下代碼寫入RAM DATA1 DB 6 DUP(?) ;輸入的密碼保存的地址 DATA2 DB 6 DUP(?) ;修改后的密碼的保存地址 DATA3 DB 3,6,3,7,3,8 ;初始密碼 ORG 01000H ;下面的代碼寫入ROM DTABLE DB
16、 80H,02H,10H,3FH,79H,71H,60H,5BH DATA ENDS STACKS SEGMENT STA DB 20 DUP(?) STACKS ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKS START: ;主程序 MOV AX,DATA MOV DS,AX ;初始化數(shù)據(jù)段 MOV AX,STACKS MOV SS,AX ;初始化堆棧段
17、MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 MOV BP,OFFSET DATA3 MOV AL,09H ;(鍵盤輸入中斷)設定密碼輸入的中斷向量(即IR0的中斷向量) MOV AH,25H INT 21H PUSH BX PUSH DS MOV DX,SEG SMM MOV DS,DX MOV DX,OFFSET SMM INT 21H MOV AL,09H ;(鍵盤輸入中斷)設定密碼修改的中斷向量(即IR1的中斷向量) MOV AH,25H INT 21H PUSH BX PUSH DS MO
18、V DX,SEG GMM MOV DS,DX MOV DX,OFFSET GMM INT 21H MOV AL,1BH ;初始化8259 OUT 10H,AL ;單片工作,高電平有效 MOV AL,08H OUT 11H,AL MOV AL,03H OUT 11H,AL MOV AL,0FCH OUT 11H,AL ;開放IR0,IR1 MOV AL,20H OUT 10H,AL MOV AL,68H OUT
19、 10H,AL MOV AL,82H ;初始化8255 A口方式0輸出,B口方式0輸入,C口輸出 OUT 06H,AL A1: STI MOV AL,00H OUT 04H,AL ;輸出低電平使數(shù)碼管熄滅 SMM: ;密碼輸入程序 CLI MOV DL,00H IN1: CMP DL,06H ;判斷是否連續(xù)6次輸入錯誤密碼 JNZ IN2
20、 ;若不是這繼續(xù)輸入 MOV CX,03FFH ;使蜂鳴器長鳴報警(通過延時實現(xiàn)) R1: MOV DH,3FH MOV AL,02H OUT 00H,AL ;輸出高電平使蜂鳴器發(fā)聲 R2: DEC DH CMP DH,00H JNZ R2 LOOP R1 JMP IN4 ;報警完畢,跳至中斷返回 IN2: ;輸入密碼
21、 MOV AL,[BP+4] OUT 04H,AL ;數(shù)碼管顯示‘EE’提示輸入密碼 MOV BX,0H MOV CX,03H ;設置循環(huán)次數(shù) IN3: MOV BP,OFFSET DTABLE MOV AL,[BP] OUT 04H,AL ;數(shù)碼管提示輸入位數(shù) CALL CCSCAN ;調(diào)用鍵盤掃描程序 CMP AL,0BH ;判斷是否按
22、下返回鍵 JZ IN4 MOV [BX+SI],AL ;保存輸入密碼 INC BX INC BP LOOP IN3 MOV BP,OFFSET DTABLE ;判斷密碼是否正確 CLD MOV CX,03 MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR REPZ CMPSB ;判斷密碼是否正確 JNZ WRO ;若錯誤就報警 MOV AL,[BP+3] OU
23、T 04H,AL ;若正確數(shù)碼管就顯示‘00‘ MOV AL,04H OUT 00H,AL ;且給LED高電平使其點亮 XOR DL,AL JMP IN4 WRO: ;出錯報警部分 INC DL MOV AL,[BP+5] ;數(shù)碼管顯示’FF‘提示錯誤 OUT 04H,AL MOV CX,03H ;設定蜂鳴器響的次數(shù) W1:
24、MOV AL,02H ;使蜂鳴器發(fā)聲 OUT 00H,AL W2: ;延時 MOV BL,3FH DEC BL CMP BL,00H JNZ W2 XOR AL,AL ;輸出低電平關蜂鳴器 OUT 00H,AL W3: ;延時 MOV BL,3FH DEC BL CMP BL,00H JNZ W3 LOOP W1 JMP IN1
25、 ;中斷返回 IN4: STI IRET GMM: ;密碼修改程序 CLI MOV DL,00H INP1: CMP DL,06H JNZ INP2 MOV CX,03FFH RR1: MOV DH,3FH MOV AL,02H OUT 00H,AL RR2: DEC DH CMP DH,00H JNZ RR2 LOOP RR1 JMP C4 INP2: MOV AL,[BP+4] OUT 04H,AL MOV BX,0000H MOV
26、CX,03H INP3: MOV BP,OFFSET DTABLE MOV AL,[BP] OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ IN4 MOV [BX+SI],AL INC BX INC BP LOOP INP3 MOV BP,OFFSET DTABLE CLD MOV CX,03H MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA3 REPZ CMPSB JNZ WRRO MOV AL,[BP+3] OUT 04H,AL XOR DL,DL JMP GMM WRRO: INC D
27、L MOV AL,[BP+5] OUT 04H,AL MOV CX,03H WW1: MOV AL,02H OUT 00H,AL WW2: MOV BL,3FH DEC BL CMP BL,00H JNZ WW2 XOR AL,AL OUT 00H,AL WW3: MOV BL,3FH DEC BL CMP BL,00H JNZ WW3 LOOP WW1 JMP INP1 ;當密碼輸入正確時,轉(zhuǎn)入密碼修改部分 CHAN: ;修改密碼部分
28、 MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 MOV AL,[BP+6] ;數(shù)碼管提示第一次輸入 OUT 04H,AL MOV CX,03FFH Y1: LOOP Y1 MOV BP,OFFSET DTABLE MOV BX,0H MOV CX,03H C1: MOV AL,[BP] OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ C4 MOV [BX+SI],AL ;存放在輸入密碼緩沖區(qū) INC B
29、X INC BP LOOP C1 MOV BP,OFFSET DTABLE MOV AL,[BP+7] OUT 04H,AL ;數(shù)碼管提示第二次輸入 MOV CX,03FFH Y2: LOOP Y2 MOV BP,OFFSET DTABLE MOV BX,0H MOV CX,03H C2: MOV AL,[BP] OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ C4 MOV [BX+DI],AL ;存放在修改密碼緩沖區(qū) INC
30、 BX INC BP LOOP C2 MOV BP,OFFSET DTABLE REPZ CMPSB JNZ CHAN ;判斷兩次輸入的密碼是否一致 MOV DI,OFFSET CODEOR MOV CX,03H CLD REP MOVSB ; 若是相等那就保存密碼 MOV AL,02H ;且蜂鳴器響一下提示修改成功 OUT 00H,AL MOV CX,03FFH C3:
31、 LOOP C3 XOR AL,AL OUT 00H,AL ;中斷返回 C4: STI IRET CCSCAN PROC NEAR ;鍵盤掃描子程序 MOV AL,00H OUT 00H,AL IN AL,02H NOT AL AND AL,0FH CMP AL,00H ;判斷是否有鍵按下 JNZ K1 JMP CCSCAN K1: MOV CX,0EFFH
32、 ;延時 LOOP K1 IN AL,02H CMP AL,00H JZ CCSCAN MOV AH,60H ;掃描第一列 K2: MOV AL,AH OUT 00H,AL IN AL,02H NOT AL AND AL,0FH CMP AL,00H ;判斷是否有鍵按下 JNZ K3 OR AH,01H ROR AH,1 ;掃描下一列 AND AH
33、,0FH JMP K2 K3: ADD AL,AH RET CCSCAN ENDP CODE ENDS END START 微機原理與接口技術課程設計成績評定表 姓 名 劉 世 兵 學 號 0814114 專業(yè)班級 電氣工程及其自動化 08級1 班 課程設計題: 一種由微機實現(xiàn)的多功能密碼鎖 課程設計答辯或質(zhì)疑記錄: 成績評定依據(jù): 評 定 項 目 評 分 成 績 1.選題合理、目的明確(10分) 2.設計方案可行性、創(chuàng)新性(20分) 3.設計結果(系統(tǒng)原理圖、源程序、調(diào)試運行結果)(30分) 4.平時成績(態(tài)度認真、遵守紀律)(10分) 5.設計報告的規(guī)范性、參考文獻充分(不少于5篇)(10分) 6.答辯(20分) 總 分 最終評定成績(以優(yōu)、良、中、及格、不及格評定) 指導教師簽字: 年 月 日 第18頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案