第9章中斷技術(shù)與中斷控制器_第1頁(yè)
第9章中斷技術(shù)與中斷控制器_第2頁(yè)
第9章中斷技術(shù)與中斷控制器_第3頁(yè)
第9章中斷技術(shù)與中斷控制器_第4頁(yè)
第9章中斷技術(shù)與中斷控制器_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第9章章 中斷技術(shù)與中斷控制器中斷技術(shù)與中斷控制器 9.1 中斷技術(shù)概述中斷技術(shù)概述 9.2 8086/8088中斷系統(tǒng)中斷系統(tǒng) 9.3 可編程中斷控制器可編程中斷控制器82C59A9.4 高檔微機(jī)中斷系統(tǒng)高檔微機(jī)中斷系統(tǒng) 9.1 中斷技術(shù)概述中斷技術(shù)概述n9.1.1 什么是中斷什么是中斷 (概念)n在程序運(yùn)行中,系統(tǒng)出現(xiàn)了某種緊急事件,CPU必須中止現(xiàn)行程序,轉(zhuǎn)去處理此緊急事件(執(zhí)行中斷服務(wù)程序),并在處理完畢后再返回被打斷的程序的過(guò)程。n一個(gè)完整的中斷過(guò)程包括:n中斷請(qǐng)求;中斷請(qǐng)求;n中斷判優(yōu);中斷判優(yōu);n中斷響應(yīng);中斷響應(yīng);n中斷處理;中斷處理;n中斷返回中斷返回。n“中斷請(qǐng)求中斷請(qǐng)求

2、” 是指中斷源是指中斷源(引起中斷的事件或設(shè)備引起中斷的事件或設(shè)備)向向CPU發(fā)出的請(qǐng)求中斷的發(fā)出的請(qǐng)求中斷的要求;要求;n“中斷判優(yōu)中斷判優(yōu)” 當(dāng)有多個(gè)中斷源發(fā)出中斷請(qǐng)求時(shí),需要通過(guò)適當(dāng)?shù)霓k法當(dāng)有多個(gè)中斷源發(fā)出中斷請(qǐng)求時(shí),需要通過(guò)適當(dāng)?shù)霓k法(軟件的;軟件的;硬件的;軟、硬件結(jié)合的硬件的;軟、硬件結(jié)合的)決定究竟先處理哪個(gè)中斷請(qǐng)求;決定究竟先處理哪個(gè)中斷請(qǐng)求;n“中斷響應(yīng)中斷響應(yīng)” 是指是指CPU中止現(xiàn)行程序轉(zhuǎn)至中斷服務(wù)程序的過(guò)程;中止現(xiàn)行程序轉(zhuǎn)至中斷服務(wù)程序的過(guò)程;n“中斷處理中斷處理” 是指是指CPU執(zhí)行中斷服務(wù)程序,完成中斷請(qǐng)求所要求的操作;執(zhí)行中斷服務(wù)程序,完成中斷請(qǐng)求所要求的操作;n

3、“中斷返回中斷返回” 執(zhí)行完中斷服務(wù)程序后,返回到原先被中斷的程序。執(zhí)行完中斷服務(wù)程序后,返回到原先被中斷的程序。9.1.2 中斷源及其優(yōu)先級(jí)中斷源及其優(yōu)先級(jí)n9.1.2 中斷源及其優(yōu)先級(jí)中斷源及其優(yōu)先級(jí) n中斷源中斷源: :發(fā)出中斷請(qǐng)求的外部設(shè)備或內(nèi)部原因。發(fā)出中斷請(qǐng)求的外部設(shè)備或內(nèi)部原因。n中斷優(yōu)先級(jí):中斷優(yōu)先級(jí):按照任務(wù)的輕重緩急給中斷源排隊(duì)。按照任務(wù)的輕重緩急給中斷源排隊(duì)。 排隊(duì)方法有:排隊(duì)方法有:n軟件查詢法軟件查詢法(需要少量硬件需要少量硬件) 簡(jiǎn)單排隊(duì)電路:如菊花鏈?zhǔn)胶?jiǎn)單排隊(duì)電路:如菊花鏈?zhǔn)?(daisy chain)優(yōu)先級(jí)電路優(yōu)先級(jí)電路n硬件排隊(duì)電路:硬件排隊(duì)電路: 可編程中斷

4、控制器可編程中斷控制器(如如8259)(1)軟件查詢法)軟件查詢法n把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)“相或相或”,產(chǎn)生一個(gè)產(chǎn)生一個(gè)總的總的INT信號(hào)信號(hào)n當(dāng)當(dāng)CPU響應(yīng)中斷后,進(jìn)入中斷處理程序,在中斷響應(yīng)中斷后,進(jìn)入中斷處理程序,在中斷處理程序的開始部分安排一段查詢程序,對(duì)中斷處理程序的開始部分安排一段查詢程序,對(duì)中斷源逐個(gè)查詢。源逐個(gè)查詢。n優(yōu)點(diǎn):省硬件優(yōu)點(diǎn):省硬件n缺點(diǎn):中斷響應(yīng)慢缺點(diǎn):中斷響應(yīng)慢中斷源及其優(yōu)先級(jí)中斷源及其優(yōu)先級(jí)中斷源及其優(yōu)先級(jí)中斷源及其優(yōu)先級(jí)(2)菊花鏈優(yōu)先級(jí)排隊(duì)電路)菊花鏈優(yōu)先級(jí)排隊(duì)電路中斷請(qǐng)求INT1INT2INT3CPU INTRINTA接口設(shè)備3接

5、口設(shè)備2接口設(shè)備1菊花鏈邏輯電路中斷回答集電極開路門(OC門)INT1+INT2+INT3+5VINTR=INT1+INT2+INT3當(dāng)INTA信號(hào)沿菊花鏈行進(jìn)時(shí),最靠近CPU并發(fā)出INT請(qǐng)求的接口將首先攔截住INTA信號(hào),并送出中斷類型碼,進(jìn)入相應(yīng)的中斷處理程序;在服務(wù)完成后撤銷其請(qǐng)求(解除對(duì)下一級(jí)的阻塞和封鎖)。INTRINTA中斷請(qǐng)求9 9.1.3 中斷請(qǐng)求與中斷屏蔽中斷請(qǐng)求與中斷屏蔽 2. 2. 中斷屏蔽中斷屏蔽 內(nèi)部屏蔽:內(nèi)部屏蔽: CPU不響應(yīng)中斷(關(guān)中斷)不響應(yīng)中斷(關(guān)中斷)中斷屏蔽:中斷屏蔽: 外部屏蔽:中斷請(qǐng)求信號(hào)不能送到外部屏蔽:中斷請(qǐng)求信號(hào)不能送到CPUn 可屏蔽中斷可屏

6、蔽中斷 :受:受IF控制 (IF為“1”時(shí)中斷允許,IF為“0”時(shí)中斷屏蔽)n 非屏蔽中斷:不非屏蔽中斷:不受受IF控制 (無(wú)論IF為“1”或?yàn)椤?” 都允許中斷) (但可設(shè)計(jì)外部屏蔽電路進(jìn)行屏蔽)1. 中斷請(qǐng)求中斷請(qǐng)求 中斷源向CPU發(fā)出的請(qǐng)求中斷的信號(hào)叫中斷請(qǐng)求。CPU在執(zhí)行完每條指令后,自動(dòng)檢測(cè)中斷請(qǐng)求輸入線,以確定是否有外部發(fā)來(lái)的中斷請(qǐng)求信號(hào)。 指內(nèi)部屏蔽指內(nèi)部屏蔽9.1.4 中斷服務(wù)程序中斷服務(wù)程序 n中斷服務(wù)程序:中斷服務(wù)程序:為完成中斷源所期望的功能而編寫的程序 。n中斷服務(wù)程序的主要內(nèi)容:中斷服務(wù)程序的主要內(nèi)容:在中斷服務(wù)程序中,主要是進(jìn)行輸入/輸出操作 或發(fā)出一系列控制信號(hào)

