創(chuàng)新2012級(jí)-第6章輸入輸出技術(shù)_第1頁
創(chuàng)新2012級(jí)-第6章輸入輸出技術(shù)_第2頁
創(chuàng)新2012級(jí)-第6章輸入輸出技術(shù)_第3頁
創(chuàng)新2012級(jí)-第6章輸入輸出技術(shù)_第4頁
創(chuàng)新2012級(jí)-第6章輸入輸出技術(shù)_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章輸入輸出技術(shù)6.3中斷方式6.4直接存貯器存取

6.2程序控制方式

6.1輸入輸出的基本方法

第6章基本輸入輸出接口教學(xué)重點(diǎn)

I/O接口電路的典型結(jié)構(gòu)無條件傳送方式查詢傳送方式中斷工作過程6.1輸入輸出的基本方法6.1.1輸入輸出接口的概念及基本結(jié)構(gòu)為什么需要I/O接口(電路)?微機(jī)的外部設(shè)備多種多樣工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大它們不能與CPU直接相連必須經(jīng)過中間電路再與系統(tǒng)相連這部分電路被稱為I/O接口電路多種外設(shè)1.接口電路6.1.1輸入/輸出接口概述(續(xù)1)什么是I/O接口(電路)?I/O接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路PC機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路CPU接口電路I/O設(shè)備6.1.1輸入/輸出接口概述(續(xù)2)什么是微機(jī)接口技術(shù)?處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)注意其軟硬結(jié)合的特點(diǎn)根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,編制配套的接口程序,支持和連接有關(guān)的設(shè)備2.接口電路分類⑴按接口電路的通用性⑵按數(shù)據(jù)傳送格式⑶按接口是否可編程⑷按時(shí)序控制方式

專用接口通用接口

并行接口串行接口

可編程接口不可編程接口

同步接口異步接口

3.

接口的基本功能⑴對(duì)輸入輸出數(shù)據(jù)進(jìn)行緩沖和鎖存輸出接口有鎖存環(huán)節(jié)輸入接口有緩沖環(huán)節(jié)⑵對(duì)信號(hào)的形式和數(shù)據(jù)的格式進(jìn)行變換微機(jī)直接處理:數(shù)字量、開關(guān)量、脈沖量⑶對(duì)I/O端口進(jìn)行尋址⑷與CPU和I/O設(shè)備進(jìn)行聯(lián)絡(luò)⑸中斷管理/DMA控制功能4.接口電路的基本結(jié)構(gòu)控制總線CB地址總線ABI/O接口電路數(shù)據(jù)控制狀態(tài)數(shù)據(jù)總線DBCPU外設(shè)控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器6.1.2外設(shè)接口的編址方式接口電路占用的I/O端口有兩類編排形式I/O端口單獨(dú)編址I/O地址空間獨(dú)立于存儲(chǔ)地址空間如8086/8088I/O端口與存儲(chǔ)器統(tǒng)一編址它們共享一個(gè)地址空間如M68001.I/O端口與存儲(chǔ)器統(tǒng)一編址優(yōu)點(diǎn):不需要專門的I/O指令I(lǐng)/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活缺點(diǎn):I/O端口要占去部分存儲(chǔ)器地址空間程序不易閱讀(不易分清訪存和訪問外設(shè))內(nèi)存部分I/O部分存儲(chǔ)空間0FFFFF2.I/O端口單獨(dú)編址優(yōu)點(diǎn):I/O端口的地址空間獨(dú)立控制和地址譯碼電路相對(duì)簡單專門的I/O指令使程序清晰易讀缺點(diǎn):I/O指令沒有存儲(chǔ)器指令豐富內(nèi)存空間I/O空間FFFFF0FFFF080x86采用I/O端口獨(dú)立編址補(bǔ)充:8088/8086的輸入輸出指令輸入指令I(lǐng)NAL,i8/DX ;字節(jié)輸入INAX,i8/DX ;字輸入輸出指令OUTi8/DX,AL ;字節(jié)輸出OUTi8/DX ;字輸出功能演示功能演示6.1.3輸入輸出的基本方法1.程序控制方式2.中斷控制方式3.直接存儲(chǔ)器存取控制方式4.通道方式5.外圍處理方式數(shù)據(jù)傳送方式程序控制下的數(shù)據(jù)傳送——通過CPU執(zhí)行程序中的I/O指令來完成傳送,又分為:無條件傳送查詢傳送中斷傳送直接存儲(chǔ)器存?。―MA)——傳送請(qǐng)求由外設(shè)向DMA控制器(DMAC)提出,后者向CPU申請(qǐng)總線,最后DMAC利用系統(tǒng)總線來完成外設(shè)和存儲(chǔ)器間的數(shù)據(jù)傳送I/O處理機(jī)——CPU委托專門的I/O處理機(jī)來管理外設(shè),完成傳送和相應(yīng)的數(shù)據(jù)處理1.無條件傳送方式及其接口在CPU與慢速變化的設(shè)備交換數(shù)據(jù)時(shí),可以認(rèn)為它們總是處于“就緒”狀態(tài),隨時(shí)可以進(jìn)行數(shù)據(jù)傳送,這就是無條件傳送,或稱立即傳送、同步傳送適合于簡單設(shè)備,如LED數(shù)碼管、按鍵/按紐等無條件傳送的接口和操作均十分簡單這種傳送有前提:外設(shè)必須隨時(shí)處于就緒狀態(tài)傳送流程接口實(shí)例6.2.程序控制方式無條件傳送:輸入示例IOR三態(tài)緩沖器OEI/O裝置地址譯碼器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX檢測(cè)開關(guān)狀態(tài)無條件傳送:輸入實(shí)例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2數(shù)據(jù)總線CSRD無條件傳送:輸出示例地址譯碼器數(shù)據(jù)鎖存器A15A0~A14-IOWCS0160H輸出設(shè)備D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL無條件傳送:輸出實(shí)例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE數(shù)據(jù)總線CSWR無條件傳送:輸入輸出接口K7K1K0+5VD0~D7A0~A15CLKLS06反相驅(qū)動(dòng)器LS2738D鎖存器LS244三態(tài)緩沖器8000H譯碼+5VLED0LED7……-G-IOW-IOR無條件傳送:輸入輸出接口next: movdx,8000h ;DX指向數(shù)據(jù)端口

