微型計算機原理及應用課程設計--多功能密碼鎖_第1頁
微型計算機原理及應用課程設計--多功能密碼鎖_第2頁
微型計算機原理及應用課程設計--多功能密碼鎖_第3頁
微型計算機原理及應用課程設計--多功能密碼鎖_第4頁
微型計算機原理及應用課程設計--多功能密碼鎖_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄一.課設目的1二.課設內容三.問題分析、設計思路及原因1四.電路設計及功能說明,硬件原理圖2五.軟件部分的程序流程圖,算法和使用的編程技巧10六.匯編源程序清單11七.課設結果分析20八.收獲、體會和建議20九.參考文獻21一.課設目的1.掌握8086,8255等芯片的工作原理和使用方法,了解各引腳的功能。2.掌握各芯片之間的連接方法,設計多功能密碼鎖電路。3.運用微機原理及應用中學習到的知識,編寫匯編語言程序,通過對芯片的控制實現多功能密碼鎖的各種功能。4.鞏固本學期學習到的微機原理的相關知識,通過實踐加強對知識的理解,同時提高自身思考問題的能力,培養對本課程的興趣,提高動身能力。二.課

2、設內容課程設計題目選取多功能密碼鎖,實現的功能為:1.判斷輸入的密碼是否正確2.修改密碼3.密碼輸入錯誤時發錯警告聲音4.當密碼輸入錯誤四次時發出警報三.問題分析、設計思路及原因1.問題分析考慮到實現以上功能需要使用數碼管、開鎖電平、報警電平、蜂鳴器等輸出,因此使用微機實驗中用過的芯片8255A作為接口芯片,該芯片能比較好地滿足這次課程設計的功能要求。而CPU則選擇我們熟悉的8086。2.設計思路及原因密碼的輸入主要通過系統功能調用語句“MOV AH,1; INT 21H”(即帶顯示的單字符鍵盤輸入功能)和循環語句實現,而密碼輸入是否正確則通過串比較指令來實現。程序中的提示語句可以使用系統功能

3、調用語句“MOV AH,9; INT 21H”(即字符串輸出)功能來實現。對接口芯片,首先要完成芯片的初始化,使8255A芯片的A,B口作為輸出端口,A口用于控制數碼管在密碼輸入正確或錯誤的情況下的顯示“00”或“FF”,B口用于控制提示音和相應的發光二極管。當輸入錯誤時,B口輸出03H(即00000011B),使對應的蜂鳴器發聲,相應的發光二極管發光。而當四次輸入密碼錯誤時,B口輸出0CH(即00001100B),使對應蜂鳴器發聲,對應二極管發光。當密碼輸入正確時,B口輸出30H(即00110000B),發出開鎖提示音,并使對應二極管發光。程序的設計思路總體來說就是“輸入->各種邏輯運

4、算->輸出”,為了實現各種不同輸入情況下的響應,本程序使用了比較多的轉移指令,從而使結構變得復雜,因此采用了兩個字程序,讓程序的結構更加清晰。四.電路設計及功能說明,硬件原理圖1.設計所使用的元件清單 PC機一臺,8086處理器,8255A接口芯片一片,74LS138譯碼器一個,6264隨機存儲器一片,七段數碼管兩個,發聲器及發光二極管各四個,非門一個2.電路中用到的芯片介紹(1) 微處理器8086CPU8086是Intel系列的16位微處理器,它采用HMOS工藝技術制造,芯片采用40系列線封裝,單一的+5V電源,時鐘頻率為510MHz。8086有16根數據線和20根地址線,可以處理8位

5、和16位數據,尋址1MB的儲存單元和64KB的I/O端口。如圖所示(2)并行接口芯片8255A8255A是Intel系列的并行接口芯片,常作為微機系統與外部設備接口。由于它是可編程的,可以通過軟件來設置芯片的工作方式,因此,用它連接外部設備時,一般不需要在附加外部電路,給使用帶來很大方便。如圖所示3.電路連接圖五.軟件部分的流程圖,算法和使用的編程技巧1.主程序流程圖8255初始化初始化提示輸入密碼調用密碼輸入的子程序驗證right執行子程序rightBL=04H警告部分WARNBL=BL+1報警ALARM2.密碼輸入子程序流程圖設置輸入密碼位數CX=06H保護現場CX=0輸入顯示CX=CX-

6、1恢復現場返回主程序開鎖并顯示正確保護現場修改密碼提示修改成功返回主程序第一次輸入新密碼第二次輸入新密碼兩次相同3.RIGHT子程序流程圖六.匯編源程序清單DATA SEGMENTNUM DB 1, 2, 3, 4, 5, 6 ;設定初始的密碼INPUT DB 6 DUP (?) ;定義保存輸入密碼的數據串MESS0 DB please input the password,0DH,0AH, $ ;定義各種提示字符串MESS1 DB Do you want to change zhe password? y/n ,0DH,0AH, $ MESS2 DB please input a new p

