第6章 輸入輸出接口技術(shù)及中斷_第1頁
第6章 輸入輸出接口技術(shù)及中斷_第2頁
第6章 輸入輸出接口技術(shù)及中斷_第3頁
第6章 輸入輸出接口技術(shù)及中斷_第4頁
第6章 輸入輸出接口技術(shù)及中斷_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第6 6章章 輸入輸入/ /輸出接口技術(shù)及中斷輸出接口技術(shù)及中斷6.1 6.1 并行與串行輸入并行與串行輸入/ /輸出接口輸出接口 6.2 I/O6.2 I/O端口技術(shù)端口技術(shù)6.3 6.3 輸入輸入/ /輸出傳送數(shù)據(jù)的幾種方式輸出傳送數(shù)據(jù)的幾種方式6.4 6.4 可編程中斷控制器可編程中斷控制器82C59A82C59A6.5 6.5 實(shí)模式的中斷技術(shù)實(shí)模式的中斷技術(shù)6.6 6.6 保護(hù)模式的中斷技術(shù)保護(hù)模式的中斷技術(shù)6.1 并行與串行輸入并行與串行輸入/輸出接口輸出接口6.1.1 6.1.1 常用的鎖存器和緩沖器常用的鎖存器和緩沖器1 1帶輸出緩沖器的鎖存器帶輸出緩沖器的鎖存器74LS37

2、374LS373 74LS373 74LS373由由8 8個個D D觸發(fā)器構(gòu)成了觸發(fā)器構(gòu)成了一個電平觸發(fā)的一個電平觸發(fā)的8 8位寄存器,當(dāng)輸位寄存器,當(dāng)輸入使能端入使能端G G為高電平且為高電平且 =“0”=“0”時,輸出時,輸出Q Q端狀態(tài)與對應(yīng)的輸入端狀態(tài)與對應(yīng)的輸入D D相等,一旦相等,一旦G G下降到低電平時,下降到低電平時,8 8個個Q Q端的數(shù)據(jù)被鎖存,端的數(shù)據(jù)被鎖存,8 8個輸入端個輸入端的改變不會影響輸出端鎖存的數(shù)的改變不會影響輸出端鎖存的數(shù)據(jù)。據(jù)。OE圖圖6-1 74LS3736-1 74LS373的邏輯圖的邏輯圖2 2雙向三態(tài)緩沖器雙向三態(tài)緩沖器74LS24574LS245

3、 圖圖6-2 74LS2456-2 74LS245的邏輯圖與引腳圖的邏輯圖與引腳圖 輸入輸入功功 能能DIRDIRL LL L由由B B邊傳輸?shù)竭厒鬏數(shù)紸 A邊邊L LH H由由A A 邊傳輸?shù)竭厒鬏數(shù)紹 B邊邊H H隔離(兩邊都處于高隔離(兩邊都處于高阻)阻)表表6-2 74LS2456-2 74LS245的功能表的功能表G6.1.2 6.1.2 基本的輸入基本的輸入/ /輸出接口電路輸出接口電路 從接口電路的外部分析,它一方面與從接口電路的外部分析,它一方面與CPUCPU相連接,另一方面,根據(jù)相連接,另一方面,根據(jù)不同功能的接口芯片,要與不同的外部設(shè)備相連接。如果輸入不同功能的接口芯片,要

4、與不同的外部設(shè)備相連接。如果輸入/ /輸出接輸出接口與外部設(shè)備并行傳輸數(shù)據(jù),則稱為并行接口,如果輸入口與外部設(shè)備并行傳輸數(shù)據(jù),則稱為并行接口,如果輸入/ /輸出接口與輸出接口與外部設(shè)備串行傳輸數(shù)據(jù),則稱為串行接口。外部設(shè)備串行傳輸數(shù)據(jù),則稱為串行接口。 圖圖6-3 6-3 并行輸入并行輸入/ /輸出接口電路的基本結(jié)構(gòu)輸出接口電路的基本結(jié)構(gòu) 圖圖6-4 6-4 串行輸入串行輸入/ /輸出接口電路的基本結(jié)構(gòu)輸出接口電路的基本結(jié)構(gòu)RDRD微處理器微處理器數(shù)據(jù)線數(shù)據(jù)線地址線地址線I/OI/O接口電路接口電路數(shù)據(jù)端口數(shù)據(jù)端口控制端口控制端口狀態(tài)端口狀態(tài)端口狀態(tài)線狀態(tài)線控制線控制線數(shù)據(jù)線數(shù)據(jù)線(多條線)(

5、多條線)寫允許寫允許讀允許讀允許輸入輸入/ /輸輸出設(shè)備出設(shè)備M/IOM/IOWRWRRDRD微處理器微處理器數(shù)據(jù)線數(shù)據(jù)線地址線地址線I/OI/O接口電路接口電路數(shù)據(jù)端口數(shù)據(jù)端口控制端口控制端口狀態(tài)端口狀態(tài)端口接收數(shù)據(jù)接收數(shù)據(jù)線線(單條線)(單條線)寫允許寫允許讀允許讀允許輸入輸入/ /輸輸出設(shè)備出設(shè)備M/IOM/IOWRWR發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)線線(單條線)(單條線)1 1輸入輸入/ /輸出接口電路與輸出接口電路與CPUCPU一側(cè)的主要連接線一側(cè)的主要連接線(1 1)數(shù)據(jù))數(shù)據(jù)線線(2 2)地址)地址線線(3 3)主要控制)主要控制線線2 2輸入輸入/ /輸出接口電路內(nèi)部的基本寄存器輸出接口電路

6、內(nèi)部的基本寄存器 (1 1)數(shù)據(jù)端口)數(shù)據(jù)端口 數(shù)據(jù)端口用于暫時存放輸入數(shù)據(jù)端口用于暫時存放輸入/ /輸出的數(shù)據(jù),起到了中轉(zhuǎn)與緩沖數(shù)據(jù)的作用輸出的數(shù)據(jù),起到了中轉(zhuǎn)與緩沖數(shù)據(jù)的作用。(2 2)控制端口)控制端口 控制端口主要由輸出寄存器組成,其作用是寄存對輸入控制端口主要由輸出寄存器組成,其作用是寄存對輸入/ /輸出設(shè)備的各種命輸出設(shè)備的各種命令信息。令信息。(3 3)狀態(tài)端口)狀態(tài)端口 狀態(tài)端口主要由輸入寄存器組成,其作用是用于寄存外設(shè)所處的狀態(tài)信息。狀態(tài)端口主要由輸入寄存器組成,其作用是用于寄存外設(shè)所處的狀態(tài)信息。3 3并行接口與串行接口并行接口與串行接口 并行接口與串行接口的主要區(qū)別在于與

7、外設(shè)的連接及傳輸并行接口與串行接口的主要區(qū)別在于與外設(shè)的連接及傳輸數(shù)據(jù)的方式不同。數(shù)據(jù)的方式不同。 6.1.3 6.1.3 輸入輸入/ /輸出接口電路的基本功能輸出接口電路的基本功能1 1選擇設(shè)備的功能選擇設(shè)備的功能2 2輸入輸入/ /輸出數(shù)據(jù)的緩沖功能輸出數(shù)據(jù)的緩沖功能3 3寄存外設(shè)狀態(tài)的功能寄存外設(shè)狀態(tài)的功能4 4信號電平的轉(zhuǎn)換與數(shù)據(jù)寬度變換的功能信號電平的轉(zhuǎn)換與數(shù)據(jù)寬度變換的功能5 5可編程功能可編程功能6 6接收和執(zhí)行接收和執(zhí)行CPUCPU命令的功能命令的功能7 7中斷處理的功能中斷處理的功能6.2 I/O6.2 I/O端口技術(shù)端口技術(shù)6.2.1 80 x86 6.2.1 80 x86

