2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于微機原理簡易數(shù)碼鎖的設(shè)計</p><p><b>  摘 要</b></p><p>  隨著電子技術(shù)的發(fā)展,計算機應(yīng)用技術(shù)起著越來越重要的作用。多媒體技術(shù)、網(wǎng)絡(luò)技術(shù)、智能信息處理技術(shù)、自適用控制技術(shù)、數(shù)據(jù)挖掘與處理技術(shù)等都離不開計算機。本課程設(shè)計是基于微機原理與接口技術(shù)的簡單應(yīng)用。運用所學(xué)的微機原理和接口技術(shù)知識完成簡易數(shù)碼鎖。</p

2、><p>  本課程設(shè)計以TDN 86/88微機系統(tǒng)教學(xué)實驗箱為基礎(chǔ),以Intel 8255A芯片作為擴展接口,連接密碼輸入電路、顯示電路、密碼確認電路等,作為系統(tǒng)的硬件部分;以西安唐都科教儀器公司出版的《微機原理及應(yīng)用技術(shù)試驗系統(tǒng)Wmd86》軟件4.0版為平臺,以匯編語言為基礎(chǔ)編程,作為系統(tǒng)的軟件部分,實現(xiàn)了密碼輸入判斷、顯示機構(gòu)操作、修改密碼的功能設(shè)計。</p><p>  本課程設(shè)計的主

3、要目的是提高學(xué)生的實踐能力,包括提高匯編等語言的編程能力及對接口等硬件的理解分析能力和設(shè)計接口電路的能力,從而學(xué)以致用。只有通過實際編程和微機及接口的硬件實踐,才能真正掌握軟硬件設(shè)計的方法,從中得到收益和提高。</p><p><b>  目 錄</b></p><p>  前言…………………………………………………………………………………………·</

4、p><p>  第一章 數(shù)碼鎖的設(shè)計要求及方案························1</p><p>  1.1 初始條件·

5、3;····································&#

6、183;···········1</p><p>  1.2 設(shè)計要求 ···················&#

7、183;·····························1</p><p>  1.3 設(shè)計方案…………·

8、;····································

9、83;····1</p><p>  第二章 數(shù)碼鎖的硬件設(shè)計··························&

10、#183;················1</p><p>  2.1 硬件設(shè)計概述··············

11、····································

12、3;··1</p><p>  2.2 硬件框圖·····························

13、;·····························1</p><p>  2.3 硬件工作流程·

14、3;····································&#

15、183;··············2</p><p>  第三章 數(shù)碼鎖的軟件設(shè)計················

16、··············2</p><p>  3.1 主程序流程圖設(shè)計················

17、83;·······························2 </p><p>  3.2 驗

18、證密碼程序設(shè)計···································

19、83;············3</p><p>  3.3 重設(shè)密碼程序設(shè)計··················

20、························4</p><p>  第四章 數(shù)碼鎖的安裝與調(diào)試······

21、83;·································4</p><p&

22、gt;  4.1 硬件調(diào)試··································&#

23、183;······················4</p><p>  4.2 軟件調(diào)試········

24、83;····································&

25、#183;···········4</p><p>  4.3 系統(tǒng)整體調(diào)試···················

26、·································5</p><p>

27、  第五章 設(shè)計體會與小結(jié)··································

28、83;··········6 </p><p>  附錄·····················

29、3;····································&#

30、183;··········7</p><p>  參考文獻·····················&

31、#183;·································9</p><

32、p><b>  前 言</b></p><p>  電子課程設(shè)計是電子技術(shù)學(xué)習(xí)中非常重要的一個環(huán)節(jié),是將理論知識和實踐能力相統(tǒng)一的一個環(huán)節(jié),是真正鍛煉學(xué)生能力的一個環(huán)節(jié)。只有通過實際的操作才能將理論知識運用到實踐中來,才能真正的掌握所學(xué)知識。</p><p>  數(shù)碼鎖由于其保密性高,使用靈活性好;同時它的編碼量多、密碼可以根據(jù)需要隨時改變,這大大提高了安全性能