inal,dx

;從輸入端口讀開關(guān)狀態(tài)

notal ;反相

outdx,al

;送輸出端口顯示

calldelay ;調(diào)子程序延時(shí)

jmpnext ;重復(fù)就緒?2.查詢傳送方式及其接口CPU先了解(查詢)外設(shè)的工作狀態(tài),在外設(shè)就緒(可以交換信息的情況下)實(shí)現(xiàn)數(shù)據(jù)的輸入或輸出對(duì)多個(gè)外設(shè)的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低查詢傳送的兩個(gè)環(huán)節(jié)查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標(biāo)志位若不就緒就繼續(xù)查詢,直至就緒傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過輸入指令從數(shù)據(jù)口讀入數(shù)據(jù)是輸出,通過輸出指令向數(shù)據(jù)口輸出數(shù)據(jù)輸入狀態(tài)就緒?數(shù)據(jù)交換YN傳送流程接口實(shí)例查詢輸入接口-IOR+5V8D鎖存器8位三態(tài)緩沖器譯碼1位三態(tài)緩沖器

A0~A158000H8001HD0~D7D0輸入設(shè)備-IOR-STBRQD查詢輸入接口

movdx,8000h ;DX指向狀態(tài)端口status:inal,dx

;讀狀態(tài)端口

testal,01h ;測(cè)試標(biāo)志位D0 jzstatus;D0=0,未就緒,繼續(xù)查詢

incdx;D0=1,就緒,DX指向數(shù)據(jù)端口

inal,dx;從數(shù)據(jù)端口輸入數(shù)據(jù)查詢輸出接口8D鎖存器譯碼1位三態(tài)緩沖器RQ

A0~A158000H8001HD0~D7D7D+5V-ACK-IOW-IOR輸出設(shè)備查詢輸出接口

movdx,8000h ;DX指向狀態(tài)端口status: inal,dx ;讀取狀態(tài)端口的狀態(tài)數(shù)據(jù)

testal,80h ;測(cè)試標(biāo)志位D7 jnzstatus ;D7=1,未就緒,繼續(xù)查詢

incdx ;D7=0,就緒,DX指向數(shù)據(jù)端口

moval,buf ;變量buf送AL

outdx,al ;將數(shù)據(jù)輸出給數(shù)據(jù)端口6.3中斷傳送方式程序斷點(diǎn)主程序中斷請(qǐng)求為外設(shè)繼續(xù)執(zhí)行返回?cái)帱c(diǎn)傳送流程CPU在執(zhí)行程序中,被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷服務(wù)程序;服務(wù)結(jié)束后,又返回原來的斷點(diǎn),繼續(xù)執(zhí)行原來的程序提供服務(wù)中斷服務(wù)程序

