




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué) 號: 課 程 設(shè) 計題 目采用匯編語言建立8259A中斷控制器硬件中斷的應(yīng)用學(xué) 院計算機(jī)科學(xué)與技術(shù)學(xué)院專 業(yè)計算機(jī)科學(xué)與技術(shù)班 級姓 名指導(dǎo)教師接口課程設(shè)計任務(wù)書學(xué)生姓名 專業(yè)班級 指導(dǎo)老師 工作單位 武漢理工大學(xué) 題目:采用匯編語言建立8259A中斷控制器硬件中斷的應(yīng)用一、 內(nèi)容:根據(jù)附錄中由8259中斷控制器建立的硬件中斷圖,建立硬件中斷應(yīng)用。在MIFID微機(jī)實驗臺上的IED使用匯編程序設(shè)計語言編程實現(xiàn)。二、 要求:1、 使用微機(jī)中IRQ10中斷,中斷號是72H。2、 定時/計數(shù)器8253采用方式3,OUT2的輸出上升沿給IRQ10,作為中斷申請。每隔2秒鐘發(fā)出一次中斷請求信號。3、
2、在中斷服務(wù)子程序中,設(shè)計按一定的規(guī)律點亮LED發(fā)光二極管。4、 按一定的規(guī)律點亮LED發(fā)光二極管的數(shù)據(jù)存入文件中,同時數(shù)據(jù)在CRT上的指定位置顯示出來。5、 設(shè)計程序運行時的界面友好。三、 進(jìn)度安排:序號內(nèi)容所用時間1接口電路設(shè)計2天2編寫程序1天3調(diào)試程序1天4撰寫課程設(shè)計報告1天合計5天 指導(dǎo)教師簽名: 年 月 日 系主任(責(zé)任教師)簽名: 年 月 日1. 概述1. 課題與分析2. 總體設(shè)計1. 設(shè)計方法與步驟2. 總體設(shè)計3. 總體流程圖3. 主要芯片介紹1. 8086主要作用介紹2. 8255主要工作方式介紹3. 8259主要功能和性能介紹4. 8253工作方式介紹4. 程序模塊功能介
3、紹1. 8255初始化模塊2. 8259初始化模塊3. 子程序模塊5. 實驗結(jié)果介紹6. 附加代碼1. 附加代碼7. 課設(shè)總結(jié)1. 概述1:課題及分析微機(jī)原理與接口技術(shù)是以微機(jī)為對象,研究其工作原理及其內(nèi)部各個硬件之間的關(guān)系,和微機(jī)對信息的加工過程的一門綜合性課程。微處理器是現(xiàn)代生活之中不可缺少的部分,不論是在工商業(yè),教育,交通運輸?shù)阮I(lǐng)域,微處理器都起到不可代替的作用。采用匯編語言建立8259A中斷控制器硬件中斷的應(yīng)用根據(jù)附錄中由8259中斷控制器建立的硬件中斷圖,建立硬件中斷應(yīng)用。在MIFID微機(jī)實驗臺上的IED使用匯編程序設(shè)計語言編程實現(xiàn)。對于這個課題我們先從各個微機(jī)芯片的接口功能開始研究
4、,由于使用硬中斷,所以采用了8259芯片的級聯(lián)方式使用到IRQ10中斷也就是中斷向量里的71H號中斷,采用硬件中斷,由于只是簡單的課設(shè)我們可以采用8253的方波輸出來設(shè)置硬件中斷的輸入信號,題目所要求的2秒每次的中斷,根據(jù)8088/8086的時鐘信號頻率,需要對8253的2個計數(shù)器進(jìn)行連接,將8253的頻率從1.19Mhz降低到0.5HZ,第一個計數(shù)器設(shè)置65535計數(shù)值,輸出端的計數(shù)值設(shè)置為38。對于從CPU中接收到的硬中斷信號,我們需要一定的方式表達(dá)出來,才能知道實驗的成功和中斷的成功與否。于是采用8255A口的輸出與LED燈臺的連接,對于每一個8255A端口送來的因為中斷引起的信號和系統(tǒng)
5、增加的值予以表示,為了顯式的表現(xiàn)中斷,我們給他每次中斷都加1操作然后通過8255A的A口輸出到LED燈臺上,通過00000000 的8位燈的亮滅表示中斷次數(shù)的二進(jìn)制表示。此次課設(shè)從硬件接口線路、軟件編寫對系統(tǒng)進(jìn)行研究,該系統(tǒng)最大優(yōu)點在于可以根據(jù)不同需要,靈活運用不同原件來實現(xiàn)不同的響應(yīng)程序,編程簡便,原理簡單。由于采用匯編語言進(jìn)行設(shè)計,所以程序易懂,簡潔,運行速度快,對于硬中斷的控制進(jìn)入了系統(tǒng)的最底層,效率非常好。模塊的理解性容易下手,匯編與微機(jī)的聯(lián)系較大,故此次課設(shè)的硬件軟件設(shè)計是比較配置合理的。2:總體設(shè)計2.1設(shè)計方法與步驟 學(xué)習(xí)各個芯片功能和作用,結(jié)合任務(wù)要求設(shè)定8255及8259的工
6、作方式。 通過要求的通過74LS138譯碼實現(xiàn)各存儲器及8255,8259芯片的地址譯碼,選擇8255的A口為外部輸出端口 根據(jù)設(shè)想畫出接口電路圖,并設(shè)計各芯片的端口地址。 設(shè)計中斷源:IR10:由8253提供中斷信號,該信號有效,輸入一個高電平信號。 這個系統(tǒng)的開始運行由8086/8088和實驗平臺上的開關(guān)控制 根據(jù)端口地址,各芯片實現(xiàn)的功能,工作方式,編寫初始化程序和中斷子程序。 在電腦上進(jìn)行程序調(diào)試。2.2總體布局 8255A A口輸出采用0方式,8259接收到8253的硬中斷然后通過總線輸送到8088/8086CPU芯片上,通過一系列指令處理之后輸送到8255A,最終由8255A來完成
7、對外面的顯示,告知中斷源的設(shè)置和整體程序的運行成功。2.3總體流程圖CPU與8255接口端概述圖 8255A 已經(jīng)接好 A 口 A口 0方式 輸出 A口的每個腳;PA0PA7;接LED發(fā)光二級管一個,CPU與中斷源8253中斷控制器8259A連接該書圖定時/計數(shù)器8253的OUT2、OUT1的輸出波形 定時/計數(shù)器8253 中斷控制器8259A OUT1 IRQ10 CLK1 中斷號 1193181MHZ 72HCLK2 OUT23.1 8086CUP介紹3.1.1 8086最大模式的典型配置 8086管腳圖3.1.2 8086最小模式管腳功能(1)AD15AD0:分時復(fù)用的地址/數(shù)據(jù)引腳,具
8、有雙向、三態(tài)功能。在總線周期的第一個時鐘周期T1用來輸出要訪問的存儲單元或I/O端口的低16位地址A15A0。(2)A19A16/S6S3:地址,狀態(tài)服用的引腳,三態(tài)輸出。在8088執(zhí)行指令的過程中,某一時刻從這4個引腳上送出地址的最高4位(A19A16)。而在另外的時刻,這4個引腳送出狀態(tài)信號S6S3。這些信息狀態(tài)里,在其它時鐘周期,則用來輸出狀態(tài)信息。(3)BHE/S7:高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,三態(tài)輸出,低電平有效.BHE0表示數(shù)據(jù)總線高8位AD15AD8有效,即8086使用了16根數(shù)據(jù)線。用作選體信號,與最低位地址線A0配合,表示當(dāng)前總線使用情況。S7用來輸出狀態(tài)信息,在808
9、6芯片設(shè)計中未被賦予實際意義。(4)RD:讀信號,三態(tài)、輸出。低電平有效時,表示當(dāng)前CPU正在對存儲器或IO端口進(jìn)行讀操作。(5)READY:準(zhǔn)備就緒信號,輸入,高電平有效。READY1時,表示CPU訪問的存儲器或I/O端口已準(zhǔn)備好傳送數(shù)據(jù),馬上可以進(jìn)行讀寫操作。(6)TEST:測試信號,輸入,低電平有效。引腳用于多處理器系統(tǒng)中,實現(xiàn)8086與協(xié)處理器間的同步。(7)INTR:可屏蔽中斷請求信號,輸入,電平觸發(fā),高電平有效。(8)NMI:不可屏蔽中斷請求信號,輸入,上升沿觸發(fā)。(9)RESET:復(fù)位信號,輸入,高電平有效。CPU復(fù)位后,從FFFF0H單元開始讀取指令。(10)CLK:主時鐘信號
10、,輸入。(11)MN/MX:工作方式選擇信號,輸入。MN/MX1,CPU工作在最小模式下;MN/MX0,CPU工作在最大模式下。(12)電源線Vcc和地線GND:8086只需單一的+5V±10%電源,由Vcc端輸入,GND是接地端。3.13:8088/8086的性能標(biāo)準(zhǔn) 8086:16位微處理器;8088:準(zhǔn)16位 采用高速運算性能的HMOS工藝制造,芯片上集成了2.9萬只晶體管; 使用單一的+5V電源,40條引腳雙列直插式封裝; 時鐘頻率為5MHz10MHz,基本指令執(zhí)行時間為0.3ms0.6ms; 16根數(shù)據(jù)線和20根地址線,可尋址的地址空間達(dá)1MB 8088/8086可以和浮點
11、運算器、I/O處理器或其他處理器組成多處理器系統(tǒng),從而極大地提高了系統(tǒng)的數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力。 輸入輸出接口包含一組稱為I/O端口的寄存器。三類不同的端口分別傳送三類不同的信息。為了讓CPU能夠訪問這些I/O端口,每個I/O端口都需有自己的端口地址(或端口號)。在一個微型計算機(jī)系統(tǒng)中,如何編排這些I/O接口的端口地址,即所謂I/O端口的編址方式。8255管腳圖3.2 8255可編程并行接口芯片簡介:8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應(yīng)于引腳PA7PA0、PB7PB0和PC7PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。
12、C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口AB配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。8255可編程并行接口芯片工作方式說明:方式0:基本輸入輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。方式1:選通輸入輸出方式。這時A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號和中斷請求信號。方式2 :雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡(luò)信號和中斷請求信號。3.3 8259可編程中斷控制器
13、一片8259可以管理8級中斷,通過多片級聯(lián)可擴(kuò)展至64級;每一級都可單獨被屏蔽或允許。8259在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號;8259設(shè)計有多種工作方式,可以通過編程來選擇,以適應(yīng)不同的應(yīng)用場合。它的主要功能有:1.具有8級優(yōu)先權(quán)控制,通過級連可擴(kuò)展至64級優(yōu)選權(quán)控制。2.每一級中斷都可以屏蔽或允許。3.在中斷響應(yīng)周期,8259可提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至中斷服務(wù)程序。8259是可編程的中斷控制器。當(dāng)有一條或若干條中斷請求輸入線(IRQ1IRQ7)變高,如果沒有中斷程序在運行, 則執(zhí)行此中優(yōu)先級最高的中斷,如果有中斷程序在運行,那么則將正在運行的程序的中斷優(yōu)先級與中斷申請信號
14、的優(yōu)先級比較,如申請信號的優(yōu)先級低,則掛起正在運行的程序,轉(zhuǎn)而執(zhí)行優(yōu)先級高的中斷程序;反之則不做響應(yīng)。8259的工作方式1屏蔽中斷源方式普通屏蔽方式:使屏蔽寄存器IMR中的某一位置1,屏蔽指定中斷源的中斷請求;若要開放某一中斷時,則IMR中相應(yīng)位置0。特殊屏蔽方式:在某些場合,在執(zhí)行某一個中斷服務(wù)程序時,要求允許另一優(yōu)先級比它低的中斷請求被響應(yīng),此時可采用特殊屏蔽方式。2:設(shè)置優(yōu)先權(quán)方式普通全嵌套方式:中斷級別由高到低為IR0 -IR7,并且只允許中斷級別高的中斷源去中斷中斷級別低的的中斷服務(wù)程序。特殊全嵌套方式:與普通全嵌套方式基本相同。不同的是,在特殊全嵌套方式下,當(dāng)執(zhí)行某一級中斷服務(wù)程序
15、時,可響應(yīng)同級的中斷請求。優(yōu)先級自動循環(huán)方式:優(yōu)先級的順序會變化。某一個中斷被響應(yīng)后,它的優(yōu)先級就自動降為最低,它的下一級升為最高。其初始的優(yōu)先級由高到低為IR0、IR1、IR2.IR7。優(yōu)先級指定循環(huán)方式:與優(yōu)先自動輪換方式相似。不同的是,在優(yōu)先級指定循環(huán)方式下,其初始的優(yōu)先級可以由用戶自行指定的。3.4:8253的工作方式1、數(shù)據(jù)總線緩沖器: 8位雙向三態(tài)緩沖器。 通過編寫程序向8253寫入確定8253工作方式的命令; 向計數(shù)寄存器裝入計數(shù)初值;讀出當(dāng)前計數(shù)值。2、讀/寫控制邏輯: 8253內(nèi)部操作的控制部分。 按照CPU發(fā)來的讀寫信號及地址信號產(chǎn)生相應(yīng)的控制信 號,來選擇讀/寫操作的端口
16、、控制數(shù)據(jù)的傳送方向,以及對控制寄存器的寫入。3、控制字寄存器: 控制字寄存器是8位的,只能寫不能讀。 在初始化編程時,CPU寫入方式控制字到控制字寄存器 中,用以選擇計數(shù)通道及其相應(yīng)的工作方式。 4、計數(shù)器0、計數(shù)器1、計數(shù)器2 內(nèi)部結(jié)構(gòu)相同、功能相同,有各自獨立的端口地址。每個計數(shù)通道都由計數(shù)初值寄存器、減法計數(shù)器和計數(shù)值鎖存器這三個組成。作計數(shù)/定時器時,計數(shù)次數(shù)/定時系數(shù)提前預(yù)置到計數(shù)器,計數(shù)/時鐘以脈沖方式從 CLK端輸入,每輸入一個脈沖計數(shù)器減1,減到0,OUT端有輸出,計數(shù)結(jié)束/定時時間到。 5:8253的計數(shù)方式計數(shù)初值寄存器(16位):用于存放計數(shù)初值,其長度為16位,故最大
17、計數(shù)值為65536。此寄存器的初值同減1計數(shù)器的初值在初始化時同時裝入的。減1計數(shù)器(16位):用于進(jìn)行減1操作,每來一個時鐘脈沖,就作減1運算,直至將計數(shù)初值減為0為止。計數(shù)值鎖存器(16位):鎖存減1 計數(shù)器的內(nèi)容,以供讀出和查詢。方式3:方波發(fā)生器 工作方式3被稱作方波發(fā)生器,其定時波型如圖所示。任一通道工作在方式3, 只在計數(shù)值n為偶數(shù),則可輸出重復(fù)周期為n、占空比為1:1的方波。 進(jìn)入工作方式3,OUTi輸出低電平, 裝入計數(shù)值后,OUTi立即跳變?yōu)楦唠娖?。如果?dāng)GATE為高電平, 則立即開始減“1”計數(shù),OUTi保持為高電平,若n為偶數(shù),則當(dāng)計數(shù)值減到n/2時,OUTi跳變?yōu)榈碗娖?/p>
18、,一直保持到計數(shù)值為“0”,系統(tǒng)才自動重新置入計數(shù)值n,實現(xiàn)循環(huán)計數(shù)。這時OUTi端輸出的周期為n×CLKi周期,占空比為1:1的方波序列; 若n為奇數(shù), 則OUTi端輸出周期為n×CLKi周期,占空比為(n+1)/2)/(n-1)/2)的近似方波序列。 如果在操作過程中, GATE變?yōu)闊o效,則暫停減“1”計數(shù)過程,直到GATE再次有效,重新從初值n開始減“l(fā)”計數(shù)。 如果要求改變輸出方波的速率, 則CPU可在任何時候重新裝入新的計數(shù)初值n,并從下一個計數(shù)操作周期開始改變輸出方波的速率。4:程序模塊功能介紹4.1:8255初始化模塊MOV DX,303H ;8255初始化
19、A:OUT MODEL MOV AL,10000000BOUT DX,AL MOV DX,300H ;關(guān)8255 A口MOV AL,00HOUT DX,AL8255初始化控制設(shè)置10000000B 采用8255A口B口C口全輸出方式4.2: 8259初始化模塊IN AL,0A1H ;8259 開IRQ10: 從片OCW1 AND AL,11111011BOUT 0A1H,AL IN AL,21H ;8259 開IR2; 主片OCW1AND AL,11111011BOUT DX,AL4.3: 子程序模塊T8255PROC FARPUSH SIPUSH AXPUSH DXCLIMOV SI,OFF
20、SET AMOV AL,SIINC ALMOV SI,ALMOV DX,300HOUT DX,ALSTIPOP DXPOP AXPOP SIIRETT8255ENDP對于子程序模塊的設(shè)計主要是完成系統(tǒng)的功能按一定的規(guī)律點亮LED發(fā)光二極管的數(shù)據(jù)存入文件中,同時數(shù)據(jù)在CRT上的指定位置顯示出來。,程序段中初始記錄值是1,每中斷一次寄存器AL自動加1并存入到A+1的地址當(dāng)中,然后將中斷次數(shù)的值通過8255在LED燈顯示臺上顯示出來。5:實驗結(jié)果介紹時鐘應(yīng)該響應(yīng)的2秒中斷設(shè)置圖主要接線截圖在最終實驗的結(jié)果中,我們看到,當(dāng)我們運行程序開始之后,隨著時間的遷移燈的亮弱顯示如圖由于實驗中燈的顯示過快,故設(shè)
21、置如上模擬燈的顯示圖附錄:SSTACK SEGMENT STACKDW 50 DUP(?)SSTACK ENDSDATASEGMENT PARA PUBLIC 'DATA'OLD_SEG DW ?OLD_OFF DW ?A DB 0DATA ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:SSTACKSTART: IN AL,0A1H ;8259 開IRQ10: 從片OCW1 AND AL,11111011BOUT 0A1H,AL IN AL,21H ;8259 開IR2; 主片OCW1AND AL,11111011BOUT DX,AL MOV
22、 DX,303H ;8255初始化 A:OUT MODEL MOV AL,10000000BOUT DX,AL MOV DX,300H ;關(guān)8255 A口MOV AL,00HOUT DX,ALMOV AX,3572H ;讀出IRQ10的中斷向量 INT 21HMOV OLD_OFF,BXMOV BX,ESMOV OLD_SEG,BXCLI MOV AX,2572H ;置入新的中斷向量 MOV DX,SEG T8255PUSH DSMOV DS,DXLEA DX,T8255INT 21HPOP DSSTIIN AL,0A1H ;開IRQ10AND AL,0FBHOUT 0A1H,ALIN AL,21H ;開IRQ2AND AL,0FBHOUT 021H,ALMOV DX,307HMOV AL,10110110B ;8253INIT 2#, MODEL3OUT DX,ALMOV DX,306HMOV AL,0FFHOUT DX,ALMOV AL,0FFHOUT DX,AL MOV DX,307HMOV AL,01110110B ;8253INIT 1#, MODEL3OUT DX,ALMOV DX,305HMOV AL,26HOUT DX,ALMOV AL,00HOU
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津房地產(chǎn)市場研究報告調(diào)查分析總結(jié)
- 遼寧工程職業(yè)技術(shù)學(xué)院職測復(fù)習(xí)測試有答案
- CRH380AL型車組三級修復(fù)習(xí)測試題
- 氣瓶復(fù)習(xí)測試題
- 結(jié)合案例分析2025年信息系統(tǒng)監(jiān)理師考試試題及答案
- 針對性的公路工程試題及答案
- 現(xiàn)代物流管理綜合測試題
- 合同協(xié)議誠意金協(xié)議
- 環(huán)境保護(hù)與污染治理測試題
- 行政組織的綜合評價體系研究試題及答案
- 2023年上海海洋大學(xué)碩士研究生自然辯證法試題庫完整版
- GA/T 445-2003公安交通指揮系統(tǒng)建設(shè)技術(shù)規(guī)范
- 發(fā)動機(jī)機(jī)械-01.1cm5a4g63維修手冊
- 馬克思主義新聞觀十二講之第八講堅持新聞?wù)鎸嵲瓌t課件
- 交通信號控制系統(tǒng)檢驗批質(zhì)量驗收記錄表
- 護(hù)理部用藥安全質(zhì)量評價標(biāo)準(zhǔn)
- 中國本土私募股權(quán)基金的投資管理及退出(清華)
- 汽車零部件規(guī)范申報ppt課件
- 門護(hù)板設(shè)計指導(dǎo)書RYSAT
- 沙盤游戲治療(課堂PPT)
- 祭侄文稿顏真卿
評論
0/150
提交評論