8、 輸入輸入/ /輸出端口的獨(dú)立編址方式輸出端口的獨(dú)立編址方式輸入輸入/ /輸出端口有兩種編址的方式:統(tǒng)一編址與獨(dú)立編址。輸出端口有兩種編址的方式:統(tǒng)一編址與獨(dú)立編址。6.2.2 6.2.2 輸入輸入/ /輸出指令輸出指令1 1輸入輸入/ /輸出尋址方式輸出尋址方式(1 1)直接尋址)直接尋址 輸入輸入/ /輸出地址的直接尋址是由輸入輸出地址的直接尋址是由輸入/ /輸出指令直接提供輸出指令直接提供8 8位位的輸入的輸入/ /輸出地址,地址編碼是輸出地址,地址編碼是00H00HFFHFFH; 共計共計256256個地址編碼,可以訪問個地址編碼,可以訪問256256個端口,主要用于訪問個端口,主要用

9、于訪問主板上的端口。主板上的端口。(2 2)間接尋址)間接尋址 輸入輸入/ /輸出地址的間接尋址是以輸出地址的間接尋址是以DXDX寄存器中的寄存器中的1616位二進(jìn)制數(shù)位二進(jìn)制數(shù)為端口的地址,可以尋址全部輸入為端口的地址,可以尋址全部輸入/ /輸出地址輸出地址0000H0000HFFFFHFFFFH,共,共計計64K64K個端口,每個地址對應(yīng)一個端口。個端口,每個地址對應(yīng)一個端口。2 2常用的輸入常用的輸入/ /輸出指令輸出指令(1 1)8 8位、位、1616位及位及3232位數(shù)據(jù)的輸入指令位數(shù)據(jù)的輸入指令I(lǐng)N ALIN AL,port port ;從;從portport(端口)讀一個字節(jié)到(

10、端口)讀一個字節(jié)到ALAL中,中,8 8位數(shù)據(jù),直接尋址位數(shù)據(jù),直接尋址IN AXIN AX,port port ;從;從portport(端口)讀一個字到(端口)讀一個字到AXAX中,中,1616位數(shù)據(jù),直接尋址位數(shù)據(jù),直接尋址IN EAXIN EAX,portport;從;從portport(端口)讀一個雙字到(端口)讀一個雙字到EAXEAX中,中,3232位數(shù)據(jù),直接尋址位數(shù)據(jù),直接尋址IN ALIN AL,DX DX ;從;從DXDX寄存器所指示的端口讀一個字節(jié)到寄存器所指示的端口讀一個字節(jié)到ALAL中,中,8 8位數(shù)據(jù),間接尋址位數(shù)據(jù),間接尋址IN AXIN AX,DX DX ;從;

11、從DXDX寄存器所指示的端口讀一個字到寄存器所指示的端口讀一個字到AXAX中,中,1616位數(shù)據(jù),間接尋址位數(shù)據(jù),間接尋址IN EAXIN EAX,DX DX ;從;從DXDX寄存器所指示的端口讀一個雙字到寄存器所指示的端口讀一個雙字到EAXEAX中,中,3232位數(shù)據(jù),間接尋址位數(shù)據(jù),間接尋址(2 2)8 8位、位、1616位及位及3232位數(shù)據(jù)的部分輸出指令位數(shù)據(jù)的部分輸出指令OUT DXOUT DX,ALAL;將;將ALAL寄存器中的一字節(jié)數(shù)據(jù)輸出到寄存器中的一字節(jié)數(shù)據(jù)輸出到DXDX寄存器所指端口,間接尋址寄存器所指端口,間接尋址OUT DXOUT DX,AXAX;將;將AXAX寄存器中

12、的一個字?jǐn)?shù)據(jù)輸出到寄存器中的一個字?jǐn)?shù)據(jù)輸出到DXDX寄存器所指端口,間接尋址寄存器所指端口,間接尋址OUT DXOUT DX,EAXEAX;將;將EAXEAX寄存器中的一個雙字?jǐn)?shù)據(jù)輸出到寄存器中的一個雙字?jǐn)?shù)據(jù)輸出到DXDX寄存器所指端口,間接尋址寄存器所指端口,間接尋址6.2.3 6.2.3 輸入輸入/ /輸出端口地址的分配輸出端口地址的分配1 1兩個兩個I/OI/O地址區(qū)間地址區(qū)間 按開發(fā)使用的先后分,按開發(fā)使用的先后分,64K64K的的I/OI/O地址分為:地址分為:0000H0000H03FFH03FFH和和4000H4000HFFFFHFFFFH兩個區(qū)間。兩個區(qū)間。 16 16位和位和

13、3232位微機(jī)使用低位微機(jī)使用低1616位地址的位地址的A9A9A0A0,共計有,共計有210 = 1024210 = 1024個端口地址。個端口地址。 在當(dāng)前微機(jī)硬件系統(tǒng)中,在當(dāng)前微機(jī)硬件系統(tǒng)中,0400H0400HFFFFHFFFFH范圍內(nèi)的少數(shù)范圍內(nèi)的少數(shù)I/OI/O地址已經(jīng)被使地址已經(jīng)被使用,有些地址被系統(tǒng)主板上超大規(guī)模芯片所占用。用,有些地址被系統(tǒng)主板上超大規(guī)模芯片所占用。2 2I/OI/O基地址基地址 I/O I/O基地址是專指一個基地址是專指一個I/OI/O地址區(qū)間中最小的那個地址,比如,地址區(qū)間中最小的那個地址,比如,一個芯片占用一個芯片占用300H300H303H303H的地

14、址范圍,稱的地址范圍,稱300H300H為該芯片的基地址。為該芯片的基地址。表表6-3 6-3 系統(tǒng)板上接口芯片的端口地址表系統(tǒng)板上接口芯片的端口地址表 圖圖6-6 I/O6-6 I/O端口地址的譯碼端口地址的譯碼 端口地址端口地址I/OI/O芯片或部件名稱芯片或部件名稱00000001FH01FHDMADMA控制器控制器1 102002003FH03FH中斷控制器中斷控制器1 104004005FH05FH定時器定時器8253825306006007FH07FH并行接口(鍵盤接口)并行接口(鍵盤接口)08008009FH09FHDMADMA頁面寄存器頁面寄存器0A00A00BFH0BFH中斷

15、控制器中斷控制器2 20C00C00DFH0DFHDMADMA控制器控制器2 20E00E00FFH0FFH協(xié)處理器協(xié)處理器6.2.5 326.2.5 32位機(jī)輸入位機(jī)輸入/ /輸出端口地址的譯碼電路輸出端口地址的譯碼電路 80386 80386、80486 CPU80486 CPU通過字節(jié)選擇信號可以訪問通過字節(jié)選擇信號可以訪問8 8位、位、1616位及位及3232位內(nèi)存數(shù)據(jù),位內(nèi)存數(shù)據(jù),CPUCPU也可以通過專用輸入也可以通過專用輸入/ /輸出指令和字節(jié)選擇信號訪問輸入輸出指令和字節(jié)選擇信號訪問輸入/ /輸出端口,同樣可以訪問輸出端口,同樣可以訪問8 8位、位、1616位或位或3232位端