33、。數(shù)碼鎖的設(shè)計比較簡單,僅利用一小塊存儲芯片,外加少量的控制電路,即可實現(xiàn)大量保密信息的存儲以及對信息安全的良好保障。因此它受到廣大用戶的青睞。</p><p>  本課程設(shè)計是利用現(xiàn)有的環(huán)境, 在基于Intel 8255A芯片的8086微機試驗箱基礎(chǔ)上,探究簡易密碼鎖的設(shè)計與實現(xiàn)的方法。</p><p>  第一章 簡易數(shù)碼鎖的設(shè)計要求及方案</p><p>&

34、lt;b>  1.1 初始條件</b></p><p>  1)運用所學(xué)的微機原理和接口技術(shù)知識;</p><p>  2)微機原理和接口技術(shù)實驗室的實驗箱設(shè)備。</p><p><b>  1.2 設(shè)計要求</b></p><p>  1)采用數(shù)字按鍵輸入,數(shù)碼為6位;</p>&l

35、t;p>  2)開機上電后系統(tǒng)自動復(fù)位,處于準備接收數(shù)碼的準備狀態(tài);</p><p>  3)設(shè)置一只認可鍵,每次輸入數(shù)碼后必須按認可鍵。認可鍵只承認最后6位輸入數(shù)碼,若與本鎖規(guī)定數(shù)碼相符則使執(zhí)行機構(gòu)動作;</p><p>  4)擴展功能:可增加修改內(nèi)設(shè)密碼功能; </p><p><b>  1.3 方案設(shè)計</b></p&g

36、t;<p>  數(shù)碼鎖主要由8086系統(tǒng)及Intel 8255A可編程并行接口芯片和密碼輸入電路、顯示電路、密碼確認電路這幾部分構(gòu)成。根據(jù)設(shè)計的功能和要求,編寫相應(yīng)的匯編程序,以支持整個系統(tǒng)的運行,實現(xiàn)數(shù)碼鎖的功能。</p><p>  匯編程序只要可分為輸入密碼、判斷密碼、修改密碼這幾部分流程來編寫,以滿足整個數(shù)碼鎖的設(shè)計要求并完成相應(yīng)的功能.</p><p>  第二章

37、 數(shù)碼鎖的系統(tǒng)設(shè)計</p><p>  2.1 硬件設(shè)計概述</p><p>  硬件部分主要以8255芯片為主,用控制密碼輸入鍵()、 彩燈顯示(LED UNIT) , 在實驗箱上模擬整個數(shù)碼鎖的工作流程。 </p><p><b>  2.2 硬件框圖</b></p><p><b>  硬件框圖如圖1&

38、lt;/b></p><p><b>  圖1 系統(tǒng)硬件框圖</b></p><p><b>  硬件工作流程</b></p><p>  首先對可編程器件進行初始化操作,即對8255寫入方式控制字,配置I/O端口的輸入輸出方向。本系統(tǒng)選擇PA端口(60H)為輸入口,接收密碼輸入?yún)^(qū)的電平狀態(tài);選擇PB端口(61H)為

39、輸出口,控制彩燈的顯示。對8255的配置如表1所示,具體接法詳見附錄的系統(tǒng)硬件原理圖部分。</p><p>  表1 8255 I/O資源配置表</p><p>  按照系統(tǒng)硬件原理圖 和8255的配置連接好電路, 即可按照用戶操作流程,對8255進行相應(yīng)的I/O端口操作即可</p><p>  第三章 簡易數(shù)碼鎖的軟件設(shè)計</p><p&g

