版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7章章 中斷控制器中斷控制器 2022-2-1127.1 中斷基本概念 一、中斷和中斷源一、中斷和中斷源 MOV AX, DATA MOV DS, AX ADD AL, BX斷點(diǎn)斷點(diǎn) ADC AH, 0 中斷請(qǐng)求中斷請(qǐng)求內(nèi)部?jī)?nèi)部事件發(fā)生事件發(fā)生外部外部INTRIFNMI外部中斷源外部中斷源(I/OI/O 請(qǐng)求請(qǐng)求, ,定時(shí)定時(shí), , A/DA/D 等等)內(nèi)部中斷源內(nèi)部中斷源(溢出溢出,軟中斷等軟中斷等)??。?!響應(yīng)中斷響應(yīng)中斷事件處理事件處理 ?!?!事件事件1處理處理 事件事件2處理處理 事件事件n處理處理 事件處理結(jié)束事件處理結(jié)束主程序主程序中斷中斷中斷源中斷源(事件)(事件)中斷請(qǐng)求
2、中斷請(qǐng)求中斷承認(rèn)中斷承認(rèn)中斷源識(shí)別中斷源識(shí)別中斷服務(wù)中斷服務(wù)中斷響應(yīng)中斷響應(yīng)中斷處理過(guò)程中斷處理過(guò)程斷點(diǎn)保護(hù)斷點(diǎn)保護(hù)2022-2-1137.1 中斷基本概念 中斷 CPU接到請(qǐng)求,暫停正在執(zhí)行的程序而轉(zhuǎn)向請(qǐng)求的處理程序,處理結(jié)束后又回到被中止的程序繼續(xù)執(zhí)行,這一過(guò)程稱中斷; 中斷源的分類; 內(nèi)部中斷:由處理器內(nèi)部產(chǎn)生的中斷; 外部中斷:外部設(shè)備在中斷申請(qǐng)引腳上產(chǎn)生的中斷; 可屏蔽中斷與不可屏蔽中斷 可屏蔽中斷:能被處理器屏蔽掉而不被響應(yīng)的中斷 (INTR)。 不可屏蔽中斷:不能被處理器屏蔽掉的中斷(NMI)。2022-2-1147.1 中斷基本概念 中斷請(qǐng)求 在INTR上外設(shè)給出高電平,1)持
3、續(xù)到被CPU響應(yīng);2)CPU響應(yīng)后及時(shí)撤消。 中斷承認(rèn)(中斷響應(yīng)的條件) 滿足下列條件進(jìn)入中斷響應(yīng)周期: a,INTR有中斷請(qǐng)求; b,IF=1開(kāi)中斷; c,無(wú)RESET、HOLD和NMI或更高級(jí)的中斷; d,一條指令執(zhí)行結(jié)束。2022-2-1157.1 中斷基本概念(1)關(guān)中斷:CPU硬件自動(dòng)清IF(關(guān)中斷,禁止其它中斷)。(2)斷點(diǎn)保護(hù):CPU硬件自動(dòng)將PSW、CS、IP依次壓棧,以便中斷結(jié)束能 夠返回?cái)帱c(diǎn)。(3)中斷源識(shí)別: 1)軟件查詢(軟件做) 2)中斷向量表(硬件自動(dòng)做) 軟件查詢方法:CPU收到INTR 讀入D0D7 測(cè)試哪一位 確 定中斷源 對(duì)其中斷服務(wù)。 軟軟件件查查詢?cè)冇灿?/p>
4、件件電電路路 端端口口地地址址輸輸入入端端口口譯譯碼碼ENABDBCPUINTRI IN NT T1 1( (自自 1 1# #設(shè)設(shè)備備) )I IN NT T2 2( (自自 2 2# #設(shè)設(shè)備備) )I IN NT Tn n( (自自 n n# #設(shè)設(shè)備備) ) 1 1 軟軟件件查查詢?cè)兞髁鞒坛蘄 IN NT T1 1?I IN NT T2 2? INT1?I IN NT Tn n? 1# 中中斷斷服服務(wù)務(wù) 2# 中中斷斷服服務(wù)務(wù) n# 中中斷斷服服務(wù)務(wù)2022-2-1167.1 中斷基本概念中斷響應(yīng) (1)保護(hù)現(xiàn)場(chǎng):斷點(diǎn)保護(hù)未保護(hù)的 & 主程序用的&中斷服務(wù)也用的 寄存器
5、 堆棧 (2)開(kāi)中斷(指令STI):采用軟件查詢方法的中斷源識(shí)別。 (3)中斷服務(wù):對(duì)中斷事件的處理。 (4)關(guān)中斷(指令CTI) (5)現(xiàn)場(chǎng)恢復(fù):保護(hù)現(xiàn)場(chǎng)的逆過(guò)程,堆棧 寄存器 (6)開(kāi)中斷(指令STI):允許新的中斷。 (7)中斷返回(指令I(lǐng)RET):從堆棧中依次彈出IP 、CS、PSW,返回 原斷點(diǎn)處,斷點(diǎn)保護(hù)逆過(guò)程。2022-2-1177.1 中斷基本概念 多個(gè)中斷源同時(shí)請(qǐng)求中斷,先響應(yīng)中斷優(yōu)先級(jí)高的 中斷優(yōu)先級(jí) 根據(jù)各中斷源的重要性確定其響應(yīng)的優(yōu)先次序。 中斷優(yōu)先級(jí)控制原則: (1)多個(gè)同時(shí)請(qǐng)求,先響應(yīng)高優(yōu)先級(jí),再響應(yīng)低優(yōu)先級(jí); (2)當(dāng)CPU執(zhí)行某中斷服務(wù)程序時(shí),出現(xiàn)新的高優(yōu)先級(jí)請(qǐng)
6、求 中斷,則:暫停低 處理高,高服務(wù)結(jié)束返回低,繼續(xù) 低服務(wù)。 主主程程序序 INT4I IN NT T4 4中中斷斷服服務(wù)務(wù)子子程程序序 返返回回INT3I IN NT T2 2中中斷斷服服務(wù)務(wù)子子程程序序 返返回回INT2I IN NT T3 3中中斷斷服服務(wù)務(wù)子子程程序序 返返回回2022-2-1187.2 8086/8088的中斷系統(tǒng) 內(nèi)內(nèi) 部部 種種 類類 中中斷斷 類類型型碼碼 獲獲取取類類型型 碼碼方方法法 除除法法錯(cuò)錯(cuò)中中斷斷:商商 CPU 可可表表示示的的最最大大值值 0 自自動(dòng)動(dòng) 單單步步中中斷斷:TF=1 產(chǎn)產(chǎn)生生中中斷斷, CPU 在在每每條條指指令令執(zhí)執(zhí)行行結(jié)結(jié)束束
7、1 自自動(dòng)動(dòng) 測(cè)測(cè)試試 TF, 用用于于調(diào)調(diào)試試, DEBUG中中的的 T 命命令令 斷斷點(diǎn)點(diǎn)中中斷斷:指指令令 INT3 產(chǎn)產(chǎn)生生中中斷斷, 用用于于調(diào)調(diào)試試, 可可置置于于程程 3 自自動(dòng)動(dòng) 序序中中任任何何位位置置, 通通常常顯顯示示中中間間結(jié)結(jié)果果 R/M 溢溢出出中中斷斷:指指令令 INTO測(cè)測(cè)試試 OF, OF=1 時(shí)時(shí)產(chǎn)產(chǎn)生生中中斷斷 4 自自動(dòng)動(dòng) 軟軟中中斷斷: 指指令令 INT n 產(chǎn)產(chǎn)生生中中斷斷 n (用用戶戶確確定定) 從從指指令令自自動(dòng)動(dòng) NMI: 災(zāi)災(zāi)難難性性事事件件, 不不受受 IF 屏屏蔽蔽, 當(dāng)當(dāng)前前指指令令執(zhí)執(zhí)行行 2 自自動(dòng)動(dòng) 完完后后立立即即響響應(yīng)應(yīng) I
8、NTR: 一一般般外外部部事事件件, 當(dāng)當(dāng) IF=1 時(shí)時(shí)響響應(yīng)應(yīng) n (用用戶戶確確定定) 8259 自自動(dòng)動(dòng)送送 外外 部部 2022-2-1197.2 8086/8088的中斷系統(tǒng)n二、中斷優(yōu)先級(jí)l除法錯(cuò)、INT n、INTO優(yōu)先級(jí)最高lNMI次之lINTR較低l單步最低n 三、中斷源識(shí)別l 中斷類型碼 每一中斷都有一個(gè)表示中斷源編號(hào)的8位二進(jìn)制數(shù)稱中斷類 型碼(號(hào)), 從0255,共256個(gè)。2022-2-11107.2 8086/8088的中斷系統(tǒng)l中斷向量 每一中斷類型碼對(duì)應(yīng)一個(gè)中斷向量,該中斷向量指明了該類型碼所對(duì)應(yīng)的中斷服務(wù)程序的入口地址l中斷向量表 8086/8088系統(tǒng)將內(nèi)
9、存前1024個(gè)單元作為中斷向量表,存放256個(gè)中斷向量,每一中斷向量占4個(gè)單元,前二字節(jié)是中斷服務(wù)程序入口地址的偏移地址,后二字節(jié)是段地址。l中斷向量表地址:4*中斷類型碼n。l中斷向量表的中斷源識(shí)別方法 (1)CPU收到中斷請(qǐng)求 獲取中斷類型碼 查中斷向量表 得到該中斷源的中斷服務(wù)子程序入口地址 轉(zhuǎn)向服務(wù)子程序進(jìn)行中斷服務(wù)2022-2-11117.2 8086/8088的中斷系統(tǒng) (2)查表方法:中斷類型碼n*4(左移2位)得到表地址從表地址所指單元連續(xù)取4個(gè)字節(jié)數(shù)據(jù)得到IP、CS該CS:IP即為該中斷源的中斷服務(wù)子程序入口地址2022-2-11127.2 8086/8088的中斷系統(tǒng)【例【
10、例7.2】 設(shè)用戶自定義中斷的類型號(hào)為24H,已編好的中斷服務(wù)子程序?yàn)镮SUB,試完成中斷向量表初始化。解:中斷向量表存放首地址為24H4,中斷服務(wù)子程序段地址為SEG ISUB,偏移地址為OFFSET ISUB。所以中斷向量表初始化程序段如下。 MOV AX, 00HMOV DS, AX;向量表段地址置0000HMOV BX, 24HSHLBXSHLBX;向量表存放首址MOV AX, OFFSET ISUB;中斷服務(wù)程序入口偏移MOV BX, AX;偏移地址存入向量表MOV AX, SEG ISUB;中斷服務(wù)子程序MOV BX+2,AX;段地址存入向量表2022-2-11137.2 8086
11、/8088的中斷系統(tǒng)l不可屏蔽中斷NMI (1)上升沿提出中斷請(qǐng)求。 (2)不受IF=0的影響。 (3)不要中斷響應(yīng)總線周期,自動(dòng)進(jìn)入中斷類型2。 (4)其它同INTR。l內(nèi)部中斷 (1)中斷類型號(hào)或是指令碼給出,或由硬件決定,都不要中斷響應(yīng)總線周期。 (2)不受IF控制,但單步中斷受TF控制。 (3)其它同INTR,但要考慮優(yōu)先級(jí)2022-2-11147.2 8086/8088的中斷系統(tǒng)n 五、中斷與中斷返回指令l中斷指令 INTO 測(cè)試OF,若OF=1執(zhí)行中斷,否則不操作。 INT n 執(zhí)行中斷類型號(hào)為n的中斷,n=00HFFH。 (1)斷點(diǎn)保護(hù):SP-2 SP,PSW SP+1 : SP
12、;清PSW的 IF與TF;SP-2 SP,CS SP+1 : SP;SP-2 SP,IP SP+1 : SP。 (2)中斷源識(shí)別與跳轉(zhuǎn):n*4+1:n*4 IP;n*4+3:n*4+2 CS;程序?qū)⒆詣?dòng)跳轉(zhuǎn)到CS:IP處執(zhí)行該中斷服務(wù)子程序l中斷返回指令:IRET 執(zhí)行中斷返回時(shí),CPU自動(dòng)做恢復(fù)斷點(diǎn):SP+1:SP IP,SP+2 SP; SP+1:SP CS,SP+2 SP; SP+1:SP PSW,SP+2 SP2022-2-11157.3 可編程中斷控制器8259Al 引腳: D0D7:雙向數(shù)據(jù)線 /WR、/RD:寫(xiě)讀控制信號(hào), /CS片選 A0:地址線,選擇內(nèi)部寄存器 INT:中斷請(qǐng)
13、求輸出 /INTA:中斷響應(yīng)輸入線 IR0IR7:是外接中斷源輸入線。 CAS0CAS2:級(jí)聯(lián)時(shí)用。 SP/EN:作輸入是/SP,控制8259作 主片或從 片,1主0從。用作輸出是/EN, 控制三態(tài)門(mén),大系統(tǒng)中用。2022-2-11167.3 可編程中斷控制器8259Al 結(jié)構(gòu)框圖 中斷請(qǐng)求寄存器IRR:存放IR0 IR7中斷請(qǐng)求 服務(wù)寄存器ISR:存放IR0 IR7中正在服務(wù)的源 中斷屏蔽寄存器IMR (interrupt mask) 4個(gè)8位初始化命令字ICW 3個(gè)8位操作命令字OCW2022-2-11177.3 可編程中斷控制器8259A(1)中斷外設(shè)在IR0IR7上產(chǎn)生n條中斷請(qǐng)求82
14、59,8259將相應(yīng)的IRR位置1;(2)IRR中斷請(qǐng)求 + 設(shè)定的IMR屏蔽 優(yōu)先級(jí)分析器,最高優(yōu)先級(jí)的請(qǐng)求送到INT CPU ;(3)CPU收到INT響應(yīng):發(fā)送連續(xù)二個(gè)總線周期的/INTA;8259在第一個(gè)/INTA,該中斷源對(duì)應(yīng)的IRR位復(fù)位,ISR位置位,從而禁止較低優(yōu)先級(jí)的中斷。8259在第二個(gè)/INTA:送出8位的中斷類型碼 D0D7。(4)8259中斷結(jié)束 自動(dòng)結(jié)束方式:第二個(gè)/INTA結(jié)束時(shí)ISR復(fù)位相應(yīng)位; 非自動(dòng)方式:收到EOI命令才復(fù)位,以開(kāi)放低級(jí)中斷申請(qǐng)(5)CPU讀取中斷類型碼查中斷向量表轉(zhuǎn)服務(wù)子程序2022-2-11187.3 可編程中斷控制器8259Al 優(yōu)先級(jí)管
15、理 (1)固定優(yōu)先級(jí) (完全嵌套排序方式):IR0 IR1 IR7 (2)自動(dòng)循環(huán)優(yōu)先級(jí) (等優(yōu)先級(jí)方式 ):優(yōu)先級(jí)循環(huán),剛服務(wù)過(guò)的最低,下一個(gè)變?yōu)樽罡?。?級(jí)剛服務(wù)過(guò),6級(jí)變?yōu)樽罡撸?級(jí)次之。 (3)特殊循環(huán)優(yōu)先級(jí):優(yōu)先級(jí)循環(huán),通過(guò)命令字指定最低優(yōu)先級(jí)。 l 屏蔽方式 (1) 一般屏蔽方式:一個(gè)中斷請(qǐng)求被響應(yīng) 8259禁止所有同級(jí)、低級(jí)的請(qǐng)求 (2) 特殊屏蔽方式:解除這種禁止,允許同級(jí)、低級(jí)的請(qǐng)求,即 IRi被響應(yīng) ISR、IMR設(shè)置的位對(duì)應(yīng)的IR禁止請(qǐng)求,其他所有級(jí)別的IR允許請(qǐng)求2022-2-11197.3 可編程中斷控制器8259Al 中斷結(jié)束方式 (1)非自動(dòng)EOI:軟件發(fā)EOI命
16、令字結(jié)束 普通EOI:清除ISR中已置位的優(yōu)先級(jí)最高的位,適用于固定優(yōu) 先級(jí)、自動(dòng)循環(huán)優(yōu)先級(jí); 特殊EOI:清除命令字指定的ISR位,適用于所有優(yōu)先級(jí)方式, 特別是特殊循環(huán)優(yōu)先級(jí) (2)自動(dòng)EOI:硬件自動(dòng)EOI CPU響應(yīng)中斷請(qǐng)求后,向8259發(fā)連續(xù)2個(gè)/INTA周期,在第二個(gè) /INTA結(jié)束時(shí)8259自動(dòng)執(zhí)行普通EOI的工作(復(fù)位ISRi).l 中斷觸發(fā)方式 (1)電平觸發(fā)方式 (2)邊沿觸發(fā)方式 2022-2-11207.3 可編程中斷控制器8259A2022-2-11217.3 可編程中斷控制器8259A【例【例7.3】 某8086系統(tǒng)中,使用單片8259A,中斷請(qǐng)求信號(hào)為高電平觸發(fā),
17、需要設(shè)置ICW4,8259A端口地址為20H、21H,寫(xiě)出初始化命令字ICW1以及設(shè)置ICW1的 命令。解:高電平觸發(fā)、單片8259A以及需要設(shè)置ICW4,初始化命令字為00011011B= 1BH。寫(xiě)ICW1的命令如下。 MOV AL, 1BHOUT 20H, AL; 寫(xiě)ICW1用偶地址2022-2-11微機(jī)原理227.3 可編程中斷控制器8259A【例【例7.4】 某PC機(jī)中有8個(gè)可屏蔽中斷(IR0IR7),其中IR0的中斷類型號(hào)為18H,8259A端口地址為20H、21H,請(qǐng)問(wèn)ICW2是怎樣設(shè)置的?用指令設(shè)置ICW2。解:由于IR0的中斷類型號(hào)是18H,所以ICW2的內(nèi)容是0001100
18、0B=18H。寫(xiě)ICW2的命令如下。 MOV AL,18H OUT 21H,AL ;寫(xiě)ICW2用奇地址2022-2-11237.3 可編程中斷控制器8259A2022-2-11247.3 可編程中斷控制器8259A2022-2-11257.3 可編程中斷控制器8259A2022-2-11267.3 可編程中斷控制器8259A【例【例7.5】 IBM PC機(jī)的ROM BIOS關(guān)于8259A的初始化程序段如下。 INTA00 EQU20H;8259A偶地址INTA01 EQU21H;8259A奇地址MOV AL,13H;單片8259A,邊沿觸發(fā),需要ICW4OUT INTA00,ALMOV AL,
19、08H;中斷類型號(hào)8HOUT INTA01,ALMOV AL,09H;8086/8088,緩沖,從片8259A,非自動(dòng)結(jié)束,正常全嵌套OUT INTA01,AL2022-2-11277.3 可編程中斷控制器8259A【例【例 7.6】 某微機(jī)系統(tǒng)中有8259A,滿足下列條件:工作在8086系統(tǒng),單片8259A,中斷請(qǐng)求信號(hào)為電平觸發(fā)。中斷類型碼為40H47H。中斷優(yōu)先級(jí)采用普通全嵌套方式,中斷結(jié)束采用自動(dòng)EOI方式,系統(tǒng)中未使用數(shù)據(jù)緩沖器。系統(tǒng)分配給8259A的端口地址為20H和21H,試對(duì)該8259A進(jìn)行初始化。解:初始化程序如下所示。 MOV AL,00011011B;寫(xiě)ICW1OUT 2
20、0H,ALMOV AL,01000000B;寫(xiě)ICW2OUT 21H,ALMOV AL,00000011B;寫(xiě)ICW4OUT 21H,AL2022-2-11287.3 可編程中斷控制器8259A五、操作命令字OCW 2022-2-11297.3 可編程中斷控制器8259A五、操作命令字OCW 【例【例 7.7】 某微機(jī)系統(tǒng)中有8259A,如果要將IR1、IR6兩個(gè)引腳上的中斷請(qǐng)求屏蔽,請(qǐng)問(wèn)應(yīng)如何設(shè)置OCW1?并用命令寫(xiě)入OCW1。假設(shè)地址為20H、21H。解:由于IR1和IR6上的中斷請(qǐng)求被屏蔽,所以O(shè)CW1的第0位和第6位應(yīng)該置“1”。OCW1為01000010B。寫(xiě)入程序如下所示。MOV
21、AL, 01000010BOUT 21H, AL2022-2-11307.3 可編程中斷控制器8259A2022-2-11317.3 可編程中斷控制器8259A【例【例7.8】 非自動(dòng)EOI下用OCW2發(fā)布結(jié)束命令撤銷(xiāo)ISR中斷標(biāo)志結(jié)束中斷。假設(shè)地址為20H,21H。解:程序如下所示。 MOV AL,20H;20H是命令字,EOI=1OUT 20H,AL;A0=0,20H是OCW2地址2022-2-11327.3 可編程中斷控制器8259A【例【例7.9】 如果8086系統(tǒng)中的8259A的優(yōu)先級(jí)順序?yàn)镮R4、IR5、IR6、IR7、IR0、IR1、IR2、IR3,設(shè)8259A的偶地址為20H,
22、試用程序?qū)崿F(xiàn)之。解:要實(shí)現(xiàn)題目中的優(yōu)先級(jí),應(yīng)先確定OCW2,然后寫(xiě)入偶地址。OCW2= 11000011B。 程序如下所示。 MOV AL,11000011BOUT 20H,AL2022-2-11337.3 可編程中斷控制器8259A2022-2-11347.3 可編程中斷控制器8259A【例【例7.10】 設(shè)8259A的IR3輸入引腳上有中斷請(qǐng)求,但此時(shí)8086 CPU的IF=0,8086 CPU如何才能知道8259A的IR3上有中斷請(qǐng)求?設(shè)偶地址為20H。解:可用中斷查詢命令來(lái)解決這個(gè)問(wèn)題,先發(fā)查詢命令OCW3,然后讀偶地址,就可以知道IR3是否有中斷申請(qǐng)。OCW3應(yīng)該取00001100B
23、。程序如下所示。 MOV AL, 00001100B;P=1,查詢命令OUT 20H,AL;輸出查詢命令I(lǐng)N AL,20H;讀8259A的查詢字 讀到的信息如下: 0 表示IR3上沒(méi)有中斷請(qǐng)求。1 0 1 1 表示IR3上有中斷請(qǐng)求。2022-2-11357.3 可編程中斷控制器8259A【例【例7.11】 編寫(xiě)一段程序,將8086系統(tǒng)中8259A的IRR、ISR、IMR 3個(gè)寄存器的內(nèi)容讀到后,寫(xiě)入存儲(chǔ)器從0090H開(kāi)始的數(shù)組中,設(shè)8259A的端口地址為20H和21H。MOV AL,00001010B;指出讀IRR,OCW3=00001010BOUT 20H,ALIN AL,20H ;讀IR
24、R的內(nèi)容MOV 0090H,AL ;將IRR的內(nèi)容寫(xiě)入數(shù)組中MOV AL,0BHOUT 20H,AL ;指出讀ISR,OCW3=00001011BIN AL,20HMOV 0091H,AL ;將ISR的內(nèi)容寫(xiě)入數(shù)組中IN AL,21H ;直接從奇地址端口讀取IMR的內(nèi)容MOV 0092H,AL ;將IMR的內(nèi)容寫(xiě)入數(shù)組中2022-2-11367.3 可編程中斷控制器8259An六六 8259寄存器的訪問(wèn)控制:寄存器的訪問(wèn)控制:n8259的的9個(gè)寄存器只占個(gè)寄存器只占2個(gè)地址個(gè)地址(只有只有A0地址線地址線), 如何區(qū)分如何區(qū)分?2022-2-11377.3 可編程中斷控制器8259A中斷系統(tǒng)的
25、應(yīng)用方法n(1) 分配合適的中斷級(jí);n(2) 設(shè)計(jì)中斷請(qǐng)求邏輯:n(3) 對(duì)8259A初始化n(4) 編寫(xiě)中斷服務(wù)子程序n(5) 中斷向量表初始化2022-2-11387.4 8259的應(yīng)用n一、一、8259與系統(tǒng)總線的連接與系統(tǒng)總線的連接8259A的偶地址:A1=0,地址為0FF00H、0FF01H、0FF04H、0FF05H中的任意一個(gè)。8259A的奇地址:A1=1,地址為0FF02H、0FF03H、0FF06H、0FF07H中的任意一個(gè)2022-2-11397.4 8259的應(yīng)用n二、初始化及操作控制二、初始化及操作控制nSET59A:MOVDX,0FF00H;A0=0nMOVAL,00
26、010011B;ICW1:D3=LTIM=0沿觸發(fā)沿觸發(fā), D1=1單片,單片,D0=1要要ICW4nOUTDX,ALnMOVDX,0FF02H;A0=1nMOVAL,00011000B;ICW2: 中斷類型碼中斷類型碼n IR0IR7類型碼類型碼18H1FHnOUTDX,ALnMOVAL,00000011B;ICW4:8086/8088,n 自動(dòng)自動(dòng)EOI, 非緩沖非緩沖, 正常全嵌套正常全嵌套n OUTDX,AL2022-2-11407.4 8259的應(yīng)用在某些情況下,如果不希望看到某些中斷發(fā)生,我們可以通過(guò)操作命令字OCW1的設(shè)置來(lái)屏蔽那些中斷。同時(shí)也可以檢查對(duì)某些中斷的屏蔽是否成功。程
27、序如下。 MOV DX,0FF02H MOV AL,0;OCW1為00H,沒(méi)有屏蔽中斷 OUT DX,AL IN AL,DX;讀IMR OR AL,AL;檢查是否屏蔽? JNZ IMERR;不為0出錯(cuò) MOV AL,0FFH;OCW1為FFH,全部屏蔽 OUT DX,AL IN AL,DX;讀IMR ADD AL,1;檢查是否有屏蔽? JNZ IMERR;不為全1出錯(cuò)2022-2-11417.4 8259的應(yīng)用8259A連接到CPU上,通過(guò)數(shù)據(jù)總線可以讀取ISR、IRR的內(nèi)容,命令如下。 MOV DX,0FF00H ;OCW3用偶地址 MOV AL,00001011B ;OCW3的 P=0,設(shè)
28、置讀ISR OUT DX,AL IN AL,DX ;讀出ISR MOV AL,00001010B ;OCW3的 P=0,設(shè)置讀IRR OUT DX,AL IN AL,DX ;讀出IRR2022-2-11427.5 小型案例實(shí)訓(xùn)n案例案例1 -8259實(shí)現(xiàn)電子鐘實(shí)現(xiàn)電子鐘n利用利用20ms一次的定時(shí)中斷服務(wù)一次的定時(shí)中斷服務(wù)程序,建立時(shí)、分、秒電子鐘程序,建立時(shí)、分、秒電子鐘n(1)編寫(xiě))編寫(xiě)20ms中斷服務(wù)程序中斷服務(wù)程序n每次中斷(每次中斷(20ms) n1=n1+1n n1 50 中斷返回;中斷返回;n n1=50second=second+1,n1=0nsecond 60 中斷返回;中斷
29、返回; n second = 60 minute =minute +1,second = 0nminute 60 中斷返回;中斷返回;n minute = 60 hour = hour +1,minute = 0 nhour 24 中斷返回;中斷返回;n hour = 24 hour = 0 8086 總總線線 8259D0 D7IR0外外設(shè)設(shè)INTRINT 20ms MTIMER: 20ms 方波計(jì)數(shù)方波計(jì)數(shù) n1 Second (壓縮壓縮 BCD) Minute (壓縮壓縮 BCD) Hour (壓縮壓縮 BCD)TIMER+1TIMER+2TIMER+32022-2-11437.5 小型
30、案例分析 電子鐘n中斷服務(wù)子程序:中斷服務(wù)子程序:nCLOCKPROC FARn PUSHDSnPUSHAX;現(xiàn)場(chǎng)保護(hù);現(xiàn)場(chǎng)保護(hù)nPUSHSInMOVAX,SEG TIMER;中斷服務(wù);中斷服務(wù)nMOVDS,AXnMOVSI,OFFSET TIMERnMOVAL,SInINCAL;n1+1nMOVSI,AL保存保存 新新n1nCMPAL,50;1秒到秒到?nJNZTRNEDnMOVAL,0 ; 1秒到秒到 則則n1=0nMOVSI,AL2022-2-11447.5 小型案例分析 電子鐘n MOVAL,SI+1nADDAL,1; second+1 n DAAn MOVSI+1,AL;保存;保存
31、新新secondn CMPAL,60H;一分鐘到?;一分鐘到?n JNZTRNEDn MOVAL,0n MOVSI+1,ALn MOVAL,SI+2nADDAL,1nDAAnMOVSI+2,ALnCMPAL,60H;一小時(shí)到?;一小時(shí)到?nJNZTRNED2022-2-1145n MOVAL,0n MOVSI+2,ALn MOVAL,SI+3n ADDAL,1nDAAnMOVSI+3,ALnCMPAL,24H;24小時(shí)到?小時(shí)到?nJNZTRNEDnMOVAL,0nMOVSI+3,ALnTRNED:POPSI;現(xiàn)場(chǎng)恢復(fù);現(xiàn)場(chǎng)恢復(fù)nPOPAXn POPDSn STI;開(kāi)中斷;開(kāi)中斷nIRET;中斷返回;中斷返回nCLOCKENDP2022-2-1146 SET8259A: MOV DX,0FF00H;偶地址MOV AL,00010011B ;ICW1,D3的LTIM=0邊沿觸發(fā),D1=1 ;單片,D0=1要ICW4OUT DX,ALMOV DX,0FF01H;奇地址MOV AL,00011000B ;ICW2:中斷源IR0IR7類型碼18H1FHOUT DX,ALMOV AL,00000011B ;ICW4:8086/8088,自動(dòng)EOI,非緩沖,正常 ;全嵌套OUT DX,AL2022-2-1147n(3) 初始化中斷向量表:初始化中斷向量表:nINITB: MOV
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫州大學(xué)《小學(xué)音樂(lè)課程設(shè)計(jì)與實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024新版?zhèn)€體勞動(dòng)協(xié)議樣本版
- 2024監(jiān)理服務(wù)擴(kuò)展合同標(biāo)準(zhǔn)文本一
- 2025年度新能源汽車(chē)充電樁采購(gòu)安裝合同3篇
- 二零二五年科技園區(qū)PPP項(xiàng)目合同第三、四章技術(shù)創(chuàng)新與產(chǎn)業(yè)支持細(xì)則3篇
- 唐山科技職業(yè)技術(shù)學(xué)院《吉他(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《美國(guó)文學(xué)史與作品選讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度班主任班級(jí)管理師徒實(shí)踐合作協(xié)議3篇
- 事業(yè)單位專任人員2024河南聘用協(xié)議模板版
- 石家莊城市經(jīng)濟(jì)職業(yè)學(xué)院《制藥工程學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 護(hù)理倫理學(xué)(第二版)高職PPT完整全套教學(xué)課件
- 帕薩特B5維修手冊(cè)及帕薩特B5全車(chē)電路圖
- GB/T 25919.1-2010Modbus測(cè)試規(guī)范第1部分:Modbus串行鏈路一致性測(cè)試規(guī)范
- GB/T 22484-2008城市公共汽電車(chē)客運(yùn)服務(wù)
- GB/T 14040-2007預(yù)應(yīng)力混凝土空心板
- 帶狀皰疹護(hù)理查房課件整理
- 奧氏體型不銹鋼-敏化處理
- 交通信號(hào)控制系統(tǒng)檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 弱電施工驗(yàn)收表模板
- 探究基坑PC工法組合鋼管樁關(guān)鍵施工技術(shù)
- 國(guó)名、語(yǔ)言、人民、首都英文-及各地區(qū)國(guó)家英文名
評(píng)論
0/150
提交評(píng)論