16、口數(shù)據(jù)。位端口數(shù)據(jù)。圖圖6-7 326-7 32位微機(jī)位微機(jī)8 8位、位、1616位及位及3232位端口地址的譯碼電路位端口地址的譯碼電路表表6-4 86-4 8個個3232位片選的地址范圍位片選的地址范圍端口號端口號地地 址址片片 選選地地 址址3E0H3E0H3E3H3E3H3F0H3F0H3F3H3F3H3E4H3E4H3E7H3E7H3F4H3F4H3F7H3F7H3E8H3E8H3EBH3EBH3F8H3F8H3FBH3FBH3ECH3ECH3EFH3EFH3FCH3FCH3FFH3FFH0Y1Y2Y3Y4Y5Y6Y7Y6.2.6 6.2.6 輸入輸入/ /輸出保護(hù)輸出保護(hù) 在在DO

17、SDOS操作平臺即實(shí)模式,用戶可以使用輸入操作平臺即實(shí)模式,用戶可以使用輸入/ /輸出指令實(shí)現(xiàn)通常的輸入輸出指令實(shí)現(xiàn)通常的輸入/ /輸出操作。輸出操作。 在在Windows Windows 操作系統(tǒng)下,操作系統(tǒng)下,Windows Windows 操作系統(tǒng)限制一般用戶直接使用輸入操作系統(tǒng)限制一般用戶直接使用輸入/ /輸出指令或語句訪問輸入輸出指令或語句訪問輸入/ /輸出端口,但可以通過執(zhí)行輸入輸出端口,但可以通過執(zhí)行輸入/ /輸出函數(shù)等方式輸出函數(shù)等方式來訪問輸入來訪問輸入/ /輸出端口。輸出端口。6.3 6.3 輸入輸入/ /輸出傳送數(shù)據(jù)的幾種方式輸出傳送數(shù)據(jù)的幾種方式6.3.1 6.3.1

18、程序控制的輸入程序控制的輸入/ /輸出方式輸出方式1 1無條件輸入無條件輸入/ /輸出方式輸出方式(1 1)無條件輸入方式)無條件輸入方式M/IORDWRIOWIOR圖圖6-9 6-9 無條件輸入接口電路的基本結(jié)構(gòu)無條件輸入接口電路的基本結(jié)構(gòu)IORIOW圖圖6-8 與與的產(chǎn)生的產(chǎn)生(1 1)無條件輸出方式)無條件輸出方式圖圖6-10 6-10 無條件輸出方式接口電路的基本結(jié)構(gòu)無條件輸出方式接口電路的基本結(jié)構(gòu)2 2查詢式輸入查詢式輸入/ /輸出方式輸出方式(1 1)查詢式輸入方式)查詢式輸入方式 當(dāng)當(dāng)CPUCPU采用查詢方式從外設(shè)讀取數(shù)據(jù)時,采用查詢方式從外設(shè)讀取數(shù)據(jù)時,CPUCPU必須首先從狀

19、態(tài)端口查詢外設(shè)數(shù)據(jù)是必須首先從狀態(tài)端口查詢外設(shè)數(shù)據(jù)是否已經(jīng)準(zhǔn)備好的標(biāo)志位,依據(jù)標(biāo)志位確認(rèn)已準(zhǔn)備好后,才能執(zhí)行一次數(shù)據(jù)輸入操作。否已經(jīng)準(zhǔn)備好的標(biāo)志位,依據(jù)標(biāo)志位確認(rèn)已準(zhǔn)備好后,才能執(zhí)行一次數(shù)據(jù)輸入操作。圖圖6-11 6-11 查詢式輸入查詢式輸入/ /輸出程序的流程圖輸出程序的流程圖(2 2)查詢式輸出方式)查詢式輸出方式 查詢式輸出時,查詢式輸出時,CPUCPU必須首先從狀態(tài)端口查詢外設(shè)數(shù)據(jù)端口是否處于必須首先從狀態(tài)端口查詢外設(shè)數(shù)據(jù)端口是否處于“忙忙”狀態(tài)狀態(tài)的標(biāo)志位,依據(jù)標(biāo)志位確認(rèn)已經(jīng)不的標(biāo)志位,依據(jù)標(biāo)志位確認(rèn)已經(jīng)不“忙忙”之后,才能執(zhí)行一次數(shù)據(jù)輸出操作。之后,才能執(zhí)行一次數(shù)據(jù)輸出操作。【例

20、【例6-56-5】 微機(jī)微機(jī)RS-232CRS-232C串行通信接口有一個通信線路狀態(tài)寄存器串行通信接口有一個通信線路狀態(tài)寄存器(端口地址(端口地址3FDH3FDH),),8 8位通信線路狀態(tài)寄存器的位通信線路狀態(tài)寄存器的D D0 0位為位為“1”1”,表示,表示串行通信接口已經(jīng)接收到了一幀數(shù)據(jù),串行通信接口已經(jīng)接收到了一幀數(shù)據(jù),D D0 0位為位為“0”0”,則表示尚未,則表示尚未接收到數(shù)據(jù);接收到數(shù)據(jù);RS-232-CRS-232-C串行通信接口還有一個接收數(shù)據(jù)寄存器(端串行通信接口還有一個接收數(shù)據(jù)寄存器(端口地址口地址3F8H3F8H),如果要讀取接收到的一幀數(shù)據(jù)(讀接收數(shù)據(jù)寄存),如果

21、要讀取接收到的一幀數(shù)據(jù)(讀接收數(shù)據(jù)寄存器),則必須首先查詢狀態(tài)寄存器中的器),則必須首先查詢狀態(tài)寄存器中的D D0 0是否為是否為“1”1”。編程實(shí)現(xiàn)該過程的程序如下:編程實(shí)現(xiàn)該過程的程序如下: MOV DXMOV DX,3FDH3FDH ;狀態(tài)端口地址傳送給;狀態(tài)端口地址傳送給DXDXZXCZXC: IN ALIN AL,DX DX ;讀入狀態(tài)信息;讀入狀態(tài)信息 TEST ALTEST AL,01H 01H ;AL00000001BAL00000001B,影響,影響ZFZF標(biāo)志標(biāo)志 JZ ZXCJZ ZXC ;如果狀態(tài)標(biāo)志位為;如果狀態(tài)標(biāo)志位為0 0,則轉(zhuǎn)到,則轉(zhuǎn)到ZXCZXC MOV DX

22、 MOV DX,3F8H3F8H ;數(shù)據(jù)端口地址傳送給;數(shù)據(jù)端口地址傳送給DXDX IN AL IN AL,DXDX ;讀入數(shù)據(jù)信息;讀入數(shù)據(jù)信息【例【例6-66-6】 在微機(jī)串行通信接口中,在微機(jī)串行通信接口中,發(fā)送保持寄存器發(fā)送保持寄存器的數(shù)據(jù)如果傳輸?shù)搅说臄?shù)據(jù)如果傳輸?shù)搅税l(fā)送移位發(fā)送移位寄存器寄存器中,則中,則發(fā)送保持寄存器空發(fā)送保持寄存器空,微處理器可以再次對串行通信接口中的發(fā)送保持,微處理器可以再次對串行通信接口中的發(fā)送保持寄存器賦予待發(fā)送的新字符。寄存器賦予待發(fā)送的新字符。 通過查詢通過查詢8 8位通信線路狀態(tài)寄存器的位通信線路狀態(tài)寄存器的D D5 5位位是否為是否為“1”1”來實(shí)