40、t;  3.1 主程序流程圖設(shè)計</p><p>  軟件設(shè)計的主要能夠輸入密碼并確認每一次輸入的密碼是否有效,而且能夠保存每次輸入的密碼,接著讓最后6位輸入的密碼與正確密碼比較。由輸入密碼正確與否的判斷結(jié)果來引導(dǎo)下一步的動作,并且可增加修改內(nèi)設(shè)密碼功能。</p><p>  系統(tǒng)的完整程序流程如下圖所示</p><p><b>  驗證密碼程序設(shè)計&l

41、t;/b></p><p>  程序編譯加載后,開始后對8255初始化,此時系統(tǒng)就有一初始密碼,即可輸入已經(jīng)設(shè)置的密碼(本程序初始密碼:88H)。輸入的密碼以只承認最后6位輸入數(shù)碼 。撥動按鍵K2~K7,對應(yīng)的彩燈也會相應(yīng)的亮起,撥好密碼后,再撥動按鍵K0, 若K2~K7六位密碼與初始密碼相同,則彩燈的綠燈全部亮,若密碼與初始密碼不同,則彩燈沒有變化。驗證密碼流程圖如圖3</p><p&

42、gt;  圖 3 驗證密碼流程圖</p><p>  3.3 重設(shè)密碼程序設(shè)計</p><p>  進行重新設(shè)置密碼,首先撥動K1鍵,此時K2~K7六位處于待設(shè)密碼狀態(tài),只要撥動K2~K7按鍵就可以設(shè)置新密碼,設(shè)置好以后再次撥回K1,進行新密碼的鎖存,此時新密碼已經(jīng)設(shè)置成功。若要再進行解碼,按照驗證密碼程序設(shè)計里的步驟即可。重設(shè)密碼流程如圖4</p><p>  

43、圖4 密碼重設(shè)流程圖</p><p>  第四章 數(shù)碼鎖的安裝與調(diào)試</p><p><b>  4.1 硬件調(diào)試</b></p><p><b>  1. 安裝</b></p><p>  上電前按電路設(shè)計連接實驗箱電路,連接好實驗箱與主機的線,并檢查是否有短路,再打開電源。</p>

44、;<p><b>  2. 調(diào)試</b></p><p>  在主機上安裝并運行Wmd86,首先進行端口測試,正常后即可編寫程序。在測試8255的輸出時發(fā)現(xiàn)8255工作不正常,其表面溫度過高,故更換8255芯片后方能正常工作。</p><p><b>  4.2 軟件調(diào)試</b></p><p>  按照

45、主程序流程進行軟件的編寫,按照實際的硬件接口來編程,軟件編寫中的許多細節(jié)問題并不是在編寫程序的時候能夠檢查出來的,需要一步一步的調(diào)試,通過不斷的調(diào)試程序,加深了對匯編語言和硬件結(jié)構(gòu)的理解。</p><p>  軟件調(diào)試過程中遇到許多問題是不能通過硬件電路的現(xiàn)象來發(fā)現(xiàn)的,而通過win86的單步運行能夠發(fā)現(xiàn)程序的走向,很直觀的查出問題的所在。比如,在程序運行中不能看到堆棧中的內(nèi)容,而單步運行就能很直觀的看的出來,方便

46、調(diào)試。編寫層序的時候遇到了一些問題,主要是對堆棧的概念和應(yīng)用上的認識不太深刻。堆棧遵循“先入后出”的原則。對于本題中的認可最后輸入的6位密碼</p><p>  的要求。必須利用堆棧的這一特點。將開關(guān)輸入的密碼依次壓入堆棧(記錄每次輸入的密碼),再出棧與原密碼逐次比較6次,遇到一個問題就是,每次只從堆棧彈出6位密碼,如果輸入密碼次數(shù)過多,前幾次的密碼沒有出棧,堆棧就會被占滿,導(dǎo)致程序無法正常運行;或者前一次沒有清