7、,這些具體操作構(gòu)成了中斷服務(wù)程序的主體。另外還有一些附加操作,因此:中斷服務(wù)程序的主要內(nèi)容有:中斷服務(wù)程序的主要內(nèi)容有:n保護(hù)現(xiàn)場(chǎng) n開中斷n具體中斷處理具體中斷處理 n關(guān)中斷 n恢復(fù)現(xiàn)場(chǎng) n開中斷、中斷返回 9.1.5 中斷隱操作和中斷向量中斷隱操作和中斷向量 n中斷隱操作中斷隱操作: CPU響應(yīng)中斷時(shí),由內(nèi)部硬件執(zhí)行的一系列處理過(guò)程。響應(yīng)中斷時(shí),由內(nèi)部硬件執(zhí)行的一系列處理過(guò)程。隱操作把隱操作把CPU引向中斷服務(wù)程序引向中斷服務(wù)程序n中斷類型、中斷向量、中斷向量表:中斷類型、中斷向量、中斷向量表:中斷類型:中斷源的編號(hào)中斷類型:中斷源的編號(hào)中斷向量:中斷服務(wù)程序的入口地址中斷向量:中斷服務(wù)程

8、序的入口地址中斷向量表:內(nèi)存中存放中斷向量的區(qū)域中斷向量表:內(nèi)存中存放中斷向量的區(qū)域以上三者關(guān)系:以上三者關(guān)系:中斷向量在中斷向量表中第一個(gè)單元的地址中斷向量在中斷向量表中第一個(gè)單元的地址=中斷類型中斷類型4 4第第1條可執(zhí)行指令的條可執(zhí)行指令的第第1個(gè)字節(jié)的地址個(gè)字節(jié)的地址9.1.6 中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程 n對(duì)于可屏蔽中斷,當(dāng)對(duì)于可屏蔽中斷,當(dāng)CPU檢測(cè)到有中斷請(qǐng)求時(shí),如檢測(cè)到有中斷請(qǐng)求時(shí),如果滿足響應(yīng)條件就要予以響應(yīng)。具體過(guò)程如下:果滿足響應(yīng)條件就要予以響應(yīng)。具體過(guò)程如下: n關(guān)中斷、保護(hù)斷點(diǎn)關(guān)中斷、保護(hù)斷點(diǎn) n保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) n開中斷開中斷 n具體中斷處理具體中斷處理 n關(guān)中斷關(guān)中

9、斷 n恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) n開中斷、中斷返回開中斷、中斷返回 屬于隱操作屬于隱操作屬于中斷服務(wù)程序?qū)儆谥袛喾?wù)程序可選擇可選擇可選擇主主 體體9.2 8086/8088中斷系統(tǒng)中斷系統(tǒng) n中斷系統(tǒng):實(shí)現(xiàn)中斷的軟件和硬件的總和。中斷系統(tǒng):實(shí)現(xiàn)中斷的軟件和硬件的總和。9.2.1 中斷系統(tǒng)的基本功能中斷系統(tǒng)的基本功能 n要求能判斷中斷源的優(yōu)先級(jí),并按優(yōu)先權(quán)的要求能判斷中斷源的優(yōu)先級(jí),并按優(yōu)先權(quán)的高低決定中斷響應(yīng)的順序。高低決定中斷響應(yīng)的順序。n要求中斷系統(tǒng)能實(shí)現(xiàn)中斷和返回。要求中斷系統(tǒng)能實(shí)現(xiàn)中斷和返回。n要求中斷系統(tǒng)能實(shí)現(xiàn)中斷嵌套,即高優(yōu)先級(jí)要求中斷系統(tǒng)能實(shí)現(xiàn)中斷嵌套,即高優(yōu)先級(jí)中斷源的中斷請(qǐng)求能中斷

10、低優(yōu)先級(jí)中斷源的中斷源的中斷請(qǐng)求能中斷低優(yōu)先級(jí)中斷源的中斷服務(wù)。中斷服務(wù)。 9.2.2 8086/8088的中斷系統(tǒng)的中斷系統(tǒng) 非屏蔽中斷(NMI) (2號(hào)) 外部中斷 (硬件中斷) 可屏蔽中斷(INTR) 除法出錯(cuò)(0號(hào)) 內(nèi)部硬件中斷 單步跟蹤(1號(hào)) 斷點(diǎn)中斷(3號(hào)) 內(nèi)部中斷 溢出中斷(4號(hào)) 內(nèi)部軟件中斷:INT n8086/8088的中斷源分類:的中斷源分類: 1. 8086/8088的中斷系統(tǒng)結(jié)構(gòu)的中斷系統(tǒng)結(jié)構(gòu) 8086/8088的中斷系統(tǒng)結(jié)構(gòu)如圖所示。 非屏蔽中斷請(qǐng)求中斷邏輯INTn指令I(lǐng)NTO指令除法出錯(cuò)單步中斷8086/8088CPU可屏蔽中斷請(qǐng)求8259ANMIINTR8

11、086/8088的中斷系統(tǒng)的中斷系統(tǒng)8086/8088的中斷系統(tǒng)的中斷系統(tǒng) 2. 2. 中斷類型碼與中斷向量表中斷類型碼與中斷向量表 n中斷類型碼中斷類型碼8086/8088為每個(gè)中斷源指定的一個(gè)編號(hào)。n中斷向量中斷向量中斷服務(wù)程序的入口地址。n中斷向量表中斷向量表把系統(tǒng)中所有的中斷向量按中斷類型碼從小到大的順序放到存儲(chǔ)器的某一個(gè)區(qū)域所形成的一個(gè)表。n每個(gè)中斷向量占用4 4個(gè)存儲(chǔ)單元 ,8086/8088CPU的中斷系統(tǒng)最多能處理256256個(gè)中斷源。 8086/8088CPU以存儲(chǔ)器的00000H-003FFH共1024個(gè)單元作為中斷向量存儲(chǔ)表。 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)n中斷

12、向量在中斷向量表的存放次序中斷向量在中斷向量表的存放次序: 是按中斷類型號(hào)順序存放,共占4個(gè)單元。每個(gè)中斷向量存放的首地址=中斷類型號(hào)4。 CPU響應(yīng)中斷時(shí),需把中斷類型號(hào)N乘以4,得到中斷向量的對(duì)應(yīng)地址4N(該中斷向量所占該中斷向量所占4個(gè)字節(jié)單元的第一個(gè)字節(jié)單元的地址個(gè)字節(jié)單元的第一個(gè)字節(jié)單元的地址)。n中斷向量的裝入:中斷向量的裝入: 兩個(gè)低字節(jié)單元的內(nèi)容裝入IP寄存器: IP= (4N,4N+1), 兩個(gè)高字節(jié)單元的內(nèi)容裝入CS寄存器:CS = (4N+2,4N+3)。 外部(NMI、INTR):由接口提供n中斷類型號(hào)中斷類型號(hào)N的來(lái)源:的來(lái)源: 硬件中斷:由內(nèi)部硬件提供 內(nèi)部 軟件中

