《微型計算機原理與接口技術(shù)》課程設(shè)計一種由微機實現(xiàn)的多功能密碼鎖設(shè)計_第1頁
《微型計算機原理與接口技術(shù)》課程設(shè)計一種由微機實現(xiàn)的多功能密碼鎖設(shè)計_第2頁
《微型計算機原理與接口技術(shù)》課程設(shè)計一種由微機實現(xiàn)的多功能密碼鎖設(shè)計_第3頁
《微型計算機原理與接口技術(shù)》課程設(shè)計一種由微機實現(xiàn)的多功能密碼鎖設(shè)計_第4頁
《微型計算機原理與接口技術(shù)》課程設(shè)計一種由微機實現(xiàn)的多功能密碼鎖設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 編號:0 8 1 4 1 1 4課程設(shè)計微型計算機原理與接口技術(shù)( 2008級本科)題 目:一種由微機實現(xiàn)的多功能密碼鎖設(shè)計 系(部)院: 物理與機電工程學院 專 業(yè): 電氣工程及其自動化 作者姓名: 指導教師: 職稱: 副 教 授 完成日期: 2011 年 6 月 30 日河西學院本科生畢業(yè)論文(設(shè)計)任務書論 文 題 目一種由微機實現(xiàn)的多功能密碼鎖作 者 姓 名所屬院、專業(yè)、年級物理與機電工程學院電氣工程及其自動化專業(yè)08年級指導教師姓名、職稱張靜 副教授任務下達日期2011年6月20日一、設(shè)計內(nèi)容及技術(shù)要求:密碼鎖在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時顯示00字樣。當

2、輸入密碼錯誤時,發(fā)出錯誤警告聲音,同時顯示ff字樣。當六次誤碼輸入的條件下,產(chǎn)生報警電平報警。采用90秒定時中斷,輸出控制信號,防止長時間無效操作。二、課程設(shè)計總結(jié)報告要求1、選用8086和適當?shù)拇鎯ζ骷敖涌谛酒瓿上鄳墓δ堋?、用led顯示器顯示電子鎖的當前狀態(tài)。3、畫出詳細的硬件連接圖。4、給出程序設(shè)計思路、畫出軟件流程圖。5、給出所有程序清單并加上必要注釋。6、完成設(shè)計說明書(包括封面、目錄、設(shè)計任務書、硬件設(shè)計思路、硬件原理圖、軟件設(shè)計思路、程序流程框圖、程序清單、所用器件型號、總結(jié)體會、參考文獻等)。三、設(shè)計進度第一周:星期一上午 討論設(shè)計題目星期一下午 查資料星期二至星期五 完成

3、對硬件電路的基本設(shè)計第二周:星期一至星期二 完成軟件流程圖及軟件設(shè)計星期三至星期四 軟硬件統(tǒng)調(diào),寫說明書,畫圖星期五 答辯指導教師簽字:目錄一、設(shè)計任務 1二、設(shè)計要求 1三、整體功能描述 1四、設(shè)計思路 1五、硬件設(shè)計 2 1.鍵盤 2 2.中斷控制 2 3.計時 2 4.按鍵響應 2 5.報警 3 6.儲存器及片選 3 7.硬件部分電路圖 4六、軟件設(shè)計 6七、程序清單 7八、設(shè)計總結(jié)與體會8九、參考資料8十、附錄8一種由微機實現(xiàn)的多功能密碼鎖設(shè)計說明書一、 設(shè)計目標1密碼鎖在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時顯示00字樣。2當輸入密碼錯誤時,發(fā)出錯誤警告聲音,同時顯示

4、ff字樣。3當六次誤碼輸入的條件下,產(chǎn)生報警電平報警。4還可以實現(xiàn)對密碼的修改,修改成功后,蜂鳴器發(fā)出確認音。二、 設(shè)計要求1選用8086和適當?shù)拇鎯ζ骷敖涌谛酒瓿上鄳墓δ堋?用led顯示器顯示電子鎖的當前狀態(tài)。3畫出詳細的硬件連接圖。4給出程序設(shè)計思路、畫出軟件流程圖。5給出所有程序清單并加上必要注釋。6完成設(shè)計說明書(包括封面、目錄、設(shè)計任務書、硬件設(shè)計思路、硬件原理圖、軟件設(shè)計思路、程序流程框圖、程序清單、所用器件型號、總結(jié)體會、參考文獻等)。三、 整體功能描述本設(shè)計為多功能密碼鎖,使用存儲器保存密碼防止斷電后密碼丟失。工作時按下按鍵蜂鳴器會發(fā)出聲音提示按鍵有效并在數(shù)碼管有“- -”