47、空堆棧的數(shù)據(jù)在下一次運行程序的時候被彈出,影響下一次的運行結(jié)果。想到如此,就必須讓堆棧在每次程序運行結(jié)束以后都要清空。</p><p>  由于代碼段的程序過長,導(dǎo)致代碼段的空間不夠用,往往使程序無法正常運行。解決的辦法是使用call指令,利用將子程序壓入堆棧,用ret指令返回??梢怨?jié)省代碼段的空間。在調(diào)用的子程序中注意如果改變堆棧的入口地址的話需要在返回指令ret之前恢復(fù)原來調(diào)用此子程序是的入口地址,否則會使程

48、序混亂。基于此點,在編寫程序的時候只是將初始化,顯示等不改變堆棧地址的子程序壓入堆棧。</p><p><b>  系統(tǒng)整體調(diào)試</b></p><p>  整個系統(tǒng)在經(jīng)過軟硬件調(diào)試成功并正常加載程序運行后即可按流程來調(diào)試。首先輸入原始密碼看能否解鎖,如果綠燈都亮則密碼正確。然后任意輸入幾組六位密碼看綠燈是否都亮,如果綠燈均不亮則初始密碼設(shè)置成功。然后檢測重置密碼功能

49、,先撥動按鍵K1,進入設(shè)置密碼狀態(tài),任意撥動六位密碼,再撥回按鍵K1,將設(shè)置的密碼鎖存,之后輸入自己設(shè)置的密碼看能否解鎖,再多重復(fù)設(shè)置任意六位密碼,如果綠燈都亮,則重置密碼部分運行正常。</p><p>  整個系統(tǒng)經(jīng)過完整的邏輯測試后沒有發(fā)現(xiàn)問題,整體調(diào)試結(jié)束。</p><p>  第五章 設(shè)計體會與小結(jié)</p><p>  剛確定做簡易密碼鎖的課程設(shè)計任務(wù)時,自

50、己真的是一頭霧水不知怎么下手,經(jīng)過進圖書館、上網(wǎng)查資料自己了解到了許多,現(xiàn)在經(jīng)過一個星期的努力自己的數(shù)碼鎖已經(jīng)基本成型。但由于自己水平的有限,此設(shè)計任務(wù)仍有許多不足之處。</p><p>  這次課程設(shè)計并不是很難,主要的困難來自對程序的理解。功夫不負有心人,經(jīng)過我們組的合作和努力,我們最后對實驗的原理有了清晰的認識。雖然實驗箱上的很多模塊單元沒有用到,但是就系統(tǒng)功能來說,我覺得我們做的還是不錯的。這次課程設(shè)計

51、卻讓我們對實驗箱有了足夠的了解,特別是8255A芯片;而且它還讓我們對自己動手寫程序來控制實驗箱的運作有了一定的基礎(chǔ)。雖然實驗箱只是一個小型的模擬平臺,但是通過對它的學(xué)習(xí)和操作,我們對有關(guān)接口的知識將會有一個更廣泛的認識,而且它對我們以后的學(xué)習(xí)也會有幫助的。</p><p>  通過此次設(shè)計,發(fā)現(xiàn)自己仍然還有許多不足之處,發(fā)現(xiàn)自己的知識是非常欠缺的,自己的動手能力也不強。自己清醒的認識到該怎么辦,自己應(yīng)該好好的反

52、省一下,該好好的投入學(xué)習(xí)中,多一點時間用在學(xué)習(xí)中,把所學(xué)知識都好好的掌握,并很好的利用。在以后的學(xué)習(xí)和生活中,自己多找機會鍛煉一下,使自己的動手能力得以很大的提高。從而是自己各方面的能力得到很好的發(fā)展,為自己以后很好的工作打下堅實的基礎(chǔ)。</p><p>  總之,這次課程設(shè)計對于我們有很大的幫助,通過課程設(shè)計,我更加深入地理解了,微機原理課程上講到的多種芯片的功能,以及引腳的作用,同時加深了對于主要芯片的應(yīng)用的