入口6.3.1中斷的基本概念1.中斷的概念2.中斷控制方式中斷傳送是一種效率更高的程序傳送方式進(jìn)行傳送的中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的中斷請(qǐng)求是外設(shè)隨機(jī)向CPU提出的CPU對(duì)請(qǐng)求的檢測(cè)是有規(guī)律的:一般是在每條指令的最后一個(gè)時(shí)鐘周期采樣中斷請(qǐng)求輸入引腳本書主要論述中斷在輸入和輸出方面的應(yīng)用中斷還有著非常廣泛的應(yīng)用3.中斷源能夠引發(fā)中斷的事件被稱為中斷源。通常,中斷源有兩類:內(nèi)部中斷源和外部中斷源。由處理機(jī)內(nèi)部產(chǎn)生的中斷事件稱為內(nèi)部中斷源。常見的內(nèi)部中斷源有計(jì)算溢出、指令的單步運(yùn)行、執(zhí)行特定的中斷指令等。由處理機(jī)之外的外圍設(shè)備產(chǎn)生的中斷事件稱為外部中斷源。常見的外部中斷源有外設(shè)的輸入/輸出請(qǐng)求、定時(shí)時(shí)間到、電源掉電、設(shè)備故障等。三態(tài)緩沖器中斷傳送與接口(續(xù))D0~D7+5V8D鎖存器8位三態(tài)緩沖器RQ

譯碼8001H中斷向量號(hào)D0~D7INTRD輸入設(shè)備中斷允許觸發(fā)器A0~A15中斷請(qǐng)求觸發(fā)器-IOR-INTA-STB4.中斷處理過程中斷請(qǐng)求(外設(shè))中斷響應(yīng)(CPU)關(guān)中斷(CPU)斷點(diǎn)保護(hù)(CPU)中斷識(shí)別(硬件/軟件)現(xiàn)場(chǎng)保護(hù)(用戶)中斷服務(wù)(用戶)恢復(fù)現(xiàn)場(chǎng)(用戶)開中斷(CPU/用戶)中斷返回(用戶)中斷服務(wù)是進(jìn)行數(shù)據(jù)交換的實(shí)質(zhì)性環(huán)節(jié)5.中斷系統(tǒng)的功能

①能進(jìn)入中斷和退出中斷,即完成上述中斷響應(yīng)和中斷返回的過程.②能對(duì)某些中斷進(jìn)行屏蔽,并在必要時(shí)開放.③能進(jìn)行優(yōu)先權(quán)排隊(duì).④提供中斷嵌套能力.

6.3.28086中斷系統(tǒng)8086的中斷系統(tǒng)采用向量中斷機(jī)制一共可處理256個(gè)中斷采用中斷向量編號(hào)0~255,對(duì)256個(gè)中斷加以區(qū)別可屏蔽中斷需借助專用的中斷控制器Intel8259A對(duì)系統(tǒng)中的可屏蔽中斷資源進(jìn)行管理:擴(kuò)充系統(tǒng)的可屏蔽中斷資源,并管理它們:實(shí)現(xiàn)中斷優(yōu)先權(quán)比較實(shí)現(xiàn)中斷源的識(shí)別1.8086中斷類型硬件中斷軟件中斷

⑴硬件中斷

硬件中斷,又稱外部中斷,它是由處理器外部的硬件、外圍設(shè)備的請(qǐng)求而引起的中斷。8086有兩條硬件中斷請(qǐng)求信號(hào)線:NMI(非屏蔽中斷)和INTR(可屏蔽中斷)。8088的中斷類型中斷邏輯INTO指令單步中斷除法錯(cuò)誤INTN指令CPUNMI8259A中斷控制器IR0IR1IR2IR3IR4IR5IR6IR7外設(shè)中斷源

-INTA可屏蔽中斷申請(qǐng)

INTR不可屏蔽中斷申請(qǐng)可屏蔽中斷源不可屏蔽中斷源內(nèi)部中斷⑵軟件中斷(內(nèi)部中斷)內(nèi)部中斷——內(nèi)部機(jī)制產(chǎn)生除法錯(cuò)中斷(0號(hào))——除運(yùn)算結(jié)果溢出時(shí)產(chǎn)生指令中斷(n號(hào))——執(zhí)行intn指令后產(chǎn)生(操作碼CDH)斷點(diǎn)中斷(3號(hào))——執(zhí)行int3指令(單字節(jié)指令操作碼CCH)用于在調(diào)試中設(shè)置斷點(diǎn),程序遇斷點(diǎn)則中斷溢出中斷(4號(hào))——執(zhí)行into指令,且前面運(yùn)算有溢出(OF=1)時(shí)產(chǎn)生單步中斷(1號(hào))——TF標(biāo)志置1后,每執(zhí)行一條子指令將發(fā)生一次外部中斷——外部引腳觸發(fā)非屏蔽中斷(外設(shè)提供向量號(hào))——觸發(fā)INTR引腳產(chǎn)生可屏蔽中斷(2號(hào))——