5、閃爍字樣,若相隔1分鐘無按鍵按下,則清零。在輸入密碼正確的條件下輸出開鎖電平,控制電控鎖開啟,同時顯示00字樣。開鎖后可按下“復位/修改密碼鍵”實現(xiàn)修改密碼功能的轉(zhuǎn)入,之后先輸入密碼再輸入同樣的密碼確認才可成功修改,修改成功后蜂鳴器會發(fā)出三聲,數(shù)碼管“00”閃爍三次提示修改密碼成功。當輸入密碼錯誤時,發(fā)出錯誤警告聲音,同時顯示ff字樣,當輸入密碼錯誤次數(shù)累積夠6次后,蜂鳴器會產(chǎn)生90秒的報警聲響進行報警。 四、設(shè)計思路在本次設(shè)計中,因為密碼鎖的基本功能使可以判斷密碼是否正確,以及完成對密碼的修改,所以需要用到輸入設(shè)備以及cpu的接口電路以及相關(guān)存儲設(shè)備;因為有報警提示功能,所以要用到相關(guān)的輸出

6、設(shè)備以及接口電路。首先,因為要完成邏輯運算功能,所以必須要有cpu,cpu就選用我們最常用也最熟悉的8086,分別用一個2764作為外部存儲設(shè)備,因為rom只讀不可斷電信息不丟失,用來存儲相關(guān)程序,而ram可讀可寫,但斷電信息會丟失,故用來存儲運行期間產(chǎn)生的相關(guān)數(shù)據(jù)??紤]到8255的端口兼具輸入輸出功能,靈活方便,所以選用一片8255作為輸入輸出設(shè)備與8086間的接口;采用0到9數(shù)字按鍵以及相關(guān)功能選擇的輸入;輸出設(shè)備方面,采用兩位數(shù)碼管實現(xiàn)題目的狀態(tài)提示要求,用一個蜂鳴器作為相關(guān)的警報,提示的聲音輸出。另外,為簡化編程,采用8259中斷控制器來觸發(fā)中斷實現(xiàn)密碼鎖工作模式的轉(zhuǎn)換,其中的密碼輸入

7、及判斷功能與密碼修改功能分別用兩個外部中斷來觸發(fā)中斷服務程序來實現(xiàn)。本設(shè)計的密碼位數(shù)為6位。五、硬件設(shè)計本設(shè)計使用了8086、8259a、8255、8253、2764、74ls138、74ls148、地址鎖存器、數(shù)碼管以及74系列邏輯門、蜂鳴器、開關(guān)等芯片與元器件,實現(xiàn)了鍵盤輸入、中斷控制、計時、按鍵響應、開鎖及報警等功能模塊。以下一一詳述。1.鍵盤本設(shè)計8255a的a口與兩片級聯(lián)的74ls148組合接用于輸入鍵盤,實現(xiàn)對輸入鍵號的讀入。工作時,8086通過程序掃描鍵盤,當無鍵盤按下時,74ls148工作于無輸入狀態(tài),gs口輸出高電平,接到pa4作為識別有無按鍵按下信號,pa口輸入為10h;當

8、有按鍵輸入時,74ls148輸入口接到低電平,輸入有效,經(jīng)編碼后鍵號轉(zhuǎn)換為相應二進制編碼送到pa口,成為能為cpu識別的代表鍵值的有效信號。讀入的按鍵信號經(jīng)8086判斷后,根據(jù)不同的功能,輸出不同的按鍵響應,并轉(zhuǎn)移到相對應的功能服務程序。本設(shè)計總共用到11位按鍵,包括10位數(shù)碼輸入按鍵及一位“復位/修改密碼”按鍵,電路設(shè)計總共可用按鍵有16位,供升級功能使用。鍵盤電路如下圖1所示:2.中斷控制用一片8259a芯片作為中斷控制接口電路。其中ir0與ir1中斷開放,單片工作于非緩沖方式,電平觸發(fā),優(yōu)先級是普通全嵌套方式。可通過編程開中斷,通過編程或者8253計時器關(guān)中斷。電路連接如圖2所示:3.計

