第七章 中斷控制器_第1頁
第七章 中斷控制器_第2頁
第七章 中斷控制器_第3頁
第七章 中斷控制器_第4頁
第七章 中斷控制器_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中斷控制器8259A12345678910111213141516171819202122232425262728CSWRRDD0D1D2D3D4D5D6D7CAS0CAS1CAS2GNDSP/ENINTINTAA0VccD0-D7WRRDCSA0INTAINTSP/ENCAS0CAS1CAS2IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ78259A8259AD0-D7WRRDA0CSCAS0CAS1CAS2SP/ENIRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7INTINTA數(shù)據(jù)總線緩沖器讀/

2、寫邏輯聯(lián)機緩沖器/比較器控制邏輯中斷服務寄存器(ISR)優(yōu)先級判別器中斷請求寄存器中斷屏蔽寄存器(PR)(IRR)(IMR)8259A與8086CPU連接方法IORIOWA0INTAINTRAB1-15DB0-7CS地址譯碼器SP/EN+5VIRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7CAS0CAS1CAS2NCNCNCIRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7INTRINTAA0WRRDD0D7單片8259A的連接8259A+5VINTINTINTINTAINTAINTARDRDRDWRWRWRA0A0A0IRQ0IRQ1IRQ2IRQ3IRQ4IR

3、Q5IRQ6IRQ7IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7CAS0CAS1CAS2CAS0CAS1CAS2CAS0CAS1CAS2SP/ENSP/ENSP/END0-7D0-7D0-7INTRINTAIORIOWA0DB0-7AB1-15地址譯碼器聯(lián)級8259A連接IRQ0IRQ3IRQ4IRQ5IRQ6IRQ7IRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15IRQ16IRQ17IRQ18IRQ19IRQ20IRQ21IRQ22IRQ23CSCSCS8259A的緩沖連接方法八雙

4、向驅(qū)動器八雙向驅(qū)動器八雙向驅(qū)動器+5V+5V+5VINTRINTACAS0CAS1CAS2CAS0CAS1CAS2CAS0CAS1CAS2INTINTAINTAINTAINTINTTTTDB0-7SP/ENSP/ENSP/EN8259A的工作方式1.引入中斷請求的方式* 邊沿觸發(fā)方式:用正跳變向8259A請求中斷.* 電平觸發(fā)方式:以高電平向8259A請求中斷(中斷響應后,必須清除中斷申請的高電平).* 中斷查詢方式:外設通過8259A申請中斷,但8259A不通過INT向CPU申請中斷,CPU用軟件查詢.2.連接總線方式* 單片8259A連接總線* 多片主從連接總線* 多片主從緩沖連接總線3.

5、屏蔽中斷方式* 通常屏蔽方式:用中斷屏蔽寄存器中的1位或幾位置1來屏蔽1路或幾路中斷源中斷申請.* 特殊屏蔽方式:通過設置,可以允許另1個優(yōu)先級低的中斷被響應.4.優(yōu)先級排隊方式* 全嵌套方式:這時IRQ0的優(yōu)先級最高,IRQ7的優(yōu)先級最低* 特殊全嵌套方式:在使用聯(lián)級方式時,可以允許同級中斷源的再次中斷被響應.* 優(yōu)先級自動輪換:優(yōu)先級順序不固定,中斷申請被響應服務后,自動變?yōu)樽畹图?* 優(yōu)先級指定輪換:可以指定某級中斷優(yōu)先級最高,然后自動輪換優(yōu)先級.5.結(jié)束中斷的處理方式* 自動中斷結(jié)束方式:在中斷響應周期后就自動清除中斷服務位,從而允許低級中斷再申請.* 非自動中斷結(jié)束方式:中斷響應和處

6、于關中狀態(tài),用專用中斷結(jié)束指令清除中斷服務位.8259A的編程方法8259A編程命令有初始化命令ICW1-ICW4,和操作控制命令OCW1-OCW3.8259A有兩個I/O端口A0=0,和A0=1.開始ICW1ICW2聯(lián)級方式ICW3有ICW4ICW4結(jié)束yesnonoyes8259A初始化控制字12初始化控制字1 ICW10001LTIMADISNGLIC41: 有ICW4 0:無ICW41: 單片使用 0: 聯(lián)接使用A0D0D1D2D3D4D5D6D71.中斷向量地址間隔40:中斷向量地址間隔801: 電平觸發(fā)0: 邊沿觸發(fā)8086不用標志位8086不用初始化控制字2 ICW2A0D0D1

7、D2D3D4D5D6D71T3T4T5T6T7000中斷號(低3位由IRQ0-IRQ7編碼確定)8259A初始化控制字34初始化控制字3 ICW3A0D0D1D2D3D4D5D6D71(主片)1: 表示該位后連接從片0: 表示該位后沒有連接從片初始化控制字3 ICW3A0D0D1D2D3D4D5D6D71(從片)00000連到主片的第幾位(編碼)初始化控制字4 ICW4A0D0D1D2D3D4D5D6D71000SFNM BUFM/SAEOI uPM1:8086/880:8085/801:自動復位ISR0:用EOI命令復位ISR緩沖方式: 1-主 0-從1:特殊全嵌套工作方式0:非特殊全嵌套工