13、斷:由中斷指令提供8086/8088的中斷系統(tǒng)的中斷系統(tǒng)n例1:若中斷類型號(hào)為3,則由中斷類型號(hào)取得中斷服務(wù)入口地址的過(guò)程如下圖所示:00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址內(nèi)存高地址 1E00 0 H+ 0A0 0 H 1EA0 0 H中斷類型號(hào)34000CH.00(IPL)0A(IPH)00(CSL)1E(CSH).中斷服務(wù)程序中斷服務(wù)程序8086/8088的中斷系統(tǒng)的中斷系統(tǒng)n例2.中斷類型號(hào)為20H,中斷服務(wù)程序的入口地址存放在0000:0080H開始的4個(gè)單元中。若:n(0080H)=10H n(0081H)=

14、20Hn(0082H)=30Hn(0083H)=40H則:中斷服務(wù)程序的入口地址為地 址 類 型 碼 中 斷 名 稱 地 址 類 型 碼 中 斷 名 稱 0 3 0 除 法 出 錯(cuò) 6 0 6 3 1 8 常 駐 B A S IC 入 口 4 7 1 單 步 6 4 6 7 1 9 引 導(dǎo) 程 序 入 口 8 B 2 不 可 屏 蔽 6 8 6 B 1 A 時(shí) 間 調(diào) 用 C F 3 斷 點(diǎn) 6 C 6 F 1 B 鍵 盤 C T R -B R E A K 控 制 1 0 1 3 4 溢 出 7 0 7 3 1 C 定 時(shí) 器 報(bào) 時(shí) 1 4 1 7 5 打 印 屏 蔽 7 4 7 7 1 D

15、 顯 示 器 參 數(shù) 表 1 8 1 B 6 保 留 7 8 7 B 1 E 軟 盤 參 數(shù) 表 1 C 1 F 7 保 留 7 C 7 F 1 F 字 符 點(diǎn) 陣 結(jié) 構(gòu) 參 數(shù) 2 0 2 3 8 定 時(shí) 器 8 0 8 3 2 0 程 序 結(jié) 束 , 返 回 D O S 2 4 2 7 9 鍵 盤 8 4 8 7 2 1 系 統(tǒng) 功 能 調(diào) 用 2 8 2 B A 保 留 8 8 8 B 2 2 結(jié) 束 地 址 2 C 2 F B 通 信 口 2 8 C 8 F 2 3 C T R L -B R E A K 退 出 地 址 3 0 3 3 C 通 信 口 1 9 0 9 3 2 4 標(biāo)

16、準(zhǔn) 錯(cuò) 誤 出 口 地 址 3 4 3 7 D 硬 盤 9 4 9 7 2 5 絕 對(duì) 磁 盤 讀 3 8 3 B E 軟 盤 9 8 9 B 2 6 絕 對(duì) 磁 盤 寫 3 C 3 F F 打 印 機(jī) 9 C 9 F 2 7 程 序 結(jié) 束 , 駐 留 內(nèi) 存 4 0 4 3 1 0 視 頻 顯 示 I/O 調(diào) 用 A 0 F F 2 8 3 F 為 D O S 保 留 4 4 4 7 11 裝 置 檢 查 調(diào) 用 1 0 0 1 7 F 4 0 5 F 保 留 4 8 4 B 1 2 存 儲(chǔ) 器 容 量 檢 查 調(diào) 用 1 8 0 1 9 F 6 0 6 7 為 用 戶 軟 中 斷 4 C

17、 4 F 1 3 軟 盤 /硬 盤 /I/O 調(diào) 用 1 A 0 1 F F 6 8 7 F 不 用 5 0 5 3 1 4 通 信 I/O 調(diào) 用 2 0 0 2 1 7 8 0 8 5 B A S IC 使 用 5 4 5 7 1 5 盒 式 磁 帶 I/O 調(diào) 用 2 1 8 2 C 3 8 6 F 0 B A S IC 解 釋 程 序 5 8 5 B 1 6 鍵 盤 I/O 調(diào) 用 3 C 4 3 F F F 1 F F 未 用 5 C 5 F 1 7 打 印 機(jī) I/O 調(diào) 用 圖9.2 IBM PC/XT的硬件中斷控制邏輯 3. 3. 外部中斷外部中斷 圖9.2 IBM PC/XT

18、的硬件中斷控制邏輯 NMI外部外部屏蔽電路屏蔽電路協(xié)協(xié)處處理理器器運(yùn)運(yùn)算算錯(cuò)錯(cuò)RAM奇奇偶偶校校驗(yàn)驗(yàn)錯(cuò)錯(cuò)I/O校校驗(yàn)驗(yàn)錯(cuò)錯(cuò)n可屏蔽中斷可屏蔽中斷INTR n當(dāng)8086/8088的INTR引腳上有一個(gè)正跳變信號(hào)時(shí),便產(chǎn)生硬件可屏蔽中斷請(qǐng)求,這種中斷請(qǐng)求可以用指令進(jìn)行屏蔽或允許。當(dāng)INTR的請(qǐng)求被允許時(shí),如果現(xiàn)行指令執(zhí)行完,其它中斷響應(yīng)條件也滿足, CPU就會(huì)從 引腳發(fā)出中斷響應(yīng)信號(hào)。這時(shí),中斷源要向CPU提供中斷類型碼,CPU得到類型碼后自動(dòng)從中斷向量表中取得相應(yīng)的中斷向量,從而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。INTAn非屏蔽中斷非屏蔽中斷NMI 當(dāng)CPU的NMI引腳上來(lái)一個(gè)高電平時(shí),CPU自動(dòng)產(chǎn)生類型碼

19、為2的中斷,并由此轉(zhuǎn)入相應(yīng)的服務(wù)程序。由于NMI引腳上的請(qǐng)求不能被CPU屏蔽,故常用于緊急情況的故障處理。 圖圖9.3 8086/80889.3 8086/8088可屏蔽中斷的響應(yīng)過(guò)程可屏蔽中斷的響應(yīng)過(guò)程 舊 ( P S W )舊 ( C S )舊 ( I P )新 ( I P )新 ( C S )I R E T 指 令 使 I P C S和 P S W 彈 出 堆 棧當(dāng) 前 的 P S W 、 C S和 I P 壓 入 堆 棧P S WC SI PC P U 和 總 線控 制 邏 輯94871 0中 斷 子 程 序按 中 斷 的 程 序返 回 被 中 斷 的 程 序開 中 斷中 斷 子 程

20、序 執(zhí) 行堆 棧中 斷 向 量?jī)?nèi) 存65( 4 * N ) 作 為 I P( 4 * N + 2 ) 作 為 C S清 除 I F 和 T F當(dāng) 前 指 令 執(zhí) 行 完后 C P U 進(jìn) 行 中 斷 應(yīng)答21接 口 發(fā) 中 斷 請(qǐng) 求 信 號(hào)S T I接 口3中 斷 類 型 號(hào) N 送 C P U數(shù)據(jù)總線控制總線 地址總線8086/8088的中斷系統(tǒng)的中斷系統(tǒng) 4. 內(nèi)部中斷內(nèi)部中斷 內(nèi)部中斷都是非屏蔽型的內(nèi)部中斷都是非屏蔽型的n除法出錯(cuò)中斷是類型除法出錯(cuò)中斷是類型0n單步中斷為類型單步中斷為類型1n斷點(diǎn)中斷是類型斷點(diǎn)中斷是類型3n溢出中斷是類型溢出中斷是類型4n指令中斷指令中斷INT n80