觸發(fā)NMI引腳產(chǎn)生⑶中斷優(yōu)先權(quán)

8086規(guī)定中斷優(yōu)先權(quán)從高到低的順序?yàn)椋孩俪ㄥe(cuò)、溢出中斷指令I(lǐng)NTO、中斷指令I(lǐng)NTn。②非屏蔽中斷NMI。③可屏蔽中斷INTR。④單步中斷。2.8088的中斷向量表中斷向量:指示中斷服務(wù)程序的入口地址,該地址包括:偏移地址IP

、段地址CS

(共32位)每個(gè)中斷向量的低字是偏移地址、高字是段地址,需占用4個(gè)字節(jié)(低對(duì)低,高對(duì)高)。8088微處理器從物理地址000H開始到3FFH(1KB),依次安排各個(gè)中斷向量,向量號(hào)從0到255。256個(gè)中斷向量所占用的1KB區(qū)域,稱中斷向量表幾個(gè)概念:向量號(hào)N/中斷向量/中斷服務(wù)程序的入口地址中斷向量的存放首址=N×44B4B中斷向量表1KB3FFH0H0號(hào)中斷向量IPCS內(nèi)部中斷是由于8086內(nèi)部執(zhí)行程序出現(xiàn)特殊情況而引起的中斷除法錯(cuò)中斷: 向量號(hào)為0指令中斷(intn): 向量號(hào)為n斷點(diǎn)中斷(int3): 向量號(hào)為3溢出中斷(into): 向量號(hào)為4單步中斷: 向量號(hào)為1內(nèi)部中斷的中斷向量號(hào)已由Intel公司確定外部中斷是由于8086外部通過CPU引腳提出中斷請(qǐng)求而引起的中斷非屏蔽中斷(NMI):向量號(hào)為2外部通過非屏蔽中斷NMI請(qǐng)求,必須響應(yīng)非屏蔽中斷主要用于處理系統(tǒng)的意外或故障(如奇偶校驗(yàn)或協(xié)處理器運(yùn)算錯(cuò)誤等)可屏蔽中斷(INTR):向量號(hào)由中斷控制器提供外部通過可屏蔽中斷INTR

請(qǐng)求,由標(biāo)志位IF控制是否響應(yīng);響應(yīng)時(shí)將產(chǎn)生有效的–INTA

信號(hào)可屏蔽中斷主要用于外設(shè)中斷請(qǐng)求(請(qǐng)求交換數(shù)據(jù)等服務(wù))標(biāo)志位IF控制可屏蔽中斷的響應(yīng)中斷標(biāo)志IF的狀態(tài)IF=0:可屏蔽中斷不會(huì)被響應(yīng)(禁止中斷,關(guān)中斷,中斷屏蔽)系統(tǒng)復(fù)位,使IF=0任何一個(gè)中斷被響應(yīng),使IF=0執(zhí)行指令CLI,使IF=0IF=1:可屏蔽中斷會(huì)被響應(yīng)(允許中斷,開中斷,中斷開放)執(zhí)行指令STI,使IF=1執(zhí)行指令I(lǐng)RET后IF將恢復(fù)為中斷前的狀態(tài)明確IF標(biāo)志的狀態(tài)是關(guān)鍵3.8086中斷處理過程⑴可屏蔽中斷的中斷過程

中斷源通過中斷控制器8259向CPU發(fā)出中斷請(qǐng)求信號(hào)

CPU在每一個(gè)指令周期的最后一個(gè)時(shí)鐘周期采樣INTR信號(hào)線當(dāng)CPU響應(yīng)可屏蔽級(jí)的中斷請(qǐng)求時(shí),首先通過信號(hào)線向8259連續(xù)發(fā)出兩個(gè)負(fù)脈沖的中斷響應(yīng)信號(hào)。CPU暫停執(zhí)行當(dāng)前程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序