53、認識,同時在試驗室的環(huán)境里熟悉了匯編程序的編寫過程和運行過程,并提高了自己的動手能力。最后衷心的感謝老師的悉心指導(dǎo)。</p><p><b>  附 錄</b></p><p><b>  系統(tǒng)硬件電路圖</b></p><p><b>  系統(tǒng)程序源代碼</b></p><p&

54、gt;  DATA SEGMENT ;定義數(shù)據(jù)段</p><p>  BLOCK DB 0</p><p>  DATA ENDS</p><p>  CODE SEGMENT ;定義代碼段</p><p>  ASSUME CS:CODE, DS:DATA</p><p>  

55、START: MOV DX, 63H</p><p>  MOV AL, 90H ;設(shè)置8255A方式字</p><p>  OUT DX, AL ;8255A A口輸入,B口輸出</p><p>  MOV BLOCK, 088H ;設(shè)置初始密碼</p><p>  MOV BL

56、, 10H</p><p>  MAIN: MOV DX, 60H</p><p>  IN AL, DX ;讀取A口開關(guān)信息</p><p>  TEST AL, 02H ;判斷開關(guān)K1的狀態(tài)</p><p>  JZ K1 ;K1=0 轉(zhuǎn)移<

57、/p><p>  IN AL, 60H</p><p>  AND AL, 0FCH ;K1=1設(shè)置新密碼,A口高六位有效</p><p>  MOV BLOCK, AL ; 存儲新密碼</p><p><b>  NOT AL</b></p><p>  

58、OUT 61H, AL </p><p>  CALL DELAY</p><p><b>  JMP MAIN</b></p><p>  K1: IN AL, 60H</p><p>  TEST AL, 01H ;判斷開關(guān)K0的狀態(tài)</p><p>

59、  JNZ K0 ;K0=1 轉(zhuǎn)移</p><p>  IN AL, 60H ;K0=0 輸入密碼</p><p>  AND AL, 0FCH ;A口的低二位被屏蔽</p><p><b>  NOT AL</b></p><p>  

60、OUT 61H, AL</p><p>  CALL DELAY</p><p>  JMP MAIN</p><p>  K0: IN AL, 60H </p><p>  AND AL, 0FCH</p><p>  CMP BLOCK, AL ;輸入的密碼與存儲的密碼

61、相比較</p><p><b>  JA MAIN</b></p><p><b>  JB MAIN</b></p><p>  MOV AL, 0FH ;輸出顯示</p><p><b>  NOT AL</b></p><

62、p>  OUT 61H, AL</p><p>  CALL DELAY</p><p>  JMP MAIN</p><p>  DELAY PROC NEAR</p><p>  DELAY1: MOV CX, 10H ;循環(huán)延時</p><p>  DELAY2: LOOP

63、 DELAY2</p><p><b>  DEC BL</b></p><p>  JNZ DELAY1</p><p><b>  RET</b></p><p>  DELAY ENDP</p><p>  CODE ENDS</p>&

64、lt;p><b>  END START</b></p><p><b>  參 考 文 獻</b></p><p>  1 華中科技大學(xué)電子技術(shù)課程組編,康華光主編. 電子技術(shù)基礎(chǔ)(數(shù)字部分).第五版. 北京:高等教育出版社,2006</p><p>  2 李伯成編. 單片機及嵌入式系統(tǒng). 北京:清華大學(xué)

65、出版社,2005</p><p>  3. 《微機原理與接口技術(shù)》. 彭虎,周佩玲,傅忠謙 編. 第二版. 北京:電子工業(yè)出版社,2008;</p><p>  4. 《匯編語言程序設(shè)計》.程學(xué)先,林姍,程傳慧 編著. 北京:機械工業(yè)出版社,2009;</p><p>  5. 《微型計算機原理與接口技術(shù)》.王寧寧,張瑾,譚彥彬,陳鋮 編著.北京:國防工業(yè)出版

溫馨提示

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

評論

0/150

提交評論