9、時采用8253計時器控制中斷的關(guān)斷,實現(xiàn)單次輸入密碼超時則退出輸入密碼中斷子程序、報警器響鈴時間控制等功能。電路如圖2所示。4.按鍵響應8255pc0、pc1接到數(shù)碼管片選、pc2接到蜂鳴器、pc3接到電子鎖。電路連接如圖3所示:5.報警功能同時用8255a的b口控制數(shù)碼管的顯示,c口片pc0、pc1選數(shù)碼管,pc2用來驅(qū)動speak發(fā)出報警。電路如圖3所示。6.儲存器及片選電路:存儲器及片選電路采用一片2764存儲器和一片74ls138,連接電路如圖4所示:7.硬件部分電路圖8.整機電路圖:見附錄一圖1 鍵盤連接圖圖2 中斷控制器連接圖 圖3 按鍵響應、報警、開鎖功能電路圖4 片選及存儲器電

10、路六、 軟件設(shè)計1.程序流程圖七、程序清單:見附錄二八、設(shè)計總結(jié)與體會通過本次課程設(shè)計,我對所學知識有了一個完整的應用,對課程所學知識的體現(xiàn),尤其是對8255,8259,8253等芯片的內(nèi)部結(jié)構(gòu),熟悉各種基本工作模式和編程方法;加深了對8086中斷系統(tǒng)工作過程的了解;學會綜合應用多種微機接口與單元電路,構(gòu)成滿足要求的小型微機應用系統(tǒng);學會了cpu與存儲器的連接方法,擴展存儲空間的方法。通過這次的微機課程設(shè)計,對所學知識有了個補充和完善,對那些模糊不懂的地方,進行了徹底完全的學習。在設(shè)計過程中,我發(fā)現(xiàn)我對上課中講述的知識還有很大的欠缺,對很多芯片了解的不夠透徹,這也造成了我在連接硬件圖時遇到了很

11、多困難,不得不請教組長和學習好的同學,徹底的搞懂問題。這說明我們光掌握課本上的知識是遠遠不夠的,必須要通過實踐才能加深對知識的理解。九、參考資料1 馮博琴,吳寧. 微型計算機原理與接口技術(shù). 北京 清華大學出版社(第二版),2007。.2 趙國相等. 微型計算機原理與匯編語言程序設(shè)計. 北京 科學出版社,2004。.3 張睿,趙艷華,劉志剛. 精通protel dxp 2004電路設(shè)計. 北京 電子工業(yè)出版社,2005.。4艾德才,微型計算機原理與與接口技術(shù),北京:高等教育出版社,2004。5周明德,微型計算機系統(tǒng)原理及應用。北京:清華大學出版社,2002。6 鄭學堅,周斌。微型計算機原理及應

12、用。北京:清華大學出版社,2001.十、附錄附錄一:電路基本連接圖附錄二:程序清單data segment ;以下代碼寫入ramdata1 db 6 dup(?) ;輸入的密碼保存的地址data2 db 6 dup(?) ;修改后的密碼的保存地址data3 db 3,6,3,7,3,8 ;初始密碼org 01000h ;下面的代碼寫入romdtable db 80h,02h,10h,3fh,79h,71h,60h,5bhdata endsstacks segmentsta db 20 dup(?)stacks endscode segmentassume cs:code,ds:data,ss:

13、stacksstart: ;主程序mov ax,datamov ds,ax ;初始化數(shù)據(jù)段mov ax,stacksmov ss,ax ;初始化堆棧段 mov si,offset data1mov di,offset data2mov bp,offset data3mov al,09h ;(鍵盤輸入中斷)設(shè)定密碼輸入的中斷向量(即ir0的中斷向量)mov ah,25hint 21hpush bxpush dsmov dx,seg smmmov ds,dxmov dx,offset smmint 21hmov al,09h ;(鍵盤輸入中斷)設(shè)定密碼修改的中斷向量(即ir1的中斷向量)mov a

14、h,25hint 21hpush bxpush dsmov dx,seg gmmmov ds,dxmov dx,offset gmmint 21hmov al,1bh ;初始化8259out 10h,al ;單片工作,高電平有效mov al,08hout 11h,almov al,03hout 11h,almov al,0fchout 11h,al ;開放ir0,ir1mov al,20hout 10h,almov al,68hout 10h,almov al,82h ;初始化8255 a口方式0輸出,b口方式0輸入,c口輸出out 06h,ala1:stimov al,00hout 04h,

