




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE學院:計算機科學技術專業:計算機科學與技術(工)班級:姓名:學號:指導教師:微機原理與匯編語言課程設計任務書一、題目:電子表二、設計的目的1.掌握利用PC機的的中斷及中斷服務程序的編寫方法;2.掌握定時器/計數器8253的工作原理及編程方法。三、設計要求編寫程序,利用主機內的8253-2的計數器0產生10m的方波輸出,此輸出送至IRQ0使8259A每10ms產生1次中斷,100次后秒加1,然后調整時、分、秒并在屏幕上顯示。程序從按下任意鍵開始顯示數據區存放的時間值,運行中按下空格鍵即停止運行,并返回DOS。要求每人獨立完成課程設計。四、設計內容采用PC系列微機現有的硬件和軟件資源編寫匯編語言程序,在顯示器上顯示XX(時):XX(分):XX(秒),每秒鐘更新1次。五、課程設計工作量一般每人的程序量應在100行有效程序行以上。不得抄襲,否則給不及格成績。六、課程設計工作計劃2011年6月27日1-2節 指導教師講課,學生準備文獻資料;2011年6月28日~2011年7月01日 每人完成自己程序并能獨立演示;2011年7月01日下午 驗收,學生撰寫課程設計報告。指導教師簽字:專業主任簽章:微機原理與匯編語言課程設計指導教師評語與成績指導教師評語:課程設計表現成績:課程設計驗收成績:課程設計報告成績:課程設計總成績:指導教師簽字:2011年月日目錄第1章概述 11.1選題來源 11.2選題目的 11.3選題意義 11.4解決問題 11.5技術要求 2第2章總體方案設計 32.1硬件總體設計 32.2軟件總體設計 3第3章詳細設計 43.1硬件設計 43.1.1顯示模塊 43.1.2時鐘運算模塊 43.1.3對時模塊 53.1.4設計電路圖 53.2軟件設計 73.2.1程序流程圖 7第4章調試與運行結果說明 94.1試驗結果 94.2分析 10課程設計總結 11謝啟 12參考文獻 13附錄 14PAGE13第1章概述1.1選題來源該課程設計是根據老師提供的三個題目選題:音樂演奏,電子琴,電子表。我選擇的是電子表1.2選題目的設計并實現一個可以顯示時間和日期的電子時鐘,可以用鍵盤控制。1.3選題意義課程設計是培養學生運用有關課程的基礎理論和技能解決實際問題,進一步提高學生本專業必要的基本技能、方法和創新能力的重要環節之一。通過課程設計使學生受到設計方法的初步訓練,能用文字、圖形和現代設計方法簡要、系統、正確地表達設計成果。1.4解決問題電子表一般都有顯示時間和日期的功能,用匯編語言設計程序時,由于是在電腦上操作,因而不便于切換時間和日期模式,這時就需要設計一種方式,可以通過鍵盤來切換這種模式,從而達到設計任務所要求的內容。 設計時間時,要設計時間的計數方式,并會循環運行,符合日常的標準。而設計日期時,同樣要注意日期的計數與循環方式。 設計好時間和日期程序后,要把日期和時間值轉換成ASCII碼字符。這就需要設計轉換程序。1.5技術要求《微機接口課程設計》主要是訓練學生綜合運用學過的微機原理的軟件和硬件知識,獨立完成一個實際的微機應用設計系統,并在實驗室實現。此次課設是對個人的程序設計方法和技能的基本訓練,鞏固在課堂上學到的有關程序設計的基本知識和基本方法,為學習后繼的基礎課和專業課打下堅實的基礎。課設所用的是匯編語言,它是一種機器語言,是計算機能提供的最快最有效的語言,也是能夠利用計算機所有硬件性能并能直接控制硬件的語言。實驗不僅培養了實際動手能力,也進一步學習了匯編語言的結構和使用方法,提高了匯編語言的水平。第2章總體方案設計2.1硬件總體設計8259A的主要功能:(1)每片8259A可管理8級優先級中斷源,通過開關,最多可管理64級優先權的中斷源。(2)對任何一個級別的中斷源都可單獨進行屏蔽,使該級中斷請求暫時被掛起,直到取消屏蔽時為止。(3)能向CPU提供可編程的標識碼。(4)具有多種中斷優先權管理方式。有完全嵌套方式、自動循環方式、特殊循環方式、特殊屏蔽方式和查詢方式五種。這些管理方式均可通過程序動態地進行變化。在本設計中用到了這四種功能,電子時鐘的靈活調時功能就是通過對級別的屏蔽或開啟來實現的。8255A的主要功能:可編程外設接口芯片可由程序改變其功能,通用性強、使用靈活。通過8255A,CPU可直接同外設相連接,其負責CPU和外設之間的數據傳送。8253的主要功能:可編程定時器/計數器,其定時與計數功能可由程序靈活地設定,設定后與CPU并行工作,不占用CPU的時間。通道2工作在3方式下,提供計算一秒的中斷請求信號。2.2軟件總體設計電子時鐘主要由顯示模塊、對時模塊和時鐘運算模塊三大部分組成。其中對時模塊和時鐘運算模塊要對時、分、秒的數值進行操作,并且秒計算到60時,要自己清零并向分進1;分計算到60時,要自己清零并向時進1;時計算到24時,要清零。這樣,才能循環記時。第3章詳細設計3.1硬件設計3.1.1顯示模塊 利用數碼管的顯示功能來設計。數碼管是由八個條形發光二極管組成的,這些發光二極管的陰極是互相連接在一起的,所以稱為共陰極數碼管。通過在這八個發光二極管的陽極加+5V或0V的電壓使不同的二極管發光,形成不同的字符和數字。電子時鐘用到的是0到9十個數字,他們所對應的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。該模塊主要是將時鐘運算模塊和對時模塊運算出來并存放在內存單元里的十六進制表示的時位和分位數據轉化為十進制,并通過四個數碼管顯示出來。該模塊實現的硬件是TND86/88的LED-KEYBOARDUNIT。3.1.2時鐘運算模塊該模塊的主要功能是對時、分、秒的運算,并把運算出的最終結果存到事先已經開辟的內存單元里,以便顯示模塊即時地顯示出來。該模塊可以細分為秒定時模塊和運算模塊。秒定時模塊負責提供中斷信號,由于CPU運算模塊中的指令消耗一定的時間,所以中斷信號最好通過硬件來實現,可以選擇TND86/88實驗箱中的8253定時/計數器來提供,但又因為8253所能提供的信號的周期時毫秒級的,因此必須通過軟件的方法在運算模塊中設置一個統計中斷次數的變量,并且這一變量必須事先在內存里開辟存儲單元。中斷信號是8253的通道2工作方式為方式3時,產生一個40ms的脈沖信號。運算模塊負責時、分、秒的計算,該模塊主要通過8259的IRQ7號中斷來實現,首先將秒定時模塊提供的中斷信號為8259的IRQ7中斷請求信號。但由于每40ms一次中斷請求。所以在中斷服務程序必須利用已申請內存單元count來統計中斷請求的次數,只有當count的值為25時,才能讓秒單元內的數值加1。另外,在中斷服務程序里,必須對秒、分和時的單元內的數值進行判斷,當秒加到60時,分必須加1、秒清零;當分加到60時,時加1、分清零。當時加到24啊,直接清零。3.1.3對時模塊該模塊主要功能是修改時、分內存單元的數值。在對時的時候,秒應停止不變,并且在對分進行調整的時,時單元內的數值不變。由以上分析可見,對時、分的調整用兩個優先級高于IRQ7的中斷來完成。因此,可以用8259的IRQ2中斷來實現,兩個中斷源的中斷請求信號只需直接接在兩個按鍵即可起到對時作用。3.1.4設計電路圖電子時鐘的完整電路圖如下:3.2軟件設計3.2.1程序流程圖YesNoYesNoNoNoNoYes中斷服務程序IRQ7YesYesIRQ7中斷COUNT=25?S=S+1COUNT=0S=60?M=M+1S=0M=60?H=H+1M=0H=24?H=0IRETCOUNT=COUNT+1顯示模塊程序圖顯示模塊程序圖 時、分轉化為十進制,存到內存單元中計算時、分的各位數值在TABLE中對應編碼時、分轉化為十進制,存到內存單元中計算時、分的各位數值在TABLE中對應編碼結束開始依次在61H段輸出到LED顯示 YesYesYesYesIRQ6中斷M=M+1M=60?M=0IRET中斷服務程序IRQ6OFF=1?NoOFF=2?H=H+1H=24?YesH=0YesNoNoNoOFF=1?IRETOFF=0屏蔽IRQ6中斷,開IRQ2和IRQ7中斷OFF=3?中斷服務程序IRQ2IRQ2中斷OFF=OFF+1OFF=2?NoNoNoYesOFF=0屏蔽IRQ7中斷,開IRQ2和IRQ6中斷YesYes第4章調試與運行結果說明4.1試驗結果程序初始運行界面圖1開始界面這時,開始根據提示輸入當前時間,出現如下界面:圖2輸入時間后單擊回車鍵之后圖3運行后4.2分析將編寫好的源程序輸入,編譯后出現很多錯誤,經過反復修改直到程序運行通過。將生成的可執行程序裝入TND86/88的內存里,在監控狀態下運行程序,可是數碼管顯示的數字并不與理論計算值相符合,并且顯示的數字不停地閃動,經過反復分析源程序發現問題出現在內存單元里時位和分位在轉化為十進制時,存儲轉化的結果的地址空間的順序弄混了。數字閃動的原因應該出在顯示子程序里,經過分析問題出在顯示子程序里缺少延時程序。編寫延時子程序,并在顯示子程序調用它;編譯源程序,裝入生成的可執行文件,并運行。數碼管顯示的數字與理論值相符合,并能正常計時,但當按動KK1+鍵時,卻不能啟動對時功能,按動KK2+時,也不能調時、調分。問題很可能出在兩鍵控制的中斷源上,檢查源程序也找不出錯誤,當把IRQ5換成IRQ2后,在進行調試,結果成功。課程設計總結1.實驗過程中碰到了很多的難題和障礙,我認識到平時基礎知識的重要性,只有能夠熟練的掌握才能在實驗過程中得心應手,否則一步錯則整個試驗都會陷入困境,因而,嚴謹的態度是試驗成功的重要保障!2.通過這次課程設計,使我對匯編語言有了較清楚的認識,以前在看語言時,有好多地方不明白為什么這么寫,這樣寫有什么優點。對于某些語言句子還不清楚是什么意思。經過這次課程設計,通過查閱資料和向同學請教,明白許多不清楚的地方,能夠用匯編語言編寫簡單的程序,內心感到高興。3.有了這次課程設計的體驗,使我明白了書本上的知識是死的,必須會用,用到實踐中,它才算有用。平時上課的理論知識只是停留在理論的層面,只有通過了這樣的試驗才能更好的體會到,做到了理論和實際的相結合,使理論知識的作用發揮出來。這次設計對我將來的畢業設計有很大啟示和幫助。4.在設計過程中,遇到很多問題,通過和同學的共同研究,解決這些問題。遇到問題時候一起探討,使我在這次設計中獲得的啟示。謝啟通過本次課程設計是深深的體會到了自學能力的重要性和獨立決絕問題的能力以及凝聚力的重要。在本次課程設計當中我們遇到了很多困難,與此同時也得到了孫老師的鼓勵也幫助,這讓我們對自己更有信心,雖然最后我們的程序不是很完善,但是我們盡了自己最大的努力。同時在我們遇到困難時也得到了同學的幫助,雖然她們很忙,但是仍然耐心的幫助我們解決困難,在此我們要深深的感謝她們在為期一周的微機原理課程設計中,使我們接觸到了以前書本上所涉及不到的領域,讓我們感到新奇!在我們完成的功能模塊的背后都交織著一份辛苦與喜悅,而這份辛苦與喜悅卻離不開大家的幫助和支持,當然我們最要感謝的人還有我們的孫老師,因為無論在我們什么時候遇到困難的時候,只要向老師求助,他都會在第一時間為我們解答。雖然我們做的不是很好,但是我們組的每一位成員都在課程設計中學到了知識,希望老師還會給予我們幫助與鼓勵。通過這半年的學習,自己對這門學科有了進一步的了解。因此,我要向老師表達我衷心的謝意。因為她們是那么的兢兢業業、認真負責。不管我們的問題有多幼稚,老師都能耐心的回答,認真輔導我們。在此,我再一次地感謝大家在課程設計期間的幫助和支持參考文獻[1]李芷.微機原理與接口技術[M].2002.[2]王愛英.計算機組成與結構[M].北京:清華大學出版社.1995.[3]沈美明,溫冬蟬.IBM-PC匯編語言程序設計[M].清華大學出版社.2003.[4]董方武.微機接口技術[M].中國水利水電出版社.2001.[5]宋錦河.匯編語言程序設計[M].中國水利水電出版社.2001.[6]唐延鈴,工小剛.匯編語言程序設計[M].電子科技大學.1998[7]王元珍,韓宗芬IBM-PC匯編語言程序設計[M].華中理工大學出版社.1996.[8]戴梅萼,史嘉權.微型計算機技術與運用[M].清華大學出版社2003.附錄程序清單:DATASEGMENTBUF1DB'THETIMEISNOW:$'BUF4DB'LILI$'BUF2DB10DB10DUP(?)COUNTDB18DATAENDSSTACKSEGMENTSTACKDB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK CURSORMACROROW,CLM MOVAH,02H MOVBH,0 MOVDH,ROW MOVDL,CLM INT10H ENDM WINMACROROWL,CLML,ROWR,CLMR,COLOR MOVAH,06H MOVAL,0 MOVCH,ROWL MOVCL,CLML MOVDH,ROWR MOVDL,CLMR MOVBH,COLOR INT10H ENDM ASCBCDMACROREG INCBX INCBX MOVREG,[BX] MOVCL,4 SHLREG,CL INCBX MOVAL,[BX] ANDAL,0FH ORREG ENDM BCDASCMACROREG INCBX INCBX MOVAL,REG MOVCL,4 SHRAL,CL ORAL,30H MOV[BX],AL INCBX MOVAL,REG ANDAL,0FH ORAL,30H MOV[BX],AL ENDM INCBCDMACROREG,COUNT MOVAL,REG INCAL DAA MOVREG,AL CMPAL,COUNT JNZDISPY MOVREG,0 ENDMSTRDSPYMACROADRS LEADX,ADRS MOVAH,9 INT21H ENDMCLOCKPROCFARSTART:PUSHDS MOVAX,0 PUSHAX MOVAX,DATA MOVDS,AX WIN0,0,24,79,7 WIN6,9,18,70
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關于瓷磚合同樣本
- 介紹買賣居間合同標準文本
- 寫運輸訂單合同樣本
- 個人股東入股合同范例
- 農田出租合同樣本
- 四年級班主任課堂教學改革計劃2024-2025學期
- 零售業顧客體驗提升培訓計劃
- 寧波市普通高中語文課堂創新計劃
- 中醫藥創新與發展培訓計劃
- 2025小學數學教研組教學資源整合計劃
- 風電場檢查合同協議書
- 佛云學校多功能室、電教室、體育館設備采購項目招標文件
- 人教八年級上冊數學《從分數到分式》教學課件
- DLT596-1996執行標準與規范
- 幼兒園班級幼兒圖書目錄清單(大中小班)
- 烈士陵園的數字化轉型與智能服務
- 施工風險技術風險
- (高清版)JGT 225-2020 預應力混凝土用金屬波紋管
- 2024年天津開放大學《機械制圖》階段性考核參考試題庫(含答案)
- 結構設計合理性分析
- PICC相關靜脈血栓護理查房案例
評論
0/150
提交評論