8、作方式1:緩沖方式0:非緩沖方式8259A操作控制字12D0D1D2D3D4D5D6D7A01操作控制字1 OCW1對應位=1,表示相應中斷源的中斷申請被屏蔽(如: D2=1,表示IRQ2中斷申請被屏蔽)D0D1D2D3D4D5D6D7A00操作控制字2 OCW2RSLEOI00L0L1L2中斷源編碼特征位001011101111100000110010Nonspecific EOI commandSpecific EOI commandRotate on non-specific commandRotate in automatic EOI command (Set)Rotate in au

9、tomatic EOI mode (Clear)Rotate on spectfic EOI command(L0-L1 are used)Set priority commandNo operation8259A操作控制字2說明1.非特殊EOI命令:當系統(tǒng)運行在全嵌套方式時,這個命令用在中斷服務程序的最后.當這位中斷服務位置位時,同級或低級中斷被禁止.如果ICW4的bit1=1,則8259A自動插入這個命令.2.特殊EOI命令:這個命令使某一中斷服務位強制清0.這個命令之用在不使用全嵌套工作方式.這個命令的bit0-2說明了中斷服務位.3.循環(huán)非特殊EOI命令:當全部外設具用同等級別優(yōu)先級時

10、,用這個命令.它產(chǎn)生如下圖所示的自動優(yōu)先級循環(huán).低中斷請求中斷請求012345670123456701234567(a)(b)(c)高等待4.進入循環(huán)自動EOI方式:這個命令激活自動循環(huán)非特殊EOI方式.(效果與方式3相同)5.退出循環(huán)自動EOI方式:這個命令退出自動循環(huán)非特殊方式.6.循環(huán)特殊EOI命令:在循環(huán)方式時,這個命令允許程序員說明最低優(yōu)先級.如:IRQ4被編程為最低級器件,則IRQ5將具有最高優(yōu)先級.7.設置優(yōu)先級:這個命令通過說明最低優(yōu)先級器件來改變優(yōu)先優(yōu)先級. (注意:實際上,這不是一個EOI命令)8.沒有操作8259A操作控制字3操作控制字3:D0D1D2D3D4D5D6D7

11、A0001RISRRPSMMESMM0下一次讀IRR下一次讀ISR00011011無操作1-查詢命令0-非查詢命令特殊屏蔽工作方式:優(yōu)先級不起作用,可響應任一級中斷請求?;謴驮葍?yōu)先級工作方式00011110無操作標志位8259A命令字總結(jié)名稱RD WR A0特殊要求說明開始初始化ICW1100Bit4,3 = 1X這個命令開始編程序列ICW2101None在ICW1之后用A0=1寫入的第1個命令必須是ICW2ICW3101None如果ICW1中有說明(bit1=0),ICW3必須在ICW2之后寫入ICW4101None如果ICW1中有說明(bit0=1),ICW4必須在ICW3之后寫入初始化

12、完成之后OCW1101None寫入這個命令設置中斷屏蔽位OCW2100Bit4,3 = 00位4,3說明不是開始編程命令,是用來選擇方式的命令OCW3100Bit4,3 = 01位4,3說明ICW1,OCW2,OCW3位1,0確定了下一次要讀的狀態(tài)寄存器之后的讀操作IRR010None如果ICW3的位1,0是10,讀的是IRRISR010None如果ICW3的位1,0是11,讀的是ISRIMM011None讀中斷屏蔽寄存器,這個命令和OCW1對應全嵌套方式的開中和EOI命令主程序IR2,IR4有請求IS2=1IR2中斷例程STISTIEOIIS1=1IR1有請求IR1中斷例程STIEOIIRE

13、TIS1清除IRETIS4中斷例程STIEOIIRETSTIEOIIRETIR3有請求IS4=1IS3=1EOI指令先執(zhí)行后,導致低級中斷IR4(相對IR2)能被響應IR2清除IR3清除IR4服務期間,由于沒有開中,導致高級中斷IR3不能被響應IR3中斷例程IS4清除8259A編程舉例IBM PC/XT 機硬件中斷的安排:(單片8259A)中斷號中斷源08H09H0AH0BH0CH0DH0EH0FH時鐘中斷(1.19318M/65536 約18.2ms)鍵盤中斷硬盤中斷保留(打印機中斷)異步通信1中斷保留異步通信2中斷(COM2)(COM1)軟盤中斷已知:8259A端口地址為20H,21H,則

14、初始化程序如下:MOV AL,13HOUT 20H,ALMOV AL,08HOUT 21H,ALMOV AL,0DHOUT 21H,ALMOV AL,00HOUT 21H,AL;ICW1 單片 邊沿觸發(fā) 有ICW4;ICW2 中斷類型號從8開始;ICW4 緩沖工作方式 8086配置;OCW4 允許IRQ0-IRQ7XXX1LTIMADISNGLIC400010011000SFNMBUFM/SAEOuPM00001101觸發(fā)不用單片ICW48086非自動EOI主片緩沖方式非特殊全嵌套方式IBM PC/XT時鐘中斷服務程序TIMER_INT PROC FARSTIPUSH DSPUSH AXPUSH DXMOV AX,DATAMOV DS,AXINC TIMER_LOWJNZ T4INC TIMER_HIGHCMP TIMER_HIGH,18HJNZ T5CMP TIMER_LOW,0B0HJNZ T5MOV TIMER_LOW,0MOV TIMER_HIGH,0MOV TIMER_OFL,1T5:DEC MOTOR_COUNTINZ T6AND MOTOR_STATUS,0F0HMOV AL,0CHMOV DX,3F2HOUT DX,ALT6:INT 1CH

溫馨提示

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

評論

0/150

提交評論