CPU執(zhí)行中斷服務(wù)程序返回?cái)帱c(diǎn),繼續(xù)執(zhí)行被打斷的程序⑵非屏蔽中斷和軟件中斷的執(zhí)行過程查詢中斷的先后順序決定了各中斷源的優(yōu)先級(jí)別軟件中斷除法錯(cuò)中斷指令中斷溢出中斷非屏蔽中斷可屏蔽中斷單步中斷高低8086的中斷響應(yīng)過程N(yùn)MIN軟件中斷INTRTF=1中斷響應(yīng)周期讀中斷向量號(hào)下條指令現(xiàn)行指令I(lǐng)F=1NNNNYYYYY執(zhí)行中斷服務(wù)8086的中斷響應(yīng)過程(續(xù))Y還有NMITEMP=1標(biāo)志寄存器入棧TEMP=TF,IF=TF=0CS:IP入棧獲取中斷向量執(zhí)行服務(wù)程序彈出CS:IP彈出標(biāo)志寄存器返回被中斷程序(1)(2)(3)(4)(5)NNY(6)單步中斷8086的中斷響應(yīng)過程(續(xù))8088各種中斷源的優(yōu)先權(quán),實(shí)際上是指被識(shí)別的先后順序多種中斷同時(shí)請(qǐng)求時(shí),最先響應(yīng)的則可能是單步中斷或NMI中斷6.3.38259中斷控制器Intel8259A是可編程中斷控制器PIC可配合CPU(I8080/85、I8086/88/286/386等)管理可屏蔽中斷8259A的基本功能1片8259A可以管理8級(jí)中斷,經(jīng)級(jí)聯(lián)最多可擴(kuò)展至64級(jí)每一級(jí)中斷都可單獨(dú)被屏蔽或允許在中斷響應(yīng)周期,可提供相應(yīng)的調(diào)用指令(配合I8080/85)或中斷向量號(hào)(配合I8086/88/286/386)8259A設(shè)計(jì)有多種工作方式,通過初始化編程進(jìn)行設(shè)置1.8259A的內(nèi)部結(jié)構(gòu)和引腳D7~D0-INTAINT中斷請(qǐng)求寄存器中斷屏蔽寄存器數(shù)據(jù)總線緩沖器IR0IR7讀/寫控制邏輯級(jí)聯(lián)緩沖器比較器-RD-WRA0-CSCAS0CSA1CAS2-SP/-EN優(yōu)先權(quán)判別電路中斷服務(wù)寄存器控制邏輯⑴8259的內(nèi)部結(jié)構(gòu)中斷請(qǐng)求寄存器IRR保存8條外界中斷請(qǐng)求信號(hào)IR0~I(xiàn)R7的請(qǐng)求狀態(tài)Di位為1表示IRi引腳有中斷請(qǐng)求;為0表示無請(qǐng)求中斷服務(wù)寄存器ISR保存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi中斷正在服務(wù)中;為0表示沒有被服務(wù)中斷屏蔽寄存器IMR保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許優(yōu)先權(quán)判別器PR

優(yōu)先權(quán)判別器(PR)用來識(shí)別各中斷請(qǐng)求的優(yōu)先級(jí)別

讀/寫控制電路

讀/寫控制電路接收來自CPU的讀/寫控制命令和片選控制信息

數(shù)據(jù)總線緩沖器這是一個(gè)8位的雙向三態(tài)緩沖器,使8259和CPU數(shù)據(jù)總線D7~D0直接掛接,完成命令和狀態(tài)信息的傳送。

控制電路它是8259內(nèi)部的控制器,根據(jù)CPU對(duì)8259編程設(shè)定的工作方式產(chǎn)生內(nèi)部控制信號(hào),向CPU發(fā)出中斷請(qǐng)求信號(hào)INT,請(qǐng)求CPU響應(yīng),同時(shí)產(chǎn)生與當(dāng)前中斷請(qǐng)求服務(wù)有關(guān)的控制信號(hào),并在接收到來自CPU的中斷響應(yīng)信號(hào)后,將中斷類型號(hào)送到數(shù)據(jù)總線。

級(jí)聯(lián)緩沖/比較器該功能部件用來實(shí)現(xiàn)多個(gè)8259的級(jí)聯(lián)連接及數(shù)據(jù)緩沖方式。A15~A0D7~D08086/8088INTRINTA8259AAIR0CSD7~D0INTINTAIR7地址譯碼電路中斷源0中斷源1中斷源2中斷源…中斷源78086/8088微機(jī)系統(tǒng)中斷組成ABDB中斷類型號(hào)CAS0IR0CAS1IR1CAS2IR2IR3-INTAIR4IR5INTIR6IR7-SP/-EN

CAS0-INTACAS1CAS2INTIR0IR1-SP/-ENIR7CAS0IR0CAS1IR1CAS2IR2IR3-INTAIR4IR5INTIR6IR7-SP/-EN-INTAINTR+5V8259級(jí)聯(lián)工作示意圖8259A的級(jí)連輸出得到響應(yīng)的從片編號(hào)中斷級(jí)連8259A可以級(jí)連,1個(gè)主片最多可以級(jí)連8個(gè)從片級(jí)連時(shí),主片的級(jí)連線CAS0~CAS2連至每個(gè)從片的CAS0~CAS2,輸出被選中的從片編號(hào),每個(gè)從片的中斷請(qǐng)求信號(hào)INT,連至主8259A的一個(gè)中斷請(qǐng)求輸入端IRx;主片的INT