7、assword ,0DH,0AH, $ MESS3 DB please insure the new password ,0DH,0AH, $MESS4 DB The password is different with the last one you input ,0DH,0AH, $ MESS5 DB You have succeefully changed the password. ,0DH,0AH, $ DATA ENDSSTACK SEGMENT PARA STACK STACKSTA DB 200 DUP(?) STACK ENDSCODE SEGMENT ASSUME CS:

8、CODE,DS:DATA,ES:DATAMAIN PROC FAR MOV AX ,DATA MOV DS,AX MOV ES,AX MOV 63H,80H ;8255的初始化,A,B口同為輸出,工作方式0 LOOP1:LEA DX,MESS0 ;提示輸入密碼 MOV AH,09H INT 21HLOOP2:CALL INPUT ;調用輸入密碼子程序 LEA SI,NUM LEA DI,INP MOV CX ,06H CLD REPZ CMPSB ;將輸入密碼同正確的密碼進行串比較MOV BL ,00H JNZ WARN ;若不相同,則發出警告 CALL RIGHT ;若為正確的密碼,則調用R

9、IGHT子程序進行處理 JMP LOOP1WARN: MOV AL,03H ;警告提示部分 OUT 61H,AL ;B口,發出密碼錯誤警告,相應二極管亮 MOV AL,71H OUT 60H,AL ;A口連接的兩個數碼管顯示 “FF” INC BL ; BL+1 CMP BL,04H JE ALARM ;若連續輸入四次錯誤密碼,則轉ALARM報警 JMP LOOP1 ;沒有達到四次,則繼續提示輸入密碼ALARM:MOV AL,OCH ;報警部分 OUT 61H,AL ;B口輸出報警電平,同時相應的二極管亮INPUT PROC NEAR ;輸入密碼的子程序 PUSH CX PUSH AX PUS

10、H DI MOV CX,06H ;輸入六位數密碼LOOP3: MOV AH,01H INT 21H LEA DI,INP MOV DI,AL INC DI LOOP LOOP3 POP DI POP AX POP CX RET INPUT ENDPRIGHT PROC NEAR ;輸入密碼正確時執行的子程序 PUSH CX PUSH AX PUSH DI MOV AL,3FH OUT 60H,AL ;A口對應兩個數碼管顯示 “00” MOV AL,30H OUT 61H,AL ;B口輸出開鎖電平并且相應的二極管亮 LEA DX,MESS1 MOV AH,O9H INT 21H ;顯示語句詢問是

11、否修改密碼 MOV AH,01H INT 21H ;系統功能調用,讀入輸入的命令 CMP AL, y JE AMEND ;若為 “y”,則轉修改密碼部分AMEND POP DI POP AX POP CX RETAMEND: ;修改密碼部分LEA DX MESS2 ;提示輸入一新密碼 MOV AH,O9H INT 21H MOV CX,06HLOOP4: MOV AH,O1H INT 21H LEA DI,NUM MOV DI,AL INC DI LOOP LOOP4 ;循環,實現新密碼的輸入 LEA DX,MESS3 ;提示再次輸入確認密碼 MOV AH,O9H INT 21H CALL I

12、NPUT LEA DI,NUM LEA SI,INP MOV CX,06H CLD REPZ CAPSB ;對比前后兩次輸入的密碼 JNZ DIFFERENT ;若不相同,則轉DIFFERENT提示輸入不同,并重新輸入 MOV AL,C0H OUT 61H,AL ;若前后一致,B口輸出修改成功的提示音,相應二極管亮 LEA DX,MESS5 ;輸出修改成功的提示語句 MOV AH,O9H INT 21HDIFFERENT: LEA DX,MESS4;若輸入前后不同,予以提示 MOV AH,O9H INT 21HLOOP AMEND ;重新修改 RIGHT ENDP七.課設結果分析經過調試和改錯

13、,以上的電路設計以及匯編程序代碼已經符合設計要求,實現了密碼輸入,對比,修改,蜂鳴器報警,LED燈發光,連續輸入錯誤密碼報警,開鎖電平控制等功能。經過測試,上述功能都可以正常使用,因此這次該課程設計結果來看是完成了要求。八.收獲、體會和建議這次微機原理課程設計給了我們一個動手實踐的機會,在學習完微機原理的理論課程之后,通過該課程設計,在實際中運用學過的各種芯片去進行電路的設計,使我們加深了對這些芯片的理解以及這些芯片的使用方法。在進行課程設計的時候,遇到不懂或者忘記了的知識點,我們會查閱課本,或者是上網搜索相關資料,這加深了我們對于某些知識點的理解,并且鞏固了這方面的知識。程序調試的過程是比較漫長的,甚至比設計這個多功能密碼鎖的芯片連接圖用的時間還要多。因為在程序設計的時候,很多東西都依舊沒有考慮到,或者是在設計的時候的邏輯漏洞并沒有注意到,而這些東西都要通過程序實際運行的時候進行調試才會發現。因此在程序調試的時候我們也遇到了

溫馨提示

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

評論

0/150

提交評論