23、現(xiàn)。來實(shí)現(xiàn)。D D5 5位位=1=1,表示發(fā)送,表示發(fā)送保持寄存器空,保持寄存器空,D D5 5位位=0=0,表示不空,繼續(xù)查詢。,表示不空,繼續(xù)查詢。程序如下:程序如下: MOV MOV DXDX,3FDH3FDH;狀態(tài)口地址傳送給;狀態(tài)口地址傳送給DXDXREPEATREPEAT: IN ALIN AL,DXDX ;讀入狀態(tài)信息;讀入狀態(tài)信息 TEST ALTEST AL,20H20H ;AL00100000BAL00100000B,影響,影響ZFZF標(biāo)志標(biāo)志 JZ JZ REPEATREPEAT ;如果狀態(tài)標(biāo)志位為;如果狀態(tài)標(biāo)志位為0 0,則轉(zhuǎn)到,則轉(zhuǎn)到REPEATREPEAT MOV

24、MOV DXDX,3F8H3F8H;數(shù)據(jù)端口地址傳送給;數(shù)據(jù)端口地址傳送給DXDX MOV MOV ALAL,SISI;從內(nèi)存讀取數(shù)據(jù)給;從內(nèi)存讀取數(shù)據(jù)給ALAL OUT OUTDXDX,AL AL ;向數(shù)據(jù)端口輸出數(shù)據(jù);向數(shù)據(jù)端口輸出數(shù)據(jù) 6.3.2 6.3.2 直接存儲器存取方式(直接存儲器存取方式(DMADMA)1 1DMADMA(Direct Memory AccessDirect Memory Access)概述)概述 直接存儲器存取方式直接存儲器存取方式DMADMA是在專門的是在專門的DMADMA控制器(或稱控制器(或稱DMACDMAC)的控制下,能夠?qū)崿F(xiàn)外部設(shè)備與內(nèi)存儲器直接交換

25、數(shù)據(jù)的一種的控制下,能夠?qū)崿F(xiàn)外部設(shè)備與內(nèi)存儲器直接交換數(shù)據(jù)的一種I/OI/O方式。在方式。在DMADMA方式下,數(shù)據(jù)的傳輸是不經(jīng)過方式下,數(shù)據(jù)的傳輸是不經(jīng)過CPUCPU的,也就不經(jīng)的,也就不經(jīng)過過CPUCPU內(nèi)部的寄存器,無需內(nèi)部的寄存器,無需CPUCPU執(zhí)行執(zhí)行I/OI/O指令,利用系統(tǒng)的數(shù)據(jù)總指令,利用系統(tǒng)的數(shù)據(jù)總線,由外部設(shè)備直接對存儲器寫入或讀出,可以達(dá)到很高的數(shù)線,由外部設(shè)備直接對存儲器寫入或讀出,可以達(dá)到很高的數(shù)據(jù)傳輸速率,因此,據(jù)傳輸速率,因此,DMADMA傳輸方式廣泛應(yīng)用于硬盤等高速外設(shè)的傳輸方式廣泛應(yīng)用于硬盤等高速外設(shè)的接口中。接口中。2 2DMAC 82C37ADMAC 8

26、2C37A與與CPUCPU的接口的接口 82C37A82C37A芯片內(nèi)擁有芯片內(nèi)擁有4 4個獨(dú)立的個獨(dú)立的DMADMA通道,被分別稱之為通道通道,被分別稱之為通道0 0、1 1、2 2、3 3。通常,。通常,總是把每一個通道指定給一個專門的外圍設(shè)備。該電路有總是把每一個通道指定給一個專門的外圍設(shè)備。該電路有4 4個個DMADMA請求輸入信號,請求輸入信號,標(biāo)識為標(biāo)識為DREQDREQ0 0DREQDREQ3 3,這,這4 4位請求輸入信號分別與通道位請求輸入信號分別與通道0 0、1 1、2 2、3 3相對應(yīng)。在空相對應(yīng)。在空閑狀態(tài),閑狀態(tài),82C37A82C37A不斷地測試這些輸入信號,以確定

27、是否有一個是有效的。當(dāng)某一不斷地測試這些輸入信號,以確定是否有一個是有效的。當(dāng)某一外圍設(shè)備欲進(jìn)行外圍設(shè)備欲進(jìn)行DMADMA操作時,就通過使操作時,就通過使82C37A82C37A的的DREQDREQ輸入信號變?yōu)檩斎胄盘栕優(yōu)椤?”1”來產(chǎn)生來產(chǎn)生1 1個服務(wù)請求。每個個服務(wù)請求。每個DMADMA通道都有通道都有64KB64KB的尋址和字節(jié)計數(shù)能力。的尋址和字節(jié)計數(shù)能力。圖圖6-12 82C37A6-12 82C37A的應(yīng)用接口的應(yīng)用接口 在響應(yīng)這個有效的在響應(yīng)這個有效的DMADMA請求時,該請求時,該DMADMA控制器將使它的保持請求控制器將使它的保持請求回答(回答(HRQHRQ)輸出信號變?yōu)椋?/p>

28、輸出信號變?yōu)椤?”1”。通常,把這個輸出信號提供給微。通常,把這個輸出信號提供給微處理器的處理器的HOLDHOLD輸入端,并通知該微處理器,輸入端,并通知該微處理器,DMADMA控制器要求獲得對控制器要求獲得對系統(tǒng)總線的控制權(quán)。當(dāng)微處理器準(zhǔn)備放棄對總線的控制權(quán)時,就使系統(tǒng)總線的控制權(quán)。當(dāng)微處理器準(zhǔn)備放棄對總線的控制權(quán)時,就使其總線信號進(jìn)入高阻狀態(tài),并使保持響應(yīng)其總線信號進(jìn)入高阻狀態(tài),并使保持響應(yīng)HLDAHLDA輸出信號為輸出信號為“1”1”,通過此方式將這一事實(shí)通知給通過此方式將這一事實(shí)通知給82C37A82C37A芯片。微處理器的芯片。微處理器的HLDAHLDA信號端信號端連接到連接到82C

29、37A82C37A芯片的芯片的HLDAHLDA輸入端,以此表明目前系統(tǒng)總線可以由輸入端,以此表明目前系統(tǒng)總線可以由DMADMA控制器使用。控制器使用。圖圖6-12 82C37A6-12 82C37A的的應(yīng)用接口應(yīng)用接口 當(dāng)當(dāng)82C37A82C37A控制了系統(tǒng)總線時,它就通過輸出一個控制了系統(tǒng)總線時,它就通過輸出一個DMADMA響應(yīng)信號響應(yīng)信號(DACKDACK)來告訴申請)來告訴申請DMADMA服務(wù)的外圍設(shè)備,它已處于準(zhǔn)備就緒狀態(tài)。服務(wù)的外圍設(shè)備,它已處于準(zhǔn)備就緒狀態(tài)。4 4個個DMADMA請求輸入(請求輸入(DREQDREQ0 0DREQDREQ3 3)信號中的每一個信號,都有一個)信號中的

