第5章-中斷技術(shù)-G_圖文_第1頁
第5章-中斷技術(shù)-G_圖文_第2頁
第5章-中斷技術(shù)-G_圖文_第3頁
第5章-中斷技術(shù)-G_圖文_第4頁
第5章-中斷技術(shù)-G_圖文_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 方法二:中斷法 L1: MOV DX, 201H IN AL, DX ; 測(cè)試其最高位 ; 無有效數(shù)據(jù) ; 有有效數(shù)據(jù),讀數(shù)據(jù)端口 ; 讀取狀態(tài)端口 TEST AL, 10000000B JZ L1 l 當(dāng)接口中的數(shù)據(jù)有效時(shí),會(huì)產(chǎn)生脈沖信號(hào) STB,該 信號(hào)可作為中斷請(qǐng)求信號(hào),通過8259A向CPU發(fā)送 中斷請(qǐng)求。 l 一旦有數(shù)據(jù)到來,觸發(fā)中斷,進(jìn)入中斷服務(wù)程序。 CPU在中斷服務(wù)程序中將數(shù)據(jù)端口的內(nèi)容讀出 。 l 當(dāng)沒有數(shù)據(jù)到來時(shí) (STB信號(hào)不觸發(fā)中斷,CPU可 運(yùn)行其它程序。 MOV DX, 200H IN AL, DX MOV BUFFER, AL ; 保存數(shù)據(jù)到 BUFFER 12

2、1 122 軟件程序設(shè)計(jì) 硬件電路設(shè)計(jì) 123 124 主程序設(shè)計(jì) 假設(shè)條件: l STB信號(hào)連接到8259A的 IR3 端。 l 8259A的端口地址為 20H、 21H ,其 IR0IR7 中斷類 型號(hào)為08H0FH 。 l 中斷服務(wù)子程序程序名為P1。 l 未發(fā)生中斷時(shí), CPU 執(zhí)行其它程序。這里假設(shè)CPU 執(zhí)行反復(fù)將CX加1的操作。 DATA SEGMENT BUFFER DB ? DATA ENDS CODE SEGMENT ASSUME CS :CODE , DS: DATA START: MOV AX, DATA ;數(shù)據(jù)段段地址 MOV DS, AX PUSH DS CLI ;

3、關(guān)中斷 MOV OUT MOV OUT 125 AL , 00010011B 20H, AL AL , 08H 21H, AL ;ICW1: 邊沿觸發(fā), 單片, 要 ICW4 ;ICW2: 中斷類型號(hào)前5位 126 中斷服務(wù)子程序設(shè)計(jì) MOV OUT MOV MOV MOV MOV MOV MOV POP STI L1:INC JMP AL, 00000001B 21H, AL AX, 0 DS , AX ;ICW4: 普通全嵌套, 非緩沖 ;非自動(dòng)中斷結(jié)束 ;設(shè)置中斷向量表段基址為 0 P1 PROC PUSH CX STI MOV IN MOV DX, 200H AL,DX BUFFER,

4、 AL ;中斷服務(wù)子程序 ;保護(hù)現(xiàn)場 ;開中斷 ;讀數(shù)據(jù)端口 ;保存數(shù)據(jù) ;關(guān)中斷 ;中斷結(jié)束命令 ;中斷返回 AX,OFFSET P1 ;中斷子程序偏移地址 002CH, AX ;IR3中斷類型號(hào)為 0BH, ;向量表中位置為4×0BH=2CH AX,SEG P1 ;中斷子程序段地址 002EH, AX ;4× 0BH + 2 = 2EH DS ;開中斷 CX L1 127 CLI POP CX MOV AL, 20H OUT 20H, AL IRET P1 ENDP CODE ENDS END START 128 內(nèi)容概要 兩種方法的比較 l 查詢方式思路簡單,硬件電路

5、和軟件程序設(shè)計(jì)都 較為簡單。但效率低下。 l 中斷方式硬件上需要8259A可編程中斷控制器,軟 件上需設(shè)計(jì)主程序和中斷服務(wù)子程序。 l 相比于查詢方式,中斷方式軟、硬件兩方面都比 較復(fù)雜,但是效率高 。因?yàn)槲窗l(fā)生中斷時(shí), CPU 可外設(shè)可并行工作 ,而無需輪詢外設(shè)狀態(tài)。 1 2 3 4 5 129 中斷技術(shù)概述 8086/8088 微機(jī)中斷系統(tǒng) l 主程序設(shè)計(jì) l 中斷服務(wù)子程序的設(shè)計(jì) 8259A可編程中斷控制器 l 舉例:查詢與中斷方式的比較 8259A的應(yīng)用舉例 PC 機(jī)中的中斷應(yīng)用 130 5.5 PC機(jī)中的中斷應(yīng)用 (1 IBM PC/XT機(jī):單片8259A l 8259A的端口地址為

6、20H和21H,中斷源的中斷 類型碼為08H0FH。 l 8個(gè)中斷源的作用: IRQ0:接至系統(tǒng)板上8235定時(shí)/計(jì)數(shù)器0的輸出 OUT0,用作微機(jī)系統(tǒng)的電子時(shí)鐘中斷請(qǐng)求。 IRQ1:鍵盤中斷,請(qǐng)求CPU讀取鍵盤掃描碼。 IRQ3 IRQ4:串口中斷。 IRQ5 和 IRQ6:硬盤和軟件中斷。 IRQ7:并行打印機(jī)。 131 132 (2 IBM PC/AT機(jī):雙片8259A l l l IBM PC/AT 微機(jī)及以后機(jī)型多采用雙片8259A結(jié)構(gòu)。 從片與 PC/XT 機(jī)類似,IRQ2用于級(jí)聯(lián) ,擴(kuò)展了8個(gè)中斷 請(qǐng)求端 IRQ8 IRQ15。 主片的端口地址為20H和21H,中斷類型號(hào)為 08

7、H 0FH;從片的端口地址為 0A0H和 0A1H,中斷類型號(hào) 為70H77H 。 133 134 主程序設(shè)計(jì) 【例5-16 】 IBM PC/XT 機(jī)的 IRQ2 端輸入一個(gè)中斷請(qǐng)求信 號(hào)。每產(chǎn)生一次中斷,要求CPU響應(yīng)后在顯示器上顯示 字符串“THIS IS A 8259A INTERRUPT !”,中斷10次 后主機(jī)不再響應(yīng)中斷請(qǐng)求,并且顯示“PROGRAM TERMINATED NORMALLY!” 解析: l 主程序 :設(shè)置中斷向量、開放IRQ2中斷、設(shè)置中斷次數(shù)、 DATA SEGMENT MESS1 DB THIS IS A INTERRUPT!, 0AH, 0DH, $ MES

8、S2 DB TERMINATED NORMALLY!, 0AH, 0DH, $ DATA ENDS CODE SEGMENT ASSUME CS :CODE , DS: DATA START: CLI ; 關(guān)中斷 MOV AX, SEG IRQ2_INT MOV DS, AX ; 設(shè)置中斷向量 開中斷。 l 中斷服務(wù)程序 (IRQ2_INT:顯示中斷提示信息、判斷中 斷次數(shù)并進(jìn)行相應(yīng)處理、發(fā)EOI命令。 MOV DX, OFFSET IRQ2_INT ; 偏移地址 MOV AX, 250AH ; IRQ2 的類型號(hào)為 AL=0AH INT 21H ; AH=25H為功能號(hào) 135 136 中斷

9、服務(wù)子程序 ; . 續(xù)前 MOV AX, DATA MOV DS , AX IN AL,21H AND AL, 0FBH OUT 21H, AL MOV BX, 10 STI WIN: JMP WIN ; 將DS指向數(shù)據(jù)段 ; 讀取中斷屏蔽字 ; AL=1111 1011 ; 開放 IRQ2 中斷 ;設(shè)置中斷次數(shù) ; 開中斷 ; 等待硬中斷 IRQ2_INT: MOV DX, OFFSET MESS1 MOV AH, 9 INT 21H MOV AL, 20H OUT 20H, AL DEC JNZ IN OR OUT 137 ; 顯示中斷信息 ; 發(fā) EOI 命令 BX NEXT AL, 21H AL, 04H 21H, AL ; 10次未到,轉(zhuǎn)向 NEXT中斷返回 ; 10次已到,恢復(fù)屏蔽字,禁止 IRQ2 138 內(nèi)容概要 ; . 續(xù)前 MOV DX, OFFSET MESS2 MOV AH, 9 INT 21H MOV AH, 4CH INT 21H NEXT: IRET IRQ2_INT ENDP CODE ENDS END START ; 顯示10次結(jié)束信息 1 2 3 4 5 139 中斷技術(shù)概述 8086/8088 微機(jī)中斷系統(tǒng) 8259A可編程中斷控制器 l IBM PC/XT:單片8259A l 的應(yīng)用

溫馨提示

  • 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)論