線連至CPU的中斷請(qǐng)求輸入端INTR在非緩沖方式下,引腳-SP/-EN,通過接地指定該片充當(dāng)從片(-SP=0);反之若接高電平則該片充當(dāng)主片(-SP=1)。⑵8259的引腳功能8259芯片有28條引腳,雙列直插式封裝,如圖6.10所示。圖6.108259芯片引腳定義2.8259A的中斷過程CAS0~CAS2D0~D7-SP/-ENIR0~I(xiàn)R7CPU響應(yīng)周期8259A工作波形INT第1個(gè)總線周期T1T2T3T4ALECLK

第2個(gè)總線周期T1T2T3T4第1個(gè)-INTA前保持高電平

-INTA-LOCK中斷向量主片輸出級(jí)聯(lián)信號(hào)從片接收3.8259A的工作方式普通全嵌套方式特殊全嵌套方式自動(dòng)循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式特殊中斷結(jié)束方式自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式結(jié)束中斷方式中斷屏蔽方式普通屏蔽方式特殊屏蔽方式中斷觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式數(shù)據(jù)線連接方式緩沖方式非緩沖方式與CPU配合方式與8080/8085CPU配合與8086/8088CPU配合級(jí)連方式級(jí)連不級(jí)連(1)中斷結(jié)束處理方式什么是8259A的中斷結(jié)束?8259A利用中斷服務(wù)寄存器ISR判斷:某位為1,表示正在進(jìn)行中斷服務(wù);該位為0,就是該中斷結(jié)束服務(wù)。這里說明如何使ISR某位為0,不反映CPU的工作狀態(tài)。(1)中斷結(jié)束處理方式(續(xù))自動(dòng)中斷結(jié)束方式普通中斷結(jié)束方式配合全嵌套優(yōu)先權(quán)方式使用當(dāng)CPU用輸出指令往8259A發(fā)出普通中斷結(jié)束EOI命令時(shí),8259A就會(huì)把所有正在服務(wù)的中斷中優(yōu)先權(quán)最高的ISR位復(fù)位。特殊中斷結(jié)束方式

配合循環(huán)優(yōu)先權(quán)方式使用

CPU在程序中向8259A發(fā)送一條特殊中斷結(jié)束命令,這個(gè)命令中指出了要清除哪個(gè)ISR位。(2)緩沖方式緩沖方式8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng)8259A把SP*/EN*引腳作為輸出端,輸出允許信號(hào),用以鎖存或開啟緩沖器非緩沖方式SP*/EN*引腳為輸入端若8259A級(jí)連,由其確定是主片或從片接vcc表示主片,gnd表示從片(3)嵌套方式普通全嵌套方式8259A的中斷優(yōu)先權(quán)順序固定不變,從高到低依次為IR0、IR1、IR2、……IR7中斷請(qǐng)求后,8259A對(duì)當(dāng)前請(qǐng)求中斷中優(yōu)先權(quán)最高的中斷IRi予以響應(yīng),將其向量號(hào)送上數(shù)據(jù)總線,對(duì)應(yīng)ISR的Di位置位,至到中斷結(jié)束(ISR的Di位復(fù)位)在ISR的Di位置位期間,禁止再發(fā)生同級(jí)和低級(jí)優(yōu)先權(quán)的中斷,但允許高級(jí)優(yōu)先權(quán)中斷的嵌套特殊全嵌套方式優(yōu)先權(quán)自動(dòng)循環(huán)方式優(yōu)先權(quán)特殊循環(huán)方式(4)中斷屏蔽方式普通屏蔽方式將IMR的Di位置1,則對(duì)應(yīng)的中斷IRi被屏蔽,該中斷請(qǐng)求不能從8259A送到CPU如果IMR的Di位置0,則允許IRi中斷產(chǎn)生特殊屏蔽方式將IMR的Di位置1,對(duì)應(yīng)的中斷IRi被屏蔽的同時(shí),使ISR的Di位置0⑸優(yōu)先級(jí)的控制①固定優(yōu)先級(jí)所謂固定優(yōu)先級(jí),即是指8259的8個(gè)中斷源中,IR0優(yōu)先級(jí)最高,IR1優(yōu)先級(jí)次之,依次降低,直到IR7優(yōu)先級(jí)最低,這個(gè)順序固定不變。②循環(huán)優(yōu)先級(jí)