21、86/8088的中斷系統(tǒng)的中斷系統(tǒng)n8086/8088中斷的優(yōu)先權(quán)中斷的優(yōu)先權(quán)優(yōu)先權(quán)按從高到低的順序排列為:優(yōu)先權(quán)按從高到低的順序排列為:除法出錯(cuò)中斷除法出錯(cuò)中斷INT n溢出中斷溢出中斷NMIINTR斷點(diǎn)中斷斷點(diǎn)中斷單步。單步。 9.3 可編程中斷控制器可編程中斷控制器82C59A 9.3.1 82C59A的主要特性的主要特性 n82C59A內(nèi)部結(jié)構(gòu)和外部引腳與8259A完全兼容。n單一正5V電源,全靜態(tài)工作(無(wú)需外加時(shí)鐘)。n該芯片集中斷源識(shí)別、判優(yōu)、提供中斷類型號(hào)于一體。n每片82C59A能管理8級(jí)中斷。n每片82C59A可送出8個(gè)8位的中斷類型號(hào)(自動(dòng)中斷向量轉(zhuǎn)移功能)。n能用軟件屏蔽

22、中斷請(qǐng)求輸入,通過(guò)編程可選擇多種不同的工作方式,以適應(yīng)各種系統(tǒng)的要求。1)通過(guò)82C59A級(jí)聯(lián),在不增加外部電路的情況下,最多可用9片82C59A級(jí)連管理64級(jí)中斷。 屬于中斷源的外部屏蔽屬于中斷源的外部屏蔽9.3.2 82C59A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) IR0IR7:中斷請(qǐng)中斷請(qǐng)求寄存求寄存器器IRR優(yōu)優(yōu)先先權(quán)權(quán)電電路路在服務(wù)在服務(wù)寄存器寄存器ISR中斷屏蔽寄存器中斷屏蔽寄存器 IMR控控 制制 邏邏 輯輯數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器讀讀 / 寫邏寫邏輯輯級(jí)連緩級(jí)連緩沖沖 / 比較比較器器INTAINTRDBRDWRA0CSCAS0CAS1CAS2SP / EN內(nèi)部總線82C59A的內(nèi)部結(jié)構(gòu)的

23、內(nèi)部結(jié)構(gòu) 1. 1. 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 : 8位雙向三態(tài)緩沖器。位雙向三態(tài)緩沖器。 CPU向82C59A寫入的命令字傳送的信息: CPU從82C59A讀取的狀態(tài)字 82C59A向CPU提供的中斷類型碼2讀讀/寫邏輯寫邏輯 :內(nèi)部地址譯碼和操作控制。內(nèi)部地址譯碼和操作控制。 接收來(lái)自CPU的讀/寫命令,完成規(guī)定的操作。操作過(guò)程由 、A0、 和 輸入信號(hào)共同控制。 CSWRRD82C59A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)3. 3. 級(jí)聯(lián)緩沖級(jí)聯(lián)緩沖/比較器比較器: : 用于82C59A的級(jí)聯(lián)和緩沖方式INTAINTA級(jí)連方式:傳送從82C59A的編號(hào)。 第1個(gè) 期間,識(shí)別ID標(biāo)志; 第2個(gè) 期間,