30、每一個信號,都有一個與其相對應(yīng)的與其相對應(yīng)的DMADMA輸出響應(yīng)(輸出響應(yīng)(DACKDACK0 0DACK3DACK3)信號。一旦完成了這)信號。一旦完成了這個個DMADMA請求請求/ /響應(yīng)信號的交換過程,這個外圍響應(yīng)信號的交換過程,這個外圍I/OI/O電路就可在電路就可在82C37A82C37A的控制之下進(jìn)行對系統(tǒng)總線及存儲器的直接訪問。的控制之下進(jìn)行對系統(tǒng)總線及存儲器的直接訪問。圖圖6-12 82C37A6-12 82C37A的的應(yīng)用接口應(yīng)用接口3 3DMADMA控制器工作的基本過程控制器工作的基本過程 首先對首先對DMACDMAC初始化編程,包括:輸出主清除命令,設(shè)置頁面初始化編程,包

31、括:輸出主清除命令,設(shè)置頁面寄存器,寫入基地址和當(dāng)前地址寄存器,寫入基本字計數(shù)寄存寄存器,寫入基地址和當(dāng)前地址寄存器,寫入基本字計數(shù)寄存器和當(dāng)前字計數(shù)寄存器;器和當(dāng)前字計數(shù)寄存器; 初始化編程,還要寫入傳輸方式控制字:包括是字節(jié)傳輸還初始化編程,還要寫入傳輸方式控制字:包括是字節(jié)傳輸還是塊傳輸,地址遞增還是遞減等;是塊傳輸,地址遞增還是遞減等; 一個一個DMADMA控制器可以控制控制器可以控制4 4個外部設(shè)備,當(dāng)個外部設(shè)備,當(dāng)4 4個外部設(shè)備同時個外部設(shè)備同時申請申請DMADMA操作時,還需要設(shè)置優(yōu)先級別,可以是固定優(yōu)先級,也操作時,還需要設(shè)置優(yōu)先級別,可以是固定優(yōu)先級,也可以是循環(huán)優(yōu)先控制等

32、。還可以屏蔽某外設(shè)的可以是循環(huán)優(yōu)先控制等。還可以屏蔽某外設(shè)的DMADMA請求(請求(DREQDREQ);); DMAC DMAC通過向通過向CPUCPU提出總線請求信號(提出總線請求信號(HRQHRQ)的方式,從而實(shí)現(xiàn))的方式,從而實(shí)現(xiàn)DMACDMAC向向CPUCPU轉(zhuǎn)達(dá)外設(shè)的轉(zhuǎn)達(dá)外設(shè)的DMADMA請求;請求; 接收接收CPUCPU的總線響應(yīng)信號(的總線響應(yīng)信號(HLDAHLDA),并接管總線控制權(quán);),并接管總線控制權(quán); DMAC DMAC向提出向提出DMADMA請求的外設(shè)轉(zhuǎn)達(dá)請求的外設(shè)轉(zhuǎn)達(dá)DMADMA允許信號允許信號DACKDACK,于是,在,于是,在DMACDMAC的管理之下,按照初始化

33、編程的規(guī)定,實(shí)現(xiàn)外設(shè)與內(nèi)存儲的管理之下,按照初始化編程的規(guī)定,實(shí)現(xiàn)外設(shè)與內(nèi)存儲器之間的數(shù)據(jù)交換;器之間的數(shù)據(jù)交換; 在傳輸過程中,要進(jìn)行地址修改和字節(jié)計數(shù),一旦傳輸完成在傳輸過程中,要進(jìn)行地址修改和字節(jié)計數(shù),一旦傳輸完成后,發(fā)出結(jié)束信號后,發(fā)出結(jié)束信號(HRQ)(HRQ),最后向,最后向CPUCPU交還總線。交還總線。6.3.3 6.3.3 中斷方式輸入中斷方式輸入/ /輸出輸出 中斷是指外設(shè)或者其他中斷源中止中斷是指外設(shè)或者其他中斷源中止CPUCPU當(dāng)前正在執(zhí)行的程序,當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)向?yàn)樯暾堉袛嗟耐庠O(shè)(或中斷源)執(zhí)行服務(wù)程序,一旦服務(wù)轉(zhuǎn)向?yàn)樯暾堉袛嗟耐庠O(shè)(或中斷源)執(zhí)行服務(wù)程序,一旦

34、服務(wù)程序執(zhí)行結(jié)束,必須返回到被中斷程序的斷點(diǎn)處,接著執(zhí)行原程序執(zhí)行結(jié)束,必須返回到被中斷程序的斷點(diǎn)處,接著執(zhí)行原來的程序。來的程序。圖圖6-13 6-13 中斷過程的示意圖中斷過程的示意圖執(zhí)行服務(wù)第執(zhí)行服務(wù)第1 1號外設(shè)的程序號外設(shè)的程序主程序主程序第第i i條指令條指令第第i+1i+1條指令條指令第第i+mi+m條指令條指令 Intel 82C59A Intel 82C59A是一種可編程的中斷控制器,是是一種可編程的中斷控制器,是CPUCPU和多個和多個外部中斷源之間的接口電路,具有中斷控制器所需要的功能,外部中斷源之間的接口電路,具有中斷控制器所需要的功能,其功能是在計算機(jī)系統(tǒng)中,協(xié)助其功

35、能是在計算機(jī)系統(tǒng)中,協(xié)助CPUCPU實(shí)現(xiàn)對外部中斷請求的管實(shí)現(xiàn)對外部中斷請求的管理,對它們進(jìn)行優(yōu)先權(quán)排隊(duì)后向理,對它們進(jìn)行優(yōu)先權(quán)排隊(duì)后向CPUCPU發(fā)出中斷請求信號。發(fā)出中斷請求信號。6.4 6.4 可編程中斷控制器可編程中斷控制器82C59A82C59A6.4.1 82C59A6.4.1 82C59A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)它由它由數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器、讀讀/ /寫邏輯寫邏輯、中斷請求寄存器中斷請求寄存器、中斷屏蔽寄中斷屏蔽寄存器存器、中斷服務(wù)寄存器中斷服務(wù)寄存器、優(yōu)先級裁決器優(yōu)先級裁決器、控制邏輯控制邏輯、級聯(lián)緩沖器級聯(lián)緩沖器/ /比較器比較器等電路組成。等電路組成。 1.1.數(shù)據(jù)總線

36、緩沖器數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是一個數(shù)據(jù)總線緩沖器是一個8 8位雙向三態(tài)位雙向三態(tài)緩沖器。緩沖器。2.2.讀讀/ /寫邏輯寫邏輯 讀讀/ /寫邏輯接收來自寫邏輯接收來自CPUCPU的讀的讀/ /寫命令寫命令和片選控制信息,完成規(guī)定的各項(xiàng)操作。和片選控制信息,完成規(guī)定的各項(xiàng)操作。 3.3.中斷請求寄存器中斷請求寄存器 中斷請求寄存器是把外設(shè)中斷請求線中斷請求寄存器是把外設(shè)中斷請求線作為輸入的一個作為輸入的一個8 8位寄存器,輸入引腳位寄存器,輸入引腳是是IRIR7 7IRIR0 0,通過,通過IRIR7 7IRIR0 0把中斷請求把中斷請求信號鎖存到請求寄存器中。信號鎖存到請求寄存器中。