15、al ;輸出低電平使數(shù)碼管熄滅smm: ;密碼輸入程序climov dl,00hin1:cmp dl,06h ;判斷是否連續(xù)6次輸入錯誤密碼jnz in2 ;若不是這繼續(xù)輸入mov cx,03ffh ;使蜂鳴器長鳴報警(通過延時實現(xiàn))r1:mov dh,3fhmov al,02hout 00h,al ;輸出高電平使蜂鳴器發(fā)聲r2:dec dhcmp dh,00hjnz r2loop r1jmp in4 ;報警完畢,跳至中斷返回in2: ;輸入密碼mov al,bp+4out 04h,al ;數(shù)碼管顯示ee提示輸入密碼mov bx,0hmov cx,03h ;設(shè)置循環(huán)次數(shù)in3:mov bp,o

16、ffset dtablemov al,bpout 04h,al ;數(shù)碼管提示輸入位數(shù)call ccscan ;調(diào)用鍵盤掃描程序cmp al,0bh ;判斷是否按下返回鍵jz in4mov bx+si,al ;保存輸入密碼inc bxinc bploop in3mov bp,offset dtable ;判斷密碼是否正確cldmov cx,03mov si,offset codeinmov di,offset codeorrepz cmpsb ;判斷密碼是否正確jnz wro ;若錯誤就報警mov al,bp+3out 04h,al ;若正確數(shù)碼管就顯示00mov al,04hout 00h,a

17、l ;且給led高電平使其點亮xor dl,aljmp in4wro: ;出錯報警部分inc dlmov al,bp+5 ;數(shù)碼管顯示ff提示錯誤out 04h,almov cx,03h ;設(shè)定蜂鳴器響的次數(shù)w1:mov al,02h ;使蜂鳴器發(fā)聲out 00h,alw2: ;延時mov bl,3fhdec blcmp bl,00hjnz w2xor al,al ;輸出低電平關(guān)蜂鳴器out 00h,alw3: ;延時mov bl,3fhdec blcmp bl,00hjnz w3loop w1jmp in1 ;中斷返回in4:stiiretgmm: ;密碼修改程序climov dl,00hi

18、np1:cmp dl,06hjnz inp2mov cx,03ffhrr1:mov dh,3fhmov al,02hout 00h,alrr2:dec dhcmp dh,00hjnz rr2loop rr1jmp c4inp2:mov al,bp+4out 04h,almov bx,0000hmov cx,03hinp3:mov bp,offset dtablemov al,bpout 04h,alcall ccscancmp al,0bhjz in4mov bx+si,alinc bxinc bploop inp3mov bp,offset dtablecldmov cx,03hmov si

19、,offset data1mov di,offset data3repz cmpsbjnz wrromov al,bp+3out 04h,alxor dl,dljmp gmmwrro:inc dlmov al,bp+5out 04h,almov cx,03hww1:mov al,02hout 00h,alww2:mov bl,3fhdec blcmp bl,00hjnz ww2xor al,alout 00h,alww3:mov bl,3fhdec blcmp bl,00hjnz ww3loop ww1jmp inp1 ;當密碼輸入正確時,轉(zhuǎn)入密碼修改部分chan: ;修改密碼部分mov si

20、,offset data1mov di,offset data2mov al,bp+6 ;數(shù)碼管提示第一次輸入out 04h,almov cx,03ffhy1:loop y1mov bp,offset dtablemov bx,0hmov cx,03hc1:mov al,bpout 04h,alcall ccscancmp al,0bhjz c4mov bx+si,al ;存放在輸入密碼緩沖區(qū)inc bxinc bploop c1mov bp,offset dtablemov al,bp+7out 04h,al ;數(shù)碼管提示第二次輸入mov cx,03ffhy2:loop y2mov bp,offset dtablemov bx,0hmov cx,03hc2:mov al,bpout 04h,alcall ccscancmp al,0bhjz c4mov bx+di,al ;存放在修改密碼緩沖區(qū)inc bxinc bploop c2mov bp,offset dtablerepz cmpsbjnz chan ;判斷兩次輸入的密碼是否一致mov di,offset codeormov cx,03hcldrep movsb ; 若是相等那就保存密碼mov al,02

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論