24、該從片向CPU提供中斷類型碼。緩沖方式:輸出局部數(shù)據(jù)總線允許信號(hào)。82C59A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 4. 4.中斷請(qǐng)求寄存器(中斷請(qǐng)求寄存器(IRRIRR):連接中斷源 接收并寄存中斷請(qǐng)求信號(hào)。(有請(qǐng)求時(shí),IRR中相應(yīng)位置“1”)。5.5.中斷屏蔽寄存器(中斷屏蔽寄存器(IMRIMR):屏蔽中斷源 82C59A的8級(jí)中斷請(qǐng)求獨(dú)立地加以禁止或允許(當(dāng)某位被置“1”時(shí),與之對(duì)應(yīng)的中斷請(qǐng)求被屏蔽)。 6.6.優(yōu)先級(jí)分析器(優(yōu)先級(jí)分析器(PR):判斷優(yōu)先級(jí)。 檢查中斷服務(wù)寄存器(ISR)的狀態(tài),判別有無(wú)優(yōu)先權(quán)更高的中斷正在接受服務(wù),若無(wú),則把中斷請(qǐng)求寄存器(IRR)中優(yōu)先權(quán)最高的中斷請(qǐng)求送入中斷服務(wù)寄

25、存器。 82C59A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)7.7.中斷服務(wù)寄存器(中斷服務(wù)寄存器(ISR):寄存正在被響應(yīng)的中斷。 正在被服務(wù)的所有中斷級(jí),包括尚未服務(wù)完而中途被更高級(jí)的中斷打斷了的中斷級(jí),他們?cè)贗SR中的對(duì)應(yīng)位被置“1”,響應(yīng)完后立即清“0”。8.8.控制邏輯控制邏輯 :按設(shè)置的工作方式控制82C59A的全部工作。 有中斷請(qǐng)求 IRR相應(yīng)位置“1” 若中斷未屏蔽 送PR 判優(yōu)判優(yōu) 送送ISR(相應(yīng)位置“1”) 向CPU發(fā)出INT信號(hào) 若滿足響應(yīng)條件 CPU 發(fā)回INTA信號(hào) 82C59A向CPU傳送中斷類型碼 中斷響應(yīng)完成 ISR相應(yīng)位清“0”9.3.3 8282C59AC59A引腳功能引腳功

26、能 n82C59A的外部引腳 引腳可分為三個(gè)部分:n與CPU的接口引線n與外設(shè)的接口引線n用于級(jí)聯(lián)的接口引線 C SW RR DD7D6D5D4D3D2D1D0C A S0C A S1G N DVC CA0I N T AI R7I R6I R5I R4I R3I R2I R1I R0I N TS P / E NC A S28 2 C 5 9 A123457891 01 11 21 461 32 82 72 62 52 42 22 12 01 91 81 71 52 31 6 1. 82C59A與與CPU的接口引腳的接口引腳 nD7D0:數(shù)據(jù)線,數(shù)據(jù)線,雙向,三態(tài) 。 傳送的信息:控制字、狀態(tài)字

27、、中斷類型碼。nA A0 0:地址線,地址線,輸入。偶地址端口: 3個(gè)控制字,3個(gè)狀態(tài)字 尋址82C59A內(nèi)部的端口: 奇地址端口: 4個(gè)控制字, 1個(gè)狀態(tài)字n :寫信號(hào),:寫信號(hào),輸出,低高電平有效。 n :讀信號(hào),:讀信號(hào),輸出,低高電平有效。 n :片選信號(hào),:片選信號(hào),輸出,低高電平有效。 nINTINT:中斷請(qǐng)求信號(hào),中斷請(qǐng)求信號(hào),輸出,高電平有效。 用于由82C59A向CPU發(fā)出中斷請(qǐng)求,連接CPU的可屏蔽中斷請(qǐng)求輸入端INTR。n :中斷響應(yīng)信號(hào),:中斷響應(yīng)信號(hào),輸出,低電平有效。 用于接收CPU送回的中斷響應(yīng)負(fù)脈沖。連接CPU控制總線的 。 WRRDCSINTAOCW1,ICW

28、2,ICW3,ICW4ICW1, OCW2, OCW3IRR, ISR,中斷查詢字INTAIMRCS RD WR A0 D4 D3 讀寫操作 0 1 0 0 1 寫ICW1 0 1 0 1 寫ICW2、 ICW3 、ICW4、OCW1 0 1 0 0 0 0 寫OCW2 0 1 0 0 0 1 寫OCW3 0 0 1 0 讀IRR/ISR/中斷查詢字 0 0 1 1 讀IMR8259的讀寫功能的讀寫功能8282C59AC59A外部特性外部特性 3. 82C59A級(jí)聯(lián)時(shí)的接口引線級(jí)聯(lián)時(shí)的接口引線 nCAS2CAS0:級(jí)連引腳,雙向。 用來(lái)構(gòu)成82C59A的主從式級(jí)聯(lián)控制結(jié)構(gòu),傳送從片標(biāo)志。n :

29、從片編程/緩沖器允許信號(hào),雙向,低電平有效。 主片SP=“1” 當(dāng)82C59A工作在非緩沖方式時(shí):輸入SP信號(hào)功能:功能: 從片SP=“0” =“0”允許 當(dāng)82C59A工作在緩沖方式時(shí):輸出緩沖器允許信號(hào) =“1”禁止ENSP/ENEN2. 82C59A與外設(shè)的接口引線與外設(shè)的接口引線 IR0IR7:中斷請(qǐng)求,輸入,高電平或上升沿有效。 用于接收從外設(shè)來(lái)的中斷請(qǐng)求信號(hào) 。每個(gè)引腳分別連接一個(gè)中斷源的 中斷請(qǐng)求輸出端或連接一個(gè)82C59A從片的INT端(級(jí)聯(lián)方式時(shí))。9.3.4 82 82C59AC59A的控制字的控制字 n82C59A共有共有7個(gè)控制字個(gè)控制字n4個(gè)初始化命令字(ICW1-I

30、CW4)n3個(gè)操作命令字(OCW1-OCW3)n82C59A共有共有4個(gè)狀態(tài)字個(gè)狀態(tài)字 IRR寄存器內(nèi)容、ISR寄存器內(nèi)容、 IMR寄存器內(nèi)容、中斷查詢字8282C59AC59A的控制字的控制字1. 1. 初始化命令字初始化命令字 n初始化命令字通常是系統(tǒng)開機(jī)時(shí),由初始化程序填寫的,而且在整個(gè)系統(tǒng)工作過(guò)程中保持不變。n初始化命令字有四個(gè)ICW1、 ICW2、 ICW3、 ICW4。寫入順序?yàn)镮CW1、ICW2、 ICW3、 ICW4其中:是否寫入ICW3和ICW4,由ICW1決定。nICW1的格式和含義 ICW1:芯片控制初始化命令字芯片控制初始化命令字。 寫入寫入82C59A的偶地址端口。的

31、偶地址端口。初始化命令字初始化命令字ICW1寫入后,寫入后,8259內(nèi)部完成初始化過(guò)程:內(nèi)部完成初始化過(guò)程:(1)清除ISR和IMR寄存器; (2)指定中斷優(yōu)先級(jí)R0 R7;(3)從片的地址置成7; (4)特殊屏蔽方式復(fù)位;(5)自動(dòng)EOI循環(huán)方式復(fù)位;(6)邊沿觸發(fā)器復(fù)位。8282C59AC59A的控制字的控制字ICW1IC4SNGLADI0*1LTIM*A0D7 D6 D5 D4 D3 D2 D1 D001不寫ICW4寫ICW401級(jí)聯(lián),寫ICW3單片,不寫ICW3=0(不用)8088/8086不用標(biāo)志位0=邊沿觸發(fā)方式1=電平觸發(fā)方式ICW1的格式和各位的定義如下:的格式和各位的定義如下

32、:當(dāng)當(dāng)ICW4=00H時(shí),不寫時(shí),不寫8282C59AC59A的控制字的控制字nICW2的格式和含義 ICW2:是設(shè)置中斷類型碼的初始化命令字是設(shè)置中斷類型碼的初始化命令字寫到寫到8259A的奇地址端口的奇地址端口, ,其格式和各位定義如下:其格式和各位定義如下: ICW2 D7 D6 D5 D4 D3 D2 D1 D0A11/T31A0A10A15/T7A14/T6A13/T5A12/T4A9A8自動(dòng)填入中斷類型碼高5位 D7 D6 D5 D4 D3 D2 D1 D0IR7 T7 T6 T5 T4 T3 1 1 1IR6 T7 T6 T5 T4 T3 1 1 0IR5 T7 T6 T5 T4

33、 T3 1 0 1IR4 T7 T6 T5 T4 T3 1 0 0IR3 T7 T6 T5 T4 T3 0 1 1IR2 T7 T6 T5 T4 T3 0 1 0IR1 T7 T6 T5 T4 T3 0 0 1IR0 T7 T6 T5 T4 T3 0 0 0寫入寫入82C59A的中斷向量的中斷向量主片主片ICW3:規(guī)定哪一個(gè)IR引腳接有從片 接有從片:其對(duì)應(yīng)位設(shè)置為“1”IRi 未接有從片:對(duì)應(yīng)位設(shè)置為“0” 例如:主82C59A的IR0、IR3上分別接有從片,則主片的ICW3=00001001。 ICW31A0D7 D6 D5 D4 D3 D2 D1 D0IR2IR5 IR4 IR3IR7

34、IR6IR1 IR0nICW3的格式和含義ICW3:標(biāo)志主片標(biāo)志主片/從片的初始化命令字從片的初始化命令字 寫到82C59A的奇地址端口 只有在一個(gè)系統(tǒng)中使用了兩片以上82C59A并級(jí)聯(lián)時(shí),才需要寫入ICW3 8282C59AC59A的控制字的控制字n從片從片ICW3: 表明從片接在主片的哪一根IR線上。ICW31A0D7 D6 D5 D4 D3 D2 D1 D0ID200000ID1 ID0ID2ID1ID0從片所接的引腳000IR0001IR1111IR7ICW4: :方式控制初始化命令字方式控制初始化命令字 寫入奇地址端口寫入奇地址端口ICW4PMAEOIM/S10SFNM BUF00A

35、0D7 D6 D5 D4 D3 D2 D1 D00= 一般全嵌套方式1= 特殊全嵌套方式= 非緩沖方式,此時(shí)若用級(jí)聯(lián),由SP/ EN確定主從片。= 緩沖方式,本片為從片= 緩沖方式,本片為主片0 1 01 101選用80858086/808801正常EOI方式自動(dòng)EOI方式 ICW4的格式和含義的格式和含義8282C59AC59A的控制字的控制字2. 2. 操作命令字操作命令字 n操作命令字在操作命令字在82C59A應(yīng)用程序中使用,可在應(yīng)用程序中使用,可在初始化后根據(jù)需要隨時(shí)寫入,并且在寫入次序初始化后根據(jù)需要隨時(shí)寫入,并且在寫入次序上沒(méi)有嚴(yán)格的要求。上沒(méi)有嚴(yán)格的要求。n操作命令字有操作命令字

36、有3個(gè),個(gè),OCW1OCW38282C59AC59A的控制字的控制字nOCW1中斷屏蔽字中斷屏蔽字OCW1: :中斷屏蔽操作命令字中斷屏蔽操作命令字寫入82C59A的奇地址端口,其格式和各位定義如下: OCW1M01A0D7 D6 D5 D4 D3 D2 D1 D0M7 M6 M5 M4 M3 M2 M1中斷屏蔽字:Mi=1 屏蔽中斷屏蔽中斷IRiMi =0 允許中斷允許中斷IRi8282C59AC59A的控制字的控制字nOCW2 控制中斷結(jié)束和優(yōu)先級(jí)循環(huán)方式的命令控制中斷結(jié)束和優(yōu)先級(jí)循環(huán)方式的命令 OCW2: : 設(shè)置優(yōu)先級(jí)循環(huán)方式和發(fā)中斷結(jié)束命令設(shè)置優(yōu)先級(jí)循環(huán)方式和發(fā)中斷結(jié)束命令 寫入偶地

37、址端口寫入偶地址端口 其格式和各位定義如下:其格式和各位定義如下: L00A0D7 D6 D5 D4 D3 D2 D1 D0RSL EOI00L2L1OCW2標(biāo)志位指定指定IRi0 不發(fā)中斷結(jié)束命令1 發(fā)中斷結(jié)束命令L2L0無(wú)效 0L2L0有效 1固定優(yōu)先級(jí) 0 旋轉(zhuǎn)優(yōu)先級(jí) 1 IR0至IR7優(yōu)先級(jí)動(dòng)態(tài)變化優(yōu)先級(jí)從高到低為IR0IR7R SL EOI 操作操作0 0 0 固定優(yōu)先級(jí),不發(fā)中斷結(jié)束命令固定優(yōu)先級(jí),不發(fā)中斷結(jié)束命令0 0 1 固定優(yōu)先級(jí),發(fā)一般中斷結(jié)束命令固定優(yōu)先級(jí),發(fā)一般中斷結(jié)束命令0 1 0 無(wú)操作無(wú)操作0 1 1 固定優(yōu)先級(jí),發(fā)特殊中斷結(jié)束命令固定優(yōu)先級(jí),發(fā)特殊中斷結(jié)束命令1

38、 0 0 普通旋轉(zhuǎn)優(yōu)先級(jí),不發(fā)中斷結(jié)束命令普通旋轉(zhuǎn)優(yōu)先級(jí),不發(fā)中斷結(jié)束命令1 0 1 普通旋轉(zhuǎn)優(yōu)先級(jí),發(fā)一般中斷結(jié)束命令普通旋轉(zhuǎn)優(yōu)先級(jí),發(fā)一般中斷結(jié)束命令 1 0 特殊旋轉(zhuǎn)優(yōu)先級(jí),不發(fā)中斷結(jié)束命令特殊旋轉(zhuǎn)優(yōu)先級(jí),不發(fā)中斷結(jié)束命令1 1 1 特殊旋轉(zhuǎn)優(yōu)先級(jí),發(fā)特殊中斷結(jié)束命令特殊旋轉(zhuǎn)優(yōu)先級(jí),發(fā)特殊中斷結(jié)束命令R、SL、EOI編碼表L2 L1 L0 IR 0 0 0 IR0 0 0 1 IR1 0 1 0 IR2 0 1 1 IR3 1 0 0 IR4 1 0 1 IR5 1 1 0 IR6 1 1 1 IR7L2、L1、L0編碼表(1) 中斷結(jié)束命令中斷結(jié)束命令 普通EOI結(jié)束方式:8259A收

39、到EOI結(jié)束命令后,自動(dòng)將ISR中級(jí)別最高的置“1”位清“0”。 特殊EOI結(jié)束方式:正常EOI是自動(dòng)清除級(jí)別最高的ISR位,而特殊EOI則清除由L0L2指定的ISR位。 自動(dòng)AEOI結(jié)束方式:某中斷被響應(yīng)后,ISR對(duì)應(yīng)位被置1,但CPU在中斷響應(yīng)的第二個(gè)負(fù)脈沖將ISR的對(duì)應(yīng)位清0。此時(shí),盡管CPU對(duì)某個(gè)外設(shè)正在進(jìn)行中斷服務(wù),但在8259A中無(wú)指示,低級(jí)別的中斷請(qǐng)求可打斷高級(jí)別的中斷服務(wù),可能產(chǎn)生重復(fù)嵌套,嵌套深度無(wú)法控制。 在級(jí)聯(lián)方式下,一般用非自動(dòng)結(jié)束方式,中斷結(jié)束時(shí),要發(fā)兩次中斷結(jié)束命令,一次是對(duì)主片,另一次是對(duì)從片。IR77IR66IR55IR44IR33IR22IR11IR00默認(rèn)優(yōu)

40、先級(jí)IR74IR63IR52IR41IR30IR27IR16IR05循環(huán)優(yōu)先級(jí)(2)優(yōu)先級(jí)設(shè)定命令)優(yōu)先級(jí)設(shè)定命令特殊循環(huán):循環(huán)初態(tài)為:由L2L0編碼設(shè)定最低優(yōu)先級(jí)。例:若設(shè)定IR2對(duì)應(yīng)的設(shè)備優(yōu)先級(jí)最低,則IR3對(duì)應(yīng)的設(shè)備優(yōu)先級(jí)最高。(3)優(yōu)先級(jí)循環(huán))優(yōu)先級(jí)循環(huán)普通循環(huán):循環(huán)初態(tài)為:IR0最高 IR最低。nOCW3特殊屏蔽方式和查詢方式命令字特殊屏蔽方式和查詢方式命令字OCW3的功能有三個(gè):設(shè)置和撤消特殊屏蔽方式;設(shè)置中設(shè)置和撤消特殊屏蔽方式;設(shè)置中斷查詢方式;設(shè)置對(duì)斷查詢方式;設(shè)置對(duì)82C59A內(nèi)部寄存器的讀出命令內(nèi)部寄存器的讀出命令 寫入偶地址端口,其格式和各位定義如下: RIS0A0D7