37、4.4.中斷屏蔽寄存器中斷屏蔽寄存器 中斷屏蔽寄存器是一個可以設(shè)置的中斷屏蔽寄存器是一個可以設(shè)置的8 8位寄存器,用來屏蔽已被鎖存在位寄存器,用來屏蔽已被鎖存在IRRIRR中中的任何一個中斷請求。當(dāng)?shù)娜魏我粋€中斷請求。當(dāng)IMRiIMRi位被置位被置1 1時,則禁止響應(yīng)第時,則禁止響應(yīng)第i i位的中斷請求,反位的中斷請求,反之將被允許。之將被允許。 圖圖6-14 82C59A6-14 82C59A內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)圖 5.5.中斷服務(wù)寄存器中斷服務(wù)寄存器 中斷服務(wù)寄存器是一個中斷服務(wù)寄存器是一個8 8位寄存器,與位寄存器,與8 8級中斷級中斷IRIR7 7IRIR0 0相對應(yīng)。用來存放或記錄正在

38、服務(wù)中的所相對應(yīng)。用來存放或記錄正在服務(wù)中的所有中斷請求。當(dāng)某一級中斷請求被響應(yīng)時,則有中斷請求。當(dāng)某一級中斷請求被響應(yīng)時,則ISRISR中相應(yīng)位被置中相應(yīng)位被置1 1。ISRISR中相應(yīng)位被復(fù)位是由中斷結(jié)中相應(yīng)位被復(fù)位是由中斷結(jié)束方式所決定的。束方式所決定的。6.6.優(yōu)先級裁決器優(yōu)先級裁決器 優(yōu)先級裁決器用來裁決和管理已進(jìn)入優(yōu)先級裁決器用來裁決和管理已進(jìn)入IRRIRR中的各中的各中斷請求的優(yōu)先級別。中斷請求的優(yōu)先級別。 7.7.控制邏輯控制邏輯 82C59A82C59A內(nèi)部的控制邏輯按照初始化設(shè)置的工作內(nèi)部的控制邏輯按照初始化設(shè)置的工作方式,控制其全部工作。方式,控制其全部工作。8.8.級聯(lián)

39、緩沖器級聯(lián)緩沖器/ /比較器比較器 級聯(lián)緩沖器級聯(lián)緩沖器/ /比較器用于控制多個比較器用于控制多個82C59A82C59A的級聯(lián)的級聯(lián)及其操作方式。及其操作方式。 在主從設(shè)定在主從設(shè)定/ /緩沖讀寫控制信號緩沖讀寫控制信號 和級聯(lián)信和級聯(lián)信號號CAS2CAS2CAS0CAS0的配合下,使的配合下,使82C59A82C59A工作在緩沖工工作在緩沖工作方式和非緩沖工作方式,可以實(shí)現(xiàn)多個作方式和非緩沖工作方式,可以實(shí)現(xiàn)多個82C59A82C59A的級聯(lián),擴(kuò)展中斷的級聯(lián),擴(kuò)展中斷I/OI/O外設(shè)的數(shù)量。外設(shè)的數(shù)量。 SP/EN圖圖6-14 82C59A6-14 82C59A內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)圖 6.4

40、.2 82C59A6.4.2 82C59A的引腳的引腳 第一類,與第一類,與I/OI/O外設(shè)相連接的信號外設(shè)相連接的信號IRIR7 7IRIR0 0。CSRDWRINTASP/ EN圖圖6-15 82C59A6-15 82C59A引腳圖引腳圖第二類,與第二類,與CPUCPU相連接的信號相連接的信號 : 數(shù)據(jù)總線數(shù)據(jù)總線D D7 7D D0 0,三態(tài)、雙向。,三態(tài)、雙向。 片選信號片選信號 ,輸入、低電平有效。,輸入、低電平有效。 寫信號寫信號 ,輸入、低電平有效。,輸入、低電平有效。 讀信號讀信號 ,輸入,低電平有效。,輸入,低電平有效。 中斷請求信號中斷請求信號INTINT,輸出,高電平有效

41、。,輸出,高電平有效。 內(nèi)部寄存器選擇信號內(nèi)部寄存器選擇信號A0A0,輸入。,輸入。 中斷響應(yīng)信號中斷響應(yīng)信號 ,輸入,低電平有效。,輸入,低電平有效。 第三類,多片級聯(lián)時的接口信號。第三類,多片級聯(lián)時的接口信號。 主從設(shè)定主從設(shè)定/ /緩沖緩沖 讀寫控制,雙功能信號,雙向。讀寫控制,雙功能信號,雙向。 級聯(lián)控制信號級聯(lián)控制信號CASCAS2 2CASCAS0 0,雙向。,雙向。 利用級聯(lián)控制信號利用級聯(lián)控制信號CASCAS2 2CASCAS0 0 ,可將,可將82C59A82C59A的的8 8級中斷請求擴(kuò)級中斷請求擴(kuò)展到展到6464級中斷請求。級中斷請求。 設(shè)設(shè)82C59A82C59A芯片的

42、數(shù)量為芯片的數(shù)量為n n,可以管理中斷的級數(shù)是:,可以管理中斷的級數(shù)是: M M = 8 = 8 n n - ( - (n n - 1) - 1)圖圖6-16 82C59A6-16 82C59A主從式級聯(lián)方式主從式級聯(lián)方式CASCAS0 0CASCAS2 2CASCAS0 0CASCAS2 23 33 3IRIR0 0IRIR7 7INTINTINTINT主主82C59A82C59A從從82C59A82C59A從從82C59A82C59A+5V+5VR RIRIR7 7IRIR7 7IRIR0 0IRIR1 1IRIR1 1IRIR0 0SPSPSPSPSPSP6.4.3 82C59A6.4.

43、3 82C59A的工作原理的工作原理1 182C59A82C59A中斷控制過程中斷控制過程 中斷請求輸入端中斷請求輸入端IRIR7 7IRIR0 0接收到外設(shè)中斷請求信號接收到外設(shè)中斷請求信號 ; IRRIRR中所對應(yīng)位置中所對應(yīng)位置1 1,如果屏蔽寄存器,如果屏蔽寄存器IMRIMR中所對應(yīng)的位為中所對應(yīng)的位為0 0狀態(tài),即未有屏蔽對應(yīng)狀態(tài),即未有屏蔽對應(yīng)的中斷請求源;的中斷請求源; PRPR對各中斷源請求進(jìn)行優(yōu)先級裁決,按照優(yōu)先級的高低,通過對各中斷源請求進(jìn)行優(yōu)先級裁決,按照優(yōu)先級的高低,通過INTINT中斷請求輸出端向中斷請求輸出端向CPUCPU申請中斷。申請中斷。 CPUCPU接收到接收

44、到82C59A82C59A中斷請求信號后,若中斷屏蔽寄存器中斷請求信號后,若中斷屏蔽寄存器IFIF為為0 0狀態(tài),則狀態(tài),則CPUCPU不響應(yīng)此次不響應(yīng)此次中斷申請,反之,中斷申請,反之,IF = 1IF = 1,CPUCPU則向則向82C59A82C59A輸出中斷響應(yīng)信號(負(fù)脈沖);輸出中斷響應(yīng)信號(負(fù)脈沖); 82C59A82C59A在接收到第一個信號后,將所響應(yīng)中斷源在在接收到第一個信號后,將所響應(yīng)中斷源在ISRISR所對應(yīng)的位置所對應(yīng)的位置1 1,而在,而在IRRIRR中所中所對應(yīng)的位清零;對應(yīng)的位清零; 82C59A82C59A在接收到在接收到CPUCPU輸出的第二個信號(負(fù)脈沖)后

