第15講 中斷和中斷控制器-1_第1頁(yè)
第15講 中斷和中斷控制器-1_第2頁(yè)
第15講 中斷和中斷控制器-1_第3頁(yè)
第15講 中斷和中斷控制器-1_第4頁(yè)
第15講 中斷和中斷控制器-1_第5頁(yè)
已閱讀5頁(yè),還剩27頁(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一、8086的中斷操作和中斷系統(tǒng)二、中斷傳送方式三、8259A中斷控制器中斷和中斷控制器2★

8086的中斷分類(lèi)★中斷向量和中斷向量表★

硬件中斷的響應(yīng)和時(shí)序★

中斷處理子程序★

軟件中斷8086的中斷操作和中斷系統(tǒng)31.什么叫中斷?與子程序不同點(diǎn)

中斷是指CPU暫時(shí)中止它正在執(zhí)行的主程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的那個(gè)外設(shè)的中斷服務(wù)程序,處理完畢后,又返回主程序的過(guò)程。子程序的調(diào)用是固定的,而中斷是隨機(jī)的。2.中斷系統(tǒng)為實(shí)現(xiàn)上述中斷功能而設(shè)置的各種硬件和軟件,統(tǒng)稱為中斷系統(tǒng)。8086/8088的中斷系統(tǒng)可以處理256種不同的中斷,每個(gè)中斷對(duì)應(yīng)一個(gè)類(lèi)型碼,故256種中斷對(duì)應(yīng)的為0~255。4(1)8086的中斷分類(lèi)8086/8088有兩類(lèi)中斷:硬件中斷―由外設(shè)的請(qǐng)求引起,又叫外部中斷軟件中斷―由執(zhí)行指令所引起,又叫內(nèi)部中斷外部中斷

8088有兩條外部中斷請(qǐng)求線NMI(非屏蔽中斷)和INTR(可屏蔽中斷)。58086/8088的中斷源

圖中外設(shè)與8259A的連法是IBMPC/XT的連法,正常優(yōu)先權(quán)次序?yàn)?IR0最高,IR7最低。8086/8088的中斷源非屏蔽中斷請(qǐng)求中斷邏輯CPU8259AINT可編程中斷控制器(PIC)INTn指令I(lǐng)NTO指令除法錯(cuò)誤單步TF=1104nNMIIR0IR1IR2IR3IR4IR5IR6IR708090A0B0C0D0E0F系統(tǒng)定時(shí)器鍵盤(pán)為用戶保留網(wǎng)絡(luò)通信保留硬盤(pán)軟盤(pán)并行打印機(jī)2INTR6內(nèi)部中斷 因是軟件中斷,屬于執(zhí)行指令引起的中斷,通常分為三類(lèi):⒈中斷指令I(lǐng)NT引起的中斷

CPU執(zhí)行完一條INTn指令后,會(huì)立即產(chǎn)生中斷,并且調(diào)用系統(tǒng)中相應(yīng)的中斷處理程序來(lái)完成中斷功能,中斷指令的操作數(shù)n指出中斷類(lèi)型。

例DOS功能調(diào)用INT21H,具有很強(qiáng)的功能。7⒉處理運(yùn)算過(guò)程中某些錯(cuò)誤的中斷執(zhí)行程序時(shí),為及時(shí)處理運(yùn)算中某些錯(cuò)誤,CPU以中斷方式中止正在運(yùn)行的程序,提醒程序員改錯(cuò)。①除法錯(cuò)中斷,類(lèi)型號(hào)為0。執(zhí)行除法指令時(shí),若發(fā)現(xiàn)除數(shù)為零或商超過(guò)了有關(guān)寄存器所能表達(dá)的范圍,則立即產(chǎn)生除法錯(cuò)中斷。②溢出中斷INTO,類(lèi)型號(hào)為4。運(yùn)算過(guò)程中當(dāng)溢出標(biāo)志OF=1時(shí),執(zhí)行INTO指令,則產(chǎn)生溢出中斷,打印出一個(gè)錯(cuò)誤信息,結(jié)束時(shí)不返回,而把控制權(quán)交給操作系統(tǒng)。若OF=0,則INTO不產(chǎn)生中斷,CPU執(zhí)行下一條指令。例:ADD AX,BXINTO ;測(cè)試加法的溢出8①單步中斷,類(lèi)型號(hào)為1。當(dāng)TF=1,每條指令執(zhí)行后,CPU會(huì)自動(dòng)產(chǎn)生一個(gè)類(lèi)型1的中斷。使用單步中斷可一條一條指令地跟蹤程序流程,觀察各個(gè)寄存器及存儲(chǔ)單元變化,幫助分析錯(cuò)誤原因。②斷點(diǎn)中斷,中斷類(lèi)型號(hào)為3。斷點(diǎn)可設(shè)置在程序的任何地方,它相當(dāng)把一條INT3指令插入程序中。CPU每執(zhí)行到斷點(diǎn)處,INT3指令便產(chǎn)生一個(gè)中斷。⒊為調(diào)試程序而設(shè)置的中斷9