8259將中斷源IR0~I(xiàn)R7按下標(biāo)序號(hào)順序構(gòu)成一個(gè)環(huán),有兩種規(guī)定方式:●自動(dòng)優(yōu)先循環(huán)級(jí)。該方式規(guī)定:剛被服務(wù)過的中斷源,其優(yōu)先級(jí)別被改為最低級(jí),而將最高優(yōu)先級(jí)賦給原來比它低一級(jí)的中斷源,其它中斷源的優(yōu)先順序依中斷源順序環(huán)確定。例如:CPU對(duì)IR3的中斷服務(wù)剛結(jié)束時(shí),IR3的優(yōu)先級(jí)別變?yōu)樽畹?,這時(shí)8259的8個(gè)中斷源優(yōu)先順序由高到低為IR4,IR5,IR6,IR7,IR0,IR1,IR2,IR3。●指定優(yōu)先循環(huán)級(jí)。該方式規(guī)定:在OCW2中指定的中斷源,其優(yōu)先級(jí)別被設(shè)為最低級(jí),其它中斷源的優(yōu)先順序依中斷源順序環(huán)確定。例如:CPU在對(duì)IR3的中斷服務(wù)過程中,通過指令在OCW2中指定IR5具有最低優(yōu)先級(jí),則IR3中斷服務(wù)結(jié)束時(shí),2859A的8個(gè)中斷源優(yōu)先順序由高到低為IR6,IR7,IR0,IR1,IR2,IR3,IR4,IR5。優(yōu)先權(quán)方式普通全嵌套方式8259A的中斷優(yōu)先權(quán)順序固定不變,從高到低依次為: IR0、IR1、IR2、……IR7中斷請(qǐng)求后,8259A對(duì)當(dāng)前請(qǐng)求中斷中優(yōu)先權(quán)最高的中斷

IRi予以響應(yīng),將其向量號(hào)送上數(shù)據(jù)總線,對(duì)應(yīng)ISR的Di位置位,至到中斷結(jié)束(ISR的Di位復(fù)位)在ISR的Di位置位期間,禁止再發(fā)生同級(jí)和低級(jí)優(yōu)先權(quán)的中斷,但允許高級(jí)優(yōu)先權(quán)中斷的嵌套特殊全嵌套方式——允許同級(jí)中斷嵌套(用于級(jí)連主片)優(yōu)先權(quán)自動(dòng)循環(huán)方式——最高優(yōu)先權(quán)自動(dòng)轉(zhuǎn)移到相鄰的低優(yōu)先級(jí)中斷源優(yōu)先權(quán)特殊循環(huán)方式——最高優(yōu)先權(quán)轉(zhuǎn)移到由指令指定的中斷源(6)中斷觸發(fā)方式邊沿觸發(fā)方式8259A將中斷請(qǐng)求輸入端出現(xiàn)的上升沿作為中斷請(qǐng)求信號(hào)電平觸發(fā)方式中斷請(qǐng)求端出現(xiàn)的高電平是有效的中斷請(qǐng)求信號(hào)(7)中斷級(jí)連一個(gè)系統(tǒng)中,8259A可以級(jí)連,有一個(gè)主8259A,若干個(gè)(最多8個(gè))從8259A級(jí)連時(shí),主8259A的三條級(jí)連線CAS0~CAS2作為輸出線,連至每個(gè)從8259A的CAS0~CAS2每個(gè)從8259A的中斷請(qǐng)求信號(hào)INT,連至主8259A的一個(gè)中斷請(qǐng)求輸入端IR主8259A的INT線連至CPU的中斷請(qǐng)求輸入端SP*/EN*在非緩沖方式下,規(guī)定該8259A是主片(SP*=1)還是從片(SP*=0)級(jí)連方式不級(jí)連——只用1片,如PC/XT級(jí)連——使用2~9片,如PC/AT(2片)-INTAINTRIR0IR7IR7IR0CAS0~CAS2=010INTINTD0~D74.8259A的編程初始化編程