45、,將當(dāng)前中斷源的中斷類型號輸輸出的第二個信號(負(fù)脈沖)后,將當(dāng)前中斷源的中斷類型號輸出到數(shù)據(jù)總線。出到數(shù)據(jù)總線。 CPUCPU在讀取數(shù)據(jù)總線上中斷類型號后,通過中斷向量表(實(shí)模式)或中斷描述符表在讀取數(shù)據(jù)總線上中斷類型號后,通過中斷向量表(實(shí)模式)或中斷描述符表(保護(hù)模式)轉(zhuǎn)向執(zhí)行對應(yīng)的中斷服務(wù)程序。(保護(hù)模式)轉(zhuǎn)向執(zhí)行對應(yīng)的中斷服務(wù)程序。2 2中斷請求觸發(fā)方式中斷請求觸發(fā)方式 第一種,邊沿觸發(fā)方式。第一種,邊沿觸發(fā)方式。 第二種,電平觸發(fā)方式。第二種,電平觸發(fā)方式。 3 382C59A82C59A中斷優(yōu)先權(quán)管理方式中斷優(yōu)先權(quán)管理方式(1 1)全嵌套方式)全嵌套方式 全嵌套方式是全嵌套方式是8

46、2C59A82C59A默認(rèn)的方式,也是最常用的管理方式。所謂默認(rèn)的方式是指對默認(rèn)的方式,也是最常用的管理方式。所謂默認(rèn)的方式是指對82C59A82C59A初始化編程以后,沒有設(shè)置其他的優(yōu)先級方式,中斷結(jié)束方式有三種:初始化編程以后,沒有設(shè)置其他的優(yōu)先級方式,中斷結(jié)束方式有三種: 第一種,第一種,自動結(jié)束(自動結(jié)束(AEOIAEOI)方式)方式。任何一級中斷被響應(yīng)后,。任何一級中斷被響應(yīng)后,ISRISR中的相應(yīng)位置中的相應(yīng)位置1 1,但在第二個但在第二個 結(jié)束時,自動將結(jié)束時,自動將ISRISR中相應(yīng)服務(wù)位的標(biāo)志清零。中相應(yīng)服務(wù)位的標(biāo)志清零。 第二種,第二種,普通普通EOIEOI結(jié)束方式結(jié)束方式

47、。在任何一級的中斷服務(wù)結(jié)束時,在中斷服務(wù)程序執(zhí)行。在任何一級的中斷服務(wù)結(jié)束時,在中斷服務(wù)程序執(zhí)行IRETIRET指令之前,要向指令之前,要向82C59A82C59A的的OCWOCW2 2中寫入中斷結(jié)束中寫入中斷結(jié)束EOIEOI命令。命令。 第三種,第三種,特殊特殊EOIEOI中斷結(jié)束方式中斷結(jié)束方式。該方式在所有工作方式中均可使用,是由。該方式在所有工作方式中均可使用,是由OCWOCW2 2寄存寄存器中器中D D2 2D D0 0編碼表示的位,作為特別指定被復(fù)位的標(biāo)志位。編碼表示的位,作為特別指定被復(fù)位的標(biāo)志位。INTA (3 3)優(yōu)先級自動循環(huán)方式)優(yōu)先級自動循環(huán)方式 在優(yōu)先級自動循環(huán)方式中

48、,各在優(yōu)先級自動循環(huán)方式中,各IRiIRi的優(yōu)先級別不是固定不變的優(yōu)先級別不是固定不變的,而是可以按照某種方式改變的。優(yōu)先級自動循環(huán)方式結(jié)合不的,而是可以按照某種方式改變的。優(yōu)先級自動循環(huán)方式結(jié)合不同的結(jié)束中斷方式,形成的循環(huán)方式有三種:同的結(jié)束中斷方式,形成的循環(huán)方式有三種: 普通普通EOIEOI循環(huán)方式循環(huán)方式 ;自動;自動EOIEOI循環(huán)方式循環(huán)方式 ;特殊;特殊EOIEOI循環(huán)方式循環(huán)方式 (2 2)特殊全嵌套方式)特殊全嵌套方式 特殊全嵌套方式主要用于多片級聯(lián)方式,在特殊全嵌套方式特殊全嵌套方式主要用于多片級聯(lián)方式,在特殊全嵌套方式下,對應(yīng)主下,對應(yīng)主82C59A82C59A而言的而

49、言的8 8個中斷源都是同級的中斷源,這些同級個中斷源都是同級的中斷源,這些同級的中斷源可以相互嵌套,能夠?qū)崿F(xiàn)同級中斷請求的相互中斷,因的中斷源可以相互嵌套,能夠?qū)崿F(xiàn)同級中斷請求的相互中斷,因此被稱為特殊全嵌套方式。此被稱為特殊全嵌套方式。 (4 4)中斷屏蔽方式)中斷屏蔽方式中斷屏蔽方式有兩種。中斷屏蔽方式有兩種。6.4.4 82C59A6.4.4 82C59A的命令字及編程的命令字及編程1 1初始化命令字初始化命令字圖圖6-18 ICW16-18 ICW1的控制字格式的控制字格式D D7 7D D5 5,僅對僅對8080/80858080/8085系統(tǒng)有效。系統(tǒng)有效。D D4 4位,位,IC

50、WICW1 1標(biāo)志位,必須設(shè)為標(biāo)志位,必須設(shè)為1 1,以,以示和操作命令字示和操作命令字OCWOCW2 2、OCWOCW3 3的區(qū)別。的區(qū)別。D D3 3位位,D D3 3= 1= 1,中斷請求為電平觸,中斷請求為電平觸發(fā),發(fā),D D3 3 = 0 = 0,上升沿觸發(fā)。,上升沿觸發(fā)。D D2 2位,位,在在8080/80858080/8085系統(tǒng)中,系統(tǒng)中,D D2 2 = 1 = 1有效,向量地址的間隔是有效,向量地址的間隔是4 4個單元。個單元。在在80 x8680 x86系統(tǒng)中系統(tǒng)中D D2 2位設(shè)為位設(shè)為0 0,向量地址,向量地址間隔單元為間隔單元為8 8。D D1 1位,位,D D1

51、 1 = 1 = 1,單片,單片82C59A82C59A工作;工作;D D1 1 = 0 = 0,多片,多片82C59A82C59A級聯(lián)使用。級聯(lián)使用。D D0 0位,位,若若D D0 0 = 1 = 1,要對,要對ICWICW4 4命令寄命令寄存器進(jìn)行初始化編程,若存器進(jìn)行初始化編程,若D D0 0 = 0 = 0,不,不需要。需要。(1 1)設(shè)置請求觸發(fā)方式及芯片數(shù)量選擇)設(shè)置請求觸發(fā)方式及芯片數(shù)量選擇的命令字的命令字ICWICW1 1(必須是偶地址必須是偶地址) T T7 7T T3 3是中斷類型號的高是中斷類型號的高5 5位;位; 中斷類型號的低中斷類型號的低3 3位,由位,由82C5

52、9A82C59A內(nèi)部電路自動生成,取決于引入中斷的內(nèi)部電路自動生成,取決于引入中斷的8 8個中斷請求信號個中斷請求信號IRIR0 0IRIR7 7的編號,例的編號,例IRIR0 0為為000000,IRIR1 1為為001001; ICWICW2 2必須是必須是奇地址奇地址。(2 2)設(shè)置中斷類型號高)設(shè)置中斷類型號高5 5位的初始化命令字位的初始化命令字ICWICW2 2(3 3)標(biāo)識主片)標(biāo)識主片/ /從片初始化命令字從片初始化命令字ICWICW3 3圖圖6-20 6-20 主片主片ICWICW3 3的格式的格式 圖圖6-21 6-21 從片從片ICW3ICW3的格式的格式主片主片ICWI