41、 D6 D5 D4 D3 D2 D1 D00ESMM SMM01PRROCW30* :無(wú)效10下個(gè)讀命令為讀IRR11下個(gè)讀命令為讀ISR1:查詢8259A狀態(tài)0:不查詢標(biāo)志位標(biāo)志位0:不允許特殊屏蔽10:不設(shè)置特殊屏蔽方式11:設(shè)置特殊屏蔽方式1. 中斷查詢字:查詢有無(wú)中斷請(qǐng)求查詢字的格式及其各位含義:9.3.5 82C59A的狀態(tài)字的狀態(tài)字 哪個(gè)引腳有請(qǐng)求查詢字W00A0D7 D6 D5 D4 D3 D2 D1 D0IW2W1無(wú)請(qǐng)求 0有請(qǐng)求 10 0 0 IR00 0 1 IR10 1 1 IR20 1 1 IR3 1 0 0 IR4 1 0 1 IR5 1 1 0 IR61 1 1 I

42、R7 2. 狀態(tài)字IRR:其內(nèi)容表明哪個(gè)輸入引腳有中斷請(qǐng)求3. 狀態(tài)字ISR:其內(nèi)容表明哪個(gè)中斷正在被服務(wù)IRR0A0D7 D6 D5 D4 D3 D2 D1 D0ISR0A0D7 D6 D5 D4 D3 D2 D1 D04. 狀態(tài)字IMR:其內(nèi)容表明哪個(gè)中斷請(qǐng)求被屏蔽IMR1A0D7 D6 D5 D4 D3 D2 D1 D09.3.6 82C59A的工作方式的工作方式 1.1.中斷屏蔽方式中斷屏蔽方式 普通的中斷屏蔽方式普通的中斷屏蔽方式(高級(jí)服務(wù)能屏蔽低級(jí)請(qǐng)求) 優(yōu)先權(quán)低的中斷請(qǐng)求不能打斷優(yōu)先權(quán)高的中斷服務(wù)。OCW3中的ESMM=0 特殊的中斷屏蔽方式特殊的中斷屏蔽方式 (高級(jí)服務(wù)不能屏蔽

43、低級(jí)請(qǐng)求) 無(wú)論CPU是否正在處理較高級(jí)的中斷,只要未被屏蔽的中斷請(qǐng)求到來(lái)(可能是較低級(jí)的),CPU都會(huì)響應(yīng),就像優(yōu)先權(quán)不起作用一樣。ESMM=1且SMM=1 82C59A的工作方式的工作方式2.2.中斷嵌套方式中斷嵌套方式 n普通全嵌套方式普通全嵌套方式 低級(jí)或同級(jí)中斷請(qǐng)求,不能打斷高級(jí)的中斷服務(wù)。ICW4的SFNM=0 n特殊全嵌套方式特殊全嵌套方式 在級(jí)聯(lián)情況下,主片能實(shí)現(xiàn)同級(jí)中斷嵌套。ICW4的SFNM=1 82C59A的工作方式的工作方式3.3.設(shè)置優(yōu)先級(jí)的方式設(shè)置優(yōu)先級(jí)的方式 n固定優(yōu)先級(jí)固定優(yōu)先級(jí) 82C59A的8個(gè)中斷源的優(yōu)先級(jí)固定為IR0IR1IR7。OCW2的R=0n旋轉(zhuǎn)優(yōu)