8259A開始工作前,用戶必須對(duì)8259A進(jìn)行初始化編程。通過寫入初始化命令字ICW對(duì)8259A進(jìn)行初始化。工作方式編程在8259A工作期間可以隨時(shí)向8259A寫入操作命令字OCW,使之按用戶設(shè)置的新的工作方式進(jìn)行工作,用戶還可以通過寫操作命令字OCW通知8259A,下面的操作要讀取8259A中的狀態(tài)信息,以便了解其工作情況。⑴8259的初始化編程8259初始化編程的主要任務(wù)有:①復(fù)位8259芯片。②設(shè)定中斷請(qǐng)求信號(hào)INT有效的形式,是高電平有效,還是上升沿有效。③設(shè)定8259工作在單片方式還是多片級(jí)聯(lián)方式。④設(shè)定8259管理的中斷類型號(hào)的基值,即0級(jí)IR0所對(duì)應(yīng)的中斷類型號(hào)。⑤設(shè)定各中斷級(jí)的優(yōu)先次序,IR0最高,IR7最低。⑥設(shè)定一次中斷處理結(jié)束時(shí)的結(jié)束方式。(1)初始化命令字ICW初始化命令字ICW最多有4個(gè)8259A在開始工作前必須寫入必須按照ICW1~I(xiàn)CW4順序?qū)懭隝CW1和ICW2是必須送的ICW3和ICW4由工作方式?jīng)Q定流程D7D6D5D4D3D2D1D0ICW1×××1LTIM×SNGLIC4D7D6D5D4D3D2D1D0×——表示可以任意為1為0都可以(建議為0)1——只能為1,作為標(biāo)志中斷觸發(fā)方式:LTIM=1,電平觸發(fā)方式LTIM=0,邊沿觸發(fā)方式規(guī)定單片或級(jí)連方式:SNGL=1,單片方式SNGL=0,級(jí)連方式是否寫入ICW4IC4=1,要寫入ICW4IC4=0,不寫入ICW4,即ICW4規(guī)定的位全為0ICW2T7T6T5T4T3×××D7D6D5D4D3D2D1D0設(shè)置中斷向量號(hào)T7~T3為中斷向量號(hào)的高5位低3位由8259A自動(dòng)確定:IR0為000、IR1為001、……、IR7為111ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0級(jí)連命令字主片8259A:Si=1對(duì)應(yīng)IRi接有從片;否則IRi沒有連接從片從片8259A:ID0~I(xiàn)D2編碼說明從片INT引腳接到主片哪個(gè)IR引腳ICW4000SFNMBUFM/SAEOIμPMD7D6D5D4D3D2D1D0嵌套方式:特殊全嵌套方式(SFNM=1)普通全嵌套方式(SFNM=0)數(shù)據(jù)線的緩沖方式:緩沖方式(BUF=1)非緩沖方式(BUF=0)主片/從片選擇:主片(M/S=1)從片(M/S=0)中斷結(jié)束方式:自動(dòng)中斷結(jié)束(AEOI=1)非自動(dòng)中斷結(jié)束(AEOI=0)微處理器類型:16位80x86(PM=1)8位8080/8085(PM=0)8259芯片的初始化流程

ICW4(A0=1)SNGL=0?ICW1的IC4=1?初始化完,準(zhǔn)備接受中斷請(qǐng)求輸入是是否ICW1(A0=0,D4=1)ICW2(A0=0)ICW3(A0=0)否初始化主片8259A

moval,11h ;寫入ICW1 out20h,al jmpintr1 intr1: moval,08h ;寫入ICW2 out21h,al jmpintr2 intr2: moval,04h ;寫入ICW3 out21h,al jmpintr3 intr3: moval,1h ;寫入ICW4 out21h,al中斷控制器的初始化程序段初始化從片8259A

moval,11h ;寫入ICW1 out0a0h,al jmpintr5intr5: moval,70h ;寫入ICW2 out0a1h,al jmpintr6intr6: moval,02h ;寫入ICW3 out0a1h,al jmpintr7intr7: moval,01h ;寫入ICW4 out0a1h,al中斷控制器的初始化程序段⑵工作方式編程8259工作方式編程主要完成的任務(wù)是對(duì)中斷請(qǐng)求的屏蔽、優(yōu)先級(jí)循環(huán)控制、中斷結(jié)束方式、內(nèi)部控制寄存器的查詢等。8259A工作期間,可以隨時(shí)接受操作命令字OCWOCW共有3個(gè):OCW1~OCW3寫入時(shí)沒有順序要求,需要哪個(gè)OCW就寫入那個(gè)OCWD7D6D5D4D3D2D1D0OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字內(nèi)容寫入中斷屏蔽寄存器IMRDi=Mi對(duì)應(yīng)IRi,為1禁止IRi中斷;為0允許IRi中斷。各位互相獨(dú)立。OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和EOI配合使用產(chǎn)生中斷結(jié)束EOI命令和改變優(yōu)先權(quán)順序L2~L0的3位編碼指定IR引腳OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM設(shè)置中斷屏蔽方式P、RR和RIS規(guī)定隨后讀取的狀態(tài)字含義讀取狀態(tài)字CPU可讀出IRR、ISR、IMR和查詢字A0為低,由OCW3中RR和RIS位設(shè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論