53、CW3 3告之該主片有哪幾個輸入端接入了從片告之該主片有哪幾個輸入端接入了從片 從片的從片的ICWICW3 3告之該從片接入到了主片告之該從片接入到了主片IRiIRi的哪一個輸入的哪一個輸入端 (4 4)方式控制初始)方式控制初始化命令字化命令字ICWICW4 4D D7 7D D5 5位位,ICWICW4 4的標(biāo)志位,的標(biāo)志位,3 3位必須為位必須為0 0。D D4 4位位(SFNMSFNM),),SFNM = 1SFNM = 1,工作于特殊全嵌套方式;,工作于特殊全嵌套方式;SFNM = 0SFNM = 0,普通全嵌套方式。,普通全嵌套方式。D D3 3位位(BUFBUF),),D D3

54、3 = 1 = 1,緩沖方式,緩沖方式,82C59A82C59A通過總線驅(qū)動器與數(shù)據(jù)總線相連,通過總線驅(qū)動器與數(shù)據(jù)總線相連, / /作為輸出允許端使用,用于數(shù)據(jù)總線驅(qū)動器的工作使能信號。作為輸出允許端使用,用于數(shù)據(jù)總線驅(qū)動器的工作使能信號。 D D3 3 = 0 = 0,非緩沖方式,非緩沖方式,此時此時 / / 用作為輸入,用作為輸入, = 0= 0,該片為從片;,該片為從片; = 1= 1,該片為主片,此時,該片為主片,此時M/ M/ 位不起作用。位不起作用。D D2 2位位(M/ M/ ),在緩沖方式(),在緩沖方式(BUF = 1BUF = 1)下,當(dāng))下,當(dāng)M/ = 1M/ = 1時,

55、表示該片為主片;時,表示該片為主片;M/ M/ =0=0時,表示該片為從片。當(dāng)時,表示該片為從片。當(dāng)BUF = 0BUF = 0時,時,M/ M/ 位不起作用,可為位不起作用,可為0 0或或1 1。D D1 1位位(AEOIAEOI),當(dāng)),當(dāng)AEOI = lAEOI = l時,時,82C59A82C59A設(shè)置為中斷自動結(jié)束方式,當(dāng)?shù)谠O(shè)置為中斷自動結(jié)束方式,當(dāng)?shù)? 2個中斷響應(yīng)個中斷響應(yīng)負(fù)脈沖結(jié)束時,將中斷服務(wù)寄存器的相應(yīng)位清零;負(fù)脈沖結(jié)束時,將中斷服務(wù)寄存器的相應(yīng)位清零;AEOI = 0AEOI = 0,處于非自動結(jié)束方式,處于非自動結(jié)束方式,在中斷處理程序中,必須用操作控制字在中斷處理程序

56、中,必須用操作控制字OCWOCW2 2向向82C59A82C59A發(fā)中斷結(jié)束命令。發(fā)中斷結(jié)束命令。D D0 0位位( PMPM),), PM = 1PM = 1,表示,表示82C59A82C59A用于用于8 8位以上的微機(jī)系統(tǒng);位以上的微機(jī)系統(tǒng); PM = 0PM = 0,表示系統(tǒng)為,表示系統(tǒng)為8 8位微機(jī)系統(tǒng)。位微機(jī)系統(tǒng)。ENSPSSSPENSPSPSSS2 282C59A82C59A初始化編程初始化編程【例【例6-76-7】 設(shè)設(shè)1616位微機(jī)系統(tǒng)中只有位微機(jī)系統(tǒng)中只有一片一片82C59A82C59A,中斷請求信號為邊沿,中斷請求信號為邊沿觸發(fā)方式,中斷類型號為觸發(fā)方式,中斷類型號為08H

57、08H0FH0FH,中斷優(yōu)先級管理采用特殊全嵌套方中斷優(yōu)先級管理采用特殊全嵌套方式,非自動結(jié)束方式,系統(tǒng)中未使式,非自動結(jié)束方式,系統(tǒng)中未使用數(shù)據(jù)緩沖器,用數(shù)據(jù)緩沖器,82C59A82C59A的端口地址的端口地址為為20H20H和和21H21H,初始化編程。,初始化編程。MOV ALMOV AL,00010011B 00010011B ;設(shè)置;設(shè)置ICWICW1 1初始化命令字,單片使用,邊沿觸初始化命令字,單片使用,邊沿觸;發(fā),要送;發(fā),要送ICW4ICW4OUT 20HOUT 20H,AL AL ;將;將ICW1ICW1輸出到輸出到偶地址偶地址端口端口MOV ALMOV AL,000010

58、00B 00001000B ;ICW2ICW2中斷類型號基值是中斷類型號基值是0000100001OUT 21HOUT 21H,AL AL ;將;將ICW2ICW2送入送入奇地址奇地址端口端口MOV ALMOV AL,00010001B 00010001B ;ICW4ICW4,特殊全嵌套方式,非自動結(jié)束,非數(shù),特殊全嵌套方式,非自動結(jié)束,非數(shù)據(jù)緩沖據(jù)緩沖OUT 21HOUT 21H,AL AL ;將;將ICW4ICW4送入送入奇地址奇地址瑞口瑞口圖圖6-23 82C59A6-23 82C59A的初始化流程圖的初始化流程圖3 3操作命令字操作命令字(1 1)中斷屏蔽操作命令字)中斷屏蔽操作命令字

59、OCWOCWl l OCW OCWl l稱為中斷屏蔽操作命令字,用來實(shí)現(xiàn)對中斷源(稱為中斷屏蔽操作命令字,用來實(shí)現(xiàn)對中斷源(IRIR7 7IRIR0 0)的屏蔽與否,)的屏蔽與否,OCWOCWl l的內(nèi)容被置入屏蔽寄存器的內(nèi)容被置入屏蔽寄存器IMRIMR中。中。 (2 2)優(yōu)先級循環(huán)方式和)優(yōu)先級循環(huán)方式和 中斷結(jié)束方式操作命令字中斷結(jié)束方式操作命令字OCWOCW2 2,用于設(shè)置中斷結(jié)束方,用于設(shè)置中斷結(jié)束方式和優(yōu)先級循環(huán)方式。式和優(yōu)先級循環(huán)方式。 R SL EOIR SL EOI功功 能能0 0 00 0 0取消自動取消自動EOIEOI循環(huán)循環(huán)0 0 10 0 1一般中斷結(jié)束方式,使用一般中

60、斷結(jié)束方式,使用OCWOCW2 2作為一個一般的中斷結(jié)束命令。通常用在全嵌套和特殊全嵌套工作方式作為一個一般的中斷結(jié)束命令。通常用在全嵌套和特殊全嵌套工作方式0 1 00 1 0OCWOCW2 2沒有意義沒有意義0 1 10 1 1特殊中斷結(jié)束命令,特殊中斷結(jié)束命令,CPUCPU向向82C59A82C59A發(fā)出這一命令,發(fā)出這一命令,82C59A82C59A將將ISRISR中由中由L L2 2 L L1 1 L L0 0所指定中斷級別的相應(yīng)位清零所指定中斷級別的相應(yīng)位清零1 0 01 0 0設(shè)置優(yōu)先級自動循環(huán)方式設(shè)置優(yōu)先級自動循環(huán)方式1 0 11 0 1發(fā)中斷結(jié)束命令,并仍然用優(yōu)先級循環(huán)方式發(fā)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論