對(duì)這些中斷規(guī)定的優(yōu)先權(quán)從高到低次序?yàn)椋簝?nèi)中斷(指除法錯(cuò),INTO,INT指令)非屏蔽中斷可屏蔽中斷單步中斷10(2)中斷向量和中斷向量表1.中斷向量中斷處理子程序的入口地址,每個(gè)中斷類(lèi)型對(duì)應(yīng)一個(gè)中斷向量,占用4個(gè)存儲(chǔ)字節(jié)。2.中斷向量表所有中斷向量排列起來(lái),在內(nèi)存的00000~003FFH形成一張表,稱為中斷向量表。其中前2個(gè)字節(jié)存放中斷處理子程序入口地址的偏移量(IP),后兩個(gè)字節(jié)存放中斷處理子程序入口地址的段地址(CS),按照中斷類(lèi)型號(hào)順序,從00000H開(kāi)始有規(guī)則排列。IBMPC的中斷向量表}}}}}}}地址內(nèi)容類(lèi)型0(IP)類(lèi)型1(IP)類(lèi)型2(IP)類(lèi)型3(IP)類(lèi)型4(IP)類(lèi)型5(IP)類(lèi)型0(CS)類(lèi)型1(CS)類(lèi)型2(CS)類(lèi)型3(CS)類(lèi)型4(CS)類(lèi)型5(CS)類(lèi)型N(CS)類(lèi)型N(IP)…0000H0004H0008H000CH0010H0014H4*N類(lèi)型0的中斷向量類(lèi)型1的中斷向量類(lèi)型2的中斷向量類(lèi)型3的中斷向量類(lèi)型4的中斷向量類(lèi)型N的中斷向量(除法錯(cuò))(單步)(非屏蔽中斷)(斷點(diǎn))(溢出中斷INTO)…03FFH中斷操作步驟}}F84DHF000HINT11HMOVAL,30H中斷向量地址=11H*4=0044H中斷向量表類(lèi)型10H中斷向量類(lèi)型12H中斷向量中斷處理程序0:0040H0:0043H0:0044H0:0045H0:0046H0:0047H4DHF8H00HF0HIPCSF000:F84DHSTIPUSHDSIRET…{IP、CS、FR出棧返回?cái)帱c(diǎn),繼續(xù)執(zhí)行…13(3)硬件中斷的響應(yīng)和時(shí)序1.非屏蔽硬件中斷NMI中斷類(lèi)型號(hào)為2不受IF影響CPU收到中斷請(qǐng)求后立即響應(yīng),中斷優(yōu)先級(jí)很高用于處理系統(tǒng)重大故障,如掉電處理2.可屏蔽硬件中斷INTR受IF影響,為1時(shí)CPU響應(yīng)響應(yīng)過(guò)程和時(shí)序14可屏蔽中斷響應(yīng)過(guò)程CPU在INTR引腳接收到高電平中斷請(qǐng)求信號(hào)IF為1CPU執(zhí)行完當(dāng)前指令CPU往INTA引腳發(fā)兩個(gè)負(fù)脈沖外設(shè)收到第二個(gè)負(fù)脈沖后往DB送中斷類(lèi)型號(hào)CPU讀取中斷類(lèi)型號(hào),將其存入內(nèi)部暫存器將標(biāo)志寄存器壓入堆棧IF和TF清零斷點(diǎn)保護(hù)(將CS和IP值壓入堆棧)15可屏蔽中斷響應(yīng)過(guò)程---續(xù)根據(jù)得到的中斷類(lèi)型號(hào),在中斷向量表找到中斷向量,根據(jù)中斷向量轉(zhuǎn)入中斷處理子程序中斷處理程序完成后,從堆棧中依次彈出IP、CS和標(biāo)志寄存器的值,返回到斷點(diǎn)處。16178086的中斷響應(yīng)總線周期18(4)中斷處理子程序保護(hù)中斷現(xiàn)場(chǎng)設(shè)置中斷允許標(biāo)志IF來(lái)開(kāi)放中斷中斷處理的具體內(nèi)容恢復(fù)寄存器中斷返回指令19(5)軟件中斷①中斷類(lèi)型碼由指令提供②不執(zhí)行中斷響應(yīng)總線周期③不受中斷允許標(biāo)志IF的影響④執(zhí)行軟件中斷時(shí),對(duì)外部硬件中斷請(qǐng)求的反映類(lèi)似執(zhí)行普通程序時(shí)的反應(yīng)⑤軟件中斷沒(méi)有隨機(jī)性20