44、先級(jí)旋轉(zhuǎn)優(yōu)先級(jí) 82C59A的8個(gè)中斷源的優(yōu)先級(jí)別隨著中斷響應(yīng)的結(jié)束動(dòng)態(tài)變化。 OCW2的R=1 優(yōu)先權(quán)旋轉(zhuǎn)分為兩種形式:n優(yōu)先級(jí)自動(dòng)旋轉(zhuǎn)方式優(yōu)先級(jí)自動(dòng)旋轉(zhuǎn)方式: :初態(tài)為初態(tài)為IR0IR1IR7。n優(yōu)先級(jí)特殊旋轉(zhuǎn)方式優(yōu)先級(jí)特殊旋轉(zhuǎn)方式: :初態(tài)由初態(tài)由OCW2的L2L0指定最低級(jí)。82C59A的工作方式的工作方式4.4.中斷結(jié)束方式中斷結(jié)束方式 當(dāng)一個(gè)中斷服務(wù)程序完成時(shí),必須給82C59A發(fā)一個(gè)命令,復(fù)位ISR中的對(duì)應(yīng)位,用以表示中斷服務(wù)已經(jīng)完成。82C59A可工作在不同的中斷結(jié)束方式: 普通中斷結(jié)束:ICW4中的AEOI=0非自動(dòng)中斷結(jié)束非自動(dòng)中斷結(jié)束 且OCW2中的EOI=1 特殊中斷結(jié)

45、束:ICW4中的AEOI=0 OCW2中的SLSL=1且EOI=1自動(dòng)中斷結(jié)束自動(dòng)中斷結(jié)束 ICW4中的AEOI=1結(jié)束的中斷由結(jié)束的中斷由OCW2的L2L0指定n非自動(dòng)中斷結(jié)束:軟件結(jié)束中斷服務(wù)。(非自動(dòng)中斷結(jié)束:軟件結(jié)束中斷服務(wù)。(最后最后) 必須在中斷服務(wù)程序返回前用軟件向82C59A發(fā)EOI 結(jié)束命令:n第一,若是非級(jí)聯(lián)方式,只需發(fā)一個(gè)第一,若是非級(jí)聯(lián)方式,只需發(fā)一個(gè)EOIEOI命令。命令。n第二,若是級(jí)聯(lián)方式,除了給主第二,若是級(jí)聯(lián)方式,除了給主8282C59AC59A發(fā)發(fā)EOIEOI命令之命令之外,還要給從外,還要給從8282C59AC59A發(fā)發(fā)EOIEOI命令。命令。n第三,非特

46、殊的第三,非特殊的EOIEOI命令:命令:8282C59AC59A工作在非特殊全嵌工作在非特殊全嵌套方式,則被服務(wù)的中斷源就是優(yōu)先權(quán)最高的,那么,套方式,則被服務(wù)的中斷源就是優(yōu)先權(quán)最高的,那么,只需用一般的只需用一般的EOIEOI命令使它在命令使它在ISRISR的相應(yīng)位復(fù)位。的相應(yīng)位復(fù)位。n第四,特殊的第四,特殊的EOIEOI命令:命令:8282C59AC59A工作在特殊全嵌套方工作在特殊全嵌套方式,式,8282C59AC59A不能確定剛結(jié)束的中斷源的等級(jí),此時(shí)應(yīng)不能確定剛結(jié)束的中斷源的等級(jí),此時(shí)應(yīng)該用該用OCWOCW2 2的的L L2 2L L0 0三位的編碼來(lái)指定復(fù)位哪一位。這就三位的編碼

47、來(lái)指定復(fù)位哪一位。這就是特殊的中斷結(jié)束命令。是特殊的中斷結(jié)束命令。 82C59A的工作方式的工作方式n自動(dòng)中斷結(jié)束命令:硬件結(jié)束中斷服務(wù)。(自動(dòng)中斷結(jié)束命令:硬件結(jié)束中斷服務(wù)。(最前最前) 將ICW4中的AEOI位設(shè)置為1。它不是靠軟件發(fā)結(jié)束命令EOI=1來(lái)復(fù)位ISR中的對(duì)應(yīng)位,而是在剛一響應(yīng)中斷時(shí)的第二個(gè) 期間就由此 的后沿(上升沿)使82C59A自動(dòng)復(fù)位ISR中的對(duì)應(yīng)位。 只適用于82C59A的單片使用,中斷請(qǐng)求不頻繁,并且沒(méi)有中斷嵌套的情況。 INTAINTA82C59A的工作方式的工作方式5. 5. 查詢中斷方式查詢中斷方式 查詢方法:向82C59A寫入OCW3,并使P=1 從偶地址端

48、口讀入查詢字查詢字W00A0D7 D6 D5 D4 D3 D2 D1 D0IW2W1無(wú)請(qǐng)求 0有請(qǐng)求 10 0 0 IR00 0 1 IR10 1 1 IR20 1 1 IR3 1 0 0 IR4 1 0 1 IR5 1 1 0 IR61 1 1 IR7 82C59A的工作方式的工作方式6.6.讀取狀態(tài)方式讀取狀態(tài)方式 讀取方法: 當(dāng)當(dāng)RIS=1時(shí),時(shí),讀讀ISR的內(nèi)容的內(nèi)容當(dāng)OCW3的P=0,RR=1時(shí): 當(dāng)當(dāng)RIS=0時(shí),時(shí),讀讀IRR的內(nèi)容的內(nèi)容注意:注意:從偶地址端口偶地址端口讀出 屏蔽寄存器屏蔽寄存器IMR的內(nèi)容隨時(shí)可以從的內(nèi)容隨時(shí)可以從奇地址端口奇地址端口讀出,讀出,而不用發(fā)讀命令

49、。而不用發(fā)讀命令。82C59A的工作方式的工作方式7. 7. 級(jí)聯(lián)方式級(jí)聯(lián)方式 在較大的微機(jī)應(yīng)用系統(tǒng)中,可用多片82C59A級(jí)聯(lián)來(lái)擴(kuò)展中斷源。一個(gè)主82C59A最多可級(jí)聯(lián)8個(gè)從82C59A,從而把中斷源擴(kuò)展到64個(gè)。 若ICW1中的SNGL位為0,表示為級(jí)聯(lián)方式。在這種方式下,典型的硬件連接如圖9.7所示。圖圖9.7 級(jí)聯(lián)方式的連接電路級(jí)聯(lián)方式的連接電路 CS A0 D7-D0 INTA INTCAS0CAS1CAS2SP/EN IR7 IR6- -IR0從8259 1#CS A0 D7-D0 INTA INTCAS0CAS1CAS2SP/EN IR7 IR6- -IR0從8259 2#CS

50、A0 D7-D0 INTA INTCAS0CAS1CAS2SP/EN IR7 IR6- -IR0主8259GNDGNDVcc地址總線(16)控制總線數(shù)據(jù)總線82C59A的工作方式的工作方式8. 8. 連接系統(tǒng)總線的方式連接系統(tǒng)總線的方式 n緩沖方式緩沖方式 ICW4的BUF=1 當(dāng)82C59A在一個(gè)大系統(tǒng)中使用時(shí),82C59A通過(guò)總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方式下,存在對(duì)總線驅(qū)動(dòng)器的選通問(wèn)題。為此,將82C59A的 引腳與總線驅(qū)動(dòng)器的允許端相連。此時(shí)為輸出。 n非緩沖方式非緩沖方式 ICW4的BUF=0 非緩沖方式是相對(duì)于緩沖方式而言的。當(dāng)系統(tǒng)中只有單片使用或有少數(shù)幾片級(jí)聯(lián)

51、而系統(tǒng)又不大時(shí),82C59A的數(shù)據(jù)線可直接與CPU系統(tǒng)的數(shù)據(jù)總線相連,而不用接驅(qū)動(dòng)器。這時(shí) 為輸入端。 ENSP/ENSP/主機(jī)8259 A總線驅(qū)動(dòng)器ENSP/9.3.7 82C59A的編程的編程 n82C59A的編程分為:的編程分為:n初始化編程:初始化編程: 復(fù)位后寫入復(fù)位后寫入n工作方式編程:需要時(shí)寫入工作方式編程:需要時(shí)寫入n讀取狀態(tài)編程:需要時(shí)讀出讀取狀態(tài)編程:需要時(shí)讀出A0 D4 D3 RD WR CS 輸入操作(讀) 0 0 1 0 IRR、ISR或查詢字?jǐn)?shù)據(jù)總線(注1) 輸出操作(寫) 0 0 0 1 0 0 0 0 1 1 0 0 0 1 x 1 0 0 1 x x 1 0