★中斷傳送方式的原理★中斷優(yōu)先級(jí)問(wèn)題的解決中斷傳送方式中斷方式輸入的接口電路R中斷傳送方式的原理可屏蔽中斷的響應(yīng)和執(zhí)行(P190)中斷優(yōu)先級(jí)問(wèn)題的解決24★

8259A的引腳信號(hào)★8259A的編程結(jié)構(gòu)和工作原理★

8259A的工作方式★

8259A的初始化命令字★

8259A的初始化流程

8259A的操作命令字★

8259A使用舉例8259A中斷控制器258259A的引腳信號(hào)方波鍵盤(pán)保留串口2

硬盤(pán)軟盤(pán)打印機(jī)WR18.2HzA1CS8259A總線A0數(shù)據(jù)線RDRDWR片選譯碼IR0IR1IR2IR3IR4IR5IR6IR7A2~A7D0~D7D0~D7VccSP/ENCAS0CAS1CAS2GND+5V用于多片8259A級(jí)連情況INTAINTINTAINTR串口1

雙列直插式芯片,28個(gè)引腳8259A的編程結(jié)構(gòu)和工作原理8259A的編程結(jié)構(gòu)和工作原理下半部分的7個(gè)寄存器分為2組4個(gè)寄存器存放初始化命令字ICW1~ICW4,在計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)由初始化程序設(shè)置。一旦設(shè)置,在系統(tǒng)工作過(guò)程中不再改變。3個(gè)寄存器存放操作命令字OCW1-OCW3,由應(yīng)用程序設(shè)定,用作中斷過(guò)程的動(dòng)態(tài)控制。8259A的編程結(jié)構(gòu)和工作原理上半部分為處理部件IRR:中斷請(qǐng)求寄存器,存儲(chǔ)外部來(lái)的中斷請(qǐng)求,與引腳IR7~IR0對(duì)應(yīng)。PR:中斷優(yōu)先級(jí)裁決器,將新進(jìn)入的中斷請(qǐng)求與正在處理的比較,決定哪個(gè)優(yōu)先級(jí)更高。ISR:當(dāng)前中斷服務(wù)寄存器:存放正在處理的中斷請(qǐng)求。8259A的編程結(jié)構(gòu)和工作原理響應(yīng)引腳的兩個(gè)負(fù)脈沖(第一個(gè))使IRR的鎖存功能失效。第二個(gè)負(fù)脈沖才使其重新有效。使ISR對(duì)應(yīng)位置1,為PR以后的工作提供依據(jù)。使IRR對(duì)應(yīng)位清0。8259A的編程結(jié)構(gòu)和工作原理響應(yīng)引腳的兩個(gè)負(fù)脈沖(第二個(gè))將中斷類(lèi)型寄存器ICW2送數(shù)據(jù)總線。如ICW4的中斷自動(dòng)結(jié)束位為1,則將當(dāng)前ISR相應(yīng)位清0。8259A

溫馨提示

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