52、0 數(shù)據(jù)總線OCW2(寫OCW2) 數(shù)據(jù)總線OCW3(寫OCW3) 數(shù)據(jù)總線ICW1(寫ICW1) 數(shù)據(jù)總線OCW1、ICW2、ICW3 、ICW4(注2) 斷開功能 X X X 1 1 0 X X X X X 1 數(shù)據(jù)總線為三態(tài)(無(wú)操作) 數(shù)據(jù)總線為三態(tài)(無(wú)操作) 表表9.2 82C59A的讀的讀/寫操作寫操作 82C59A的編程的編程1. 1. 初始化編程初始化編程 初始化編程是由初始化編程是由CPU向向82C59A寫入寫入24個(gè)字個(gè)字節(jié)的初始化命令字節(jié)的初始化命令字ICW。目的是讓目的是讓82C59A開始正開始正常工作之前處于起始點(diǎn)。常工作之前處于起始點(diǎn)。8282C59AC59A的初始化

53、順序是嚴(yán)的初始化順序是嚴(yán)格的格的 。Y 當(dāng)當(dāng)CPU向向82C59A的偶地址端口寫入的偶地址端口寫入一個(gè)命令字,且一個(gè)命令字,且D4=1時(shí),則被時(shí),則被82C59A內(nèi)內(nèi)部邏輯解釋為初始化命令字部邏輯解釋為初始化命令字ICW1,啟動(dòng)啟動(dòng)82C59A中的初始化順序;中的初始化順序; 緊接著向奇地址端口寫入的一個(gè)字則緊接著向奇地址端口寫入的一個(gè)字則被認(rèn)為是被認(rèn)為是ICW2。這兩個(gè)命令字是必須寫的;這兩個(gè)命令字是必須寫的; 而而ICW3和和ICW4是否要寫入,則視情是否要寫入,則視情況而定。若是級(jí)聯(lián)使用(即況而定。若是級(jí)聯(lián)使用(即SNGL=0),),那么下一個(gè)向奇地址寫入的命令自動(dòng)辯認(rèn)那么下一個(gè)向奇地址

54、寫入的命令自動(dòng)辯認(rèn)為為ICW3,否則不必寫入;否則不必寫入; 如果根據(jù)系統(tǒng)要求所確定的如果根據(jù)系統(tǒng)要求所確定的ICW4不等不等于于00H,那么繼那么繼ICW3之后,向奇地址端口之后,向奇地址端口寫入的必定是寫入的必定是ICW4。NICW1ICW2級(jí)聯(lián)方式?ICW3需要ICW4?ICW4NY解:按要求確定初始化命令字: ICW1:00011011B ICW2:01100000B(只有前5位有效) ICW4:00000001B 例例9.1:設(shè)某8088系統(tǒng)中使用一片82C59A,其端口地址為210H、211H,若按系統(tǒng)要求,中斷請(qǐng)求為電平觸發(fā),其8個(gè)中斷源的類型號(hào)為60H67H,試編寫初始化程序段

55、。初始化程序段:初始化程序段: MOV DX,210H ;DX指向偶地址端口 MOV AL,1BH ;寫ICW1 OUT DX,AL MOV DX,211H ;DX指向奇地址端口 MOV AL,60H ;寫ICW2 OUT DX,AL MOV AL,01H ;寫ICW4 OUT DX,AL82C59A的編程的編程2.2.工作方式編程工作方式編程 n工作方式編程是工作方式編程是CPU向向82C59A寫入操作命寫入操作命令字令字OCW1、OCW2和和OCW3,它們的作用它們的作用是規(guī)定是規(guī)定82C59A的工作方式。工作方式命令的工作方式。工作方式命令字是在字是在82C59A已經(jīng)初始化以后的任何時(shí)間

56、已經(jīng)初始化以后的任何時(shí)間寫入的,并且寫入順序沒(méi)有任何限制。寫入的,并且寫入順序沒(méi)有任何限制。 例9.2:n某個(gè)以8088為CPU的數(shù)據(jù)采集系統(tǒng)中,使用兩片82C59A接成主從控制器,主片的端口地址為20H和21H,中斷類型碼為60H67H,從片的端口地址為408H和409H,中斷類型號(hào)為68H6FH。按系統(tǒng)要求,所有中斷請(qǐng)求采用邊沿觸發(fā),普通屏蔽,主片用特殊全嵌套,從片用非特殊全嵌套方式,一般結(jié)束,優(yōu)先權(quán)自動(dòng)旋轉(zhuǎn)方式。n硬件接線如圖9.9所示。n試對(duì)這兩片82C59A分別進(jìn)行初始化,并設(shè)置它們的工作方式。 CAS2CAS1CAS0CAS2CAS1CAS08259A(主 )8259A(從 )WR

57、RDD7D0INTAA0WRRDD7D0INTAA0CSIR7IR6IR5IR4IR3IR2IR1IR0VCCSP/ENGNDINTVCCSP/ENGNDINTIR7IR6IR5IR4IR3IR2IR1IR0CS+5中 斷 請(qǐng) 求 輸 入接 譯 碼 電 路 輸 出接 譯 碼 電 路 輸 出接 A0接 INTA接 IOW接 IOR接 DB接 CPU的 INTR圖圖9.9 例例9.2硬件接線圖硬件接線圖 例9.2:n解:n確定初始化命令字和操作命令字: ICW1:00010001B (主、從片相同) ICW2:01100000B主片, 01101000B從片 ICW3:10000000B主片, 00000111B從片 ICW4:00010001B主片, 00000001B從片 OCW1: 寫入ICW后,82C59A自動(dòng)將IMR清零,因此, 如開放所有中斷請(qǐng)求,則不必再寫入OCW1。 在使用中要改變這種情況時(shí)可隨時(shí)寫入。OCW2:10000000B (主、從片相同)OCW3:00001000B (主、從片相同) 例9.2:n編程:編程:MOV AL,11H ;寫主片ICW1OUT 20H,ALMOV DX

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論