微機(jī)接口原理第七章中斷技術(shù)_第1頁
微機(jī)接口原理第七章中斷技術(shù)_第2頁
微機(jī)接口原理第七章中斷技術(shù)_第3頁
微機(jī)接口原理第七章中斷技術(shù)_第4頁
微機(jī)接口原理第七章中斷技術(shù)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于微機(jī)接口原理第七章中斷技術(shù)第1頁,講稿共38頁,2023年5月2日,星期三輸入/輸出數(shù)據(jù)的傳輸控制方式

程序方式中斷方式DMA方式特點(diǎn):上級(jí)反復(fù)訪問特點(diǎn):下級(jí)請(qǐng)示執(zhí)行特點(diǎn):架空CPU(三種接口設(shè)計(jì)模式)第2頁,講稿共38頁,2023年5月2日,星期三3INT0INT1INT4INT3INT2斷點(diǎn)中斷溢出中斷復(fù)習(xí):第二章中斷概念部分CPU硬件中斷信號(hào)腳:第17腳非屏蔽中斷請(qǐng)求第18腳可屏蔽中斷請(qǐng)求第24腳可屏蔽中斷響應(yīng)弄清幾個(gè)概念:

1.中斷分類概念

2.中斷向量表概念

3.中斷服務(wù)子程序的執(zhí)行機(jī)制概念第3頁,講稿共38頁,2023年5月2日,星期三48086/8088的中斷系統(tǒng)注:INT0~INT4為系統(tǒng)專用中斷號(hào)第4頁,講稿共38頁,2023年5月2日,星期三5復(fù)習(xí):中斷管理表windows有API庫dos返回28第5頁,講稿共38頁,2023年5月2日,星期三6三、計(jì)算機(jī)中斷響應(yīng)過程第一步:獲得中斷類型號(hào);第二步:保護(hù)斷點(diǎn)并關(guān)中斷;第三步:從中斷向量表中提取中斷向量,轉(zhuǎn)入中斷服務(wù)程序。

關(guān)于中斷類型號(hào)的獲得,有三種情況:

1、對(duì)專用中斷(中斷號(hào)0~4),中斷類型號(hào)由CPU自動(dòng)生成;

2、對(duì)軟件中斷INTN

,中斷類型號(hào)N從指令獲得;

3、對(duì)外部可屏蔽中斷,CPU獲得中斷類型號(hào)的過程比較復(fù)雜。見下頁第6頁,講稿共38頁,2023年5月2日,星期三7

可屏蔽中斷接口必用——可編程中斷控制芯片8259A連接CPU的中斷請(qǐng)求線可擴(kuò)展8個(gè)外部中斷源

連接CPU的中斷響應(yīng)線注:其他管腳要解決:可編程的初始化問題中斷源的再擴(kuò)展問題D0~D7返回25第7頁,講稿共38頁,2023年5月2日,星期三8CPU中斷接口D0~D7中斷請(qǐng)求INTR中斷相應(yīng)INTA第一個(gè)總線周期CPU送中斷響應(yīng)信號(hào)INTA第二個(gè)總線周期中斷接口送中斷類型號(hào)●●8259AIR0IR7第8頁,講稿共38頁,2023年5月2日,星期三9四、各類中斷的優(yōu)先級(jí)注注:優(yōu)先級(jí)可以通過硬件設(shè)計(jì)實(shí)現(xiàn)也可以通過軟件設(shè)計(jì)實(shí)現(xiàn)第9頁,講稿共38頁,2023年5月2日,星期三10第三節(jié)可編程中斷控制器Intel8259A

8259A應(yīng)具備下列四項(xiàng)功能:

1、中斷請(qǐng)求端的擴(kuò)展功能

2、中斷優(yōu)先級(jí)的管理功能

3、中斷類型碼的預(yù)置和自動(dòng)上傳功能

4、可編程功能:通過程序獲得不同的工作模式[叫“可編程器件”]

第10頁,講稿共38頁,2023年5月2日,星期三11可編程中斷控制器8259A內(nèi)部結(jié)構(gòu)

返回到17頁8259A芯片引腳返回到31返回到22

返回25記錄當(dāng)前正執(zhí)行的中斷號(hào)IRi第11頁,講稿共38頁,2023年5月2日,星期三128259A的讀寫操作I/O端口地址

單板機(jī)8259A初始化命令字:ICW1、

ICW2、

ICW3、

ICW4

8259A操作命令字:OCW1、OCW2、OCW3難點(diǎn):兩個(gè)地址(一個(gè)偶地址和一個(gè)奇地址),但要寫進(jìn)這么多命令字!借助了可編程芯片的內(nèi)部邏輯管理。第12頁,講稿共38頁,2023年5月2日,星期三131.初始化命令字ICW1例:若8259A的端口地址為20H、21H,采用電平觸發(fā),單片使用,需要ICW4,請(qǐng)初始化命令字ICW1解:根據(jù)題意,ICW1=1BH,初始化程序如下:

MOV

AL,1BH

OUT

20H,AL借助于標(biāo)志位,一個(gè)地址就可存兩個(gè)命令字!決定是否有ICW3返28返18第13頁,講稿共38頁,2023年5月2日,星期三142.初始化命令字ICW2(預(yù)存中斷號(hào))例:已知原計(jì)算機(jī)系統(tǒng)中斷向量表60H以后為空,請(qǐng)?jiān)O(shè)置命令字ICW2并裝入,8259A地址為20H,21H解:ICW2的低三位000~111由8259A自動(dòng)分配給外設(shè)中斷請(qǐng)求端IR0~IR7,所以高5位應(yīng)定位01100比較合理。

初始化程序如下:MOV

AL,01100000BOUT

21H,AL;8259A地址為20H,21H

;問:MOV,AL,01100111B行嗎?返28D0~D7第14頁,講稿共38頁,2023年5月2日,星期三153.初始化命令字ICW3ICW3稱為主片/從片標(biāo)志命令字,必須寫到8259A的奇地址端口(即A0=1)中。僅在8259A級(jí)聯(lián)(ICW1中D1=0)時(shí)使用,且CPU送給主8259A和從8259A的ICW3格式是不相同的。例:一片8259A級(jí)聯(lián)8片從片,需要寫9次ICW3,

如何寫?第15頁,講稿共38頁,2023年5月2日,星期三注:1主片2從片的連接電路圖

SP/EN為主/從控制線(SP)

CAS0、CAS1、CAS2為級(jí)聯(lián)線

第16頁,講稿共38頁,2023年5月2日,星期三174.初始化命令字ICW4ICW4叫做方式控制初始化命令字,必須寫到8259A奇地址端口(A0=1)。ICW4僅在ICW1中的D0=l時(shí)才有必要設(shè)置,否則就省略不用。說明:D4位特殊指級(jí)聯(lián)時(shí)主片用“特殊”,其它都用“非特殊”。D3D2位,說明與系統(tǒng)總線是否用緩沖器(大系統(tǒng)的總線驅(qū)動(dòng))相連。D1位一般取0.為了實(shí)現(xiàn)有優(yōu)先級(jí)要求的中斷嵌套,8259A中有一個(gè)現(xiàn)行服務(wù)寄存器ISR,自動(dòng)EOI方式,即一進(jìn)入中斷,8259A即將ISR的中斷服務(wù)位ISRi請(qǐng)零,可能造成發(fā)生嵌套的優(yōu)先級(jí)混亂。除非保證不發(fā)生嵌套時(shí)才用自動(dòng)EOI方式。返28

第17頁,講稿共38頁,2023年5月2日,星期三18例:假設(shè)8259A地址為20H21H,與總線之間有緩沖器連接,非自動(dòng)結(jié)束方式,只用一片8259A,普通完全嵌套,用8088。請(qǐng)初始化ICW4解:MOVAL,00001101BOUT21H,AL第18頁,講稿共38頁,2023年5月2日,星期三194個(gè)命令字的初始化順序A0=0A0=1A0=1A0=1ICW1導(dǎo)向ICW1導(dǎo)向第19頁,講稿共38頁,2023年5月2日,星期三20例:

現(xiàn)有8086微機(jī)系統(tǒng),其中斷控制單元由單片8259A構(gòu)成。8259A的觸發(fā)方式是邊沿觸發(fā),中斷類型號(hào)為08H~0FH,非自動(dòng)結(jié)束方式,全嵌套方式,非緩沖方式。8259A的地址為0DAH和0DBH。試編寫該片8259A的初始化程序。解:第20頁,講稿共38頁,2023年5月2日,星期三21操作命令字:OCW1,OCW2,OCW3

1、中斷屏蔽命令字OCW1例:開放中斷IR0IR1IR2IR3

其它中斷請(qǐng)求端均屏蔽。假定8259A的片地址為:

20H21H

請(qǐng)初始化OCW1

解:MOVAL,0F0HOUT21H,AL返28

第21頁,講稿共38頁,2023年5月2日,星期三222.中斷模式設(shè)置命令字

OCW2說明:一般使用ICW4的非自動(dòng)EOI方式,用OCW2的普通EOI方式結(jié)束中斷服務(wù)子程序。注意:ICW4用在主程序的初始化中,而OCW2用在中斷服務(wù)子程序中使用。在子程序結(jié)束處用!

R=0為固定優(yōu)先級(jí);IR0最高R=1為輪換優(yōu)先級(jí)。例:中斷服務(wù)子程序片斷:

..MOVAL,20H;用普通EOI方式(不用設(shè)Li),OUT20H,AL;送入偶地址20H

,ISR的相應(yīng)位清零

IRET;CPU平臺(tái)上的中斷返回,恢復(fù)上層程序斷口。返回30頁注:外中斷結(jié)束前需要兩個(gè)關(guān)鍵指令:OUT20H,AL;接口片處理

IRET;計(jì)算機(jī)系統(tǒng)處理記錄著正在執(zhí)行的中斷號(hào)第22頁,講稿共38頁,2023年5月2日,星期三23返回20第23頁,講稿共38頁,2023年5月2日,星期三243、OCW3

例:編一段了解ISR狀態(tài)的程序片斷,假定8259A的地址為20H21H.

MOVAL,00001111B;普通屏蔽方式OUT20H,AL;寫OCW3NOP;此指令可有可無INAL,20H;讀ISR(注意端口A0=0)返回30頁第24頁,講稿共38頁,2023年5月2日,星期三4個(gè)命令字3個(gè)操作命令字的使用總結(jié)5.4第25頁,講稿共38頁,2023年5月2日,星期三26例:某一中斷系統(tǒng),有一片主片和兩片從片8259A,主片的要求為:特定全嵌套方式、邊沿觸發(fā)、非自動(dòng)EOI方式、非緩沖方式、中斷類型為40H;從片的要求為:全嵌套方式、邊沿觸發(fā)、非自動(dòng)EOI方式、非緩沖方式、中斷類型為60H和80H;地址:主片為FFD0H,F(xiàn)FD2H;從片分別為FFD4H,F(xiàn)FD6H和FFD8H,F(xiàn)FDAH。試編寫各8259A的初始化程序。級(jí)聯(lián)管腳第26頁,講稿共38頁,2023年5月2日,星期三ICW1ICW2ICW3ICW4第27頁,講稿共38頁,2023年5月2日,星期三28主片:ICW1:00010001B=11HICW2:40HICW3:01001000B=48HICW4:00010001B=11H從片A:ICW1:00010001B=11HICW2:60HICW3:00000011B=03HICW4:00000001B=01H從片B:ICW1:00010001B=11HICW2:80HICW3:00000110B=06HICW4:00000001B=01H三片8259A的控制字分別是:第28頁,講稿共38頁,2023年5月2日,星期三29CLI;初始化時(shí)要關(guān)中斷MOV DX,0FFD0HMOVAL,11HOUT DX,ALINC DXINC DXMOV AL,40HOUT DX,ALMOV AL,48HOUT DX,ALMOV AL,11HOUT DX,AL主片8259A的初始化程序:CLIMOV DX,0FFD4HMOVAL,11HOUT DX,ALINC DXINC DXMOV AL,60HOUT DX,ALMOV AL,3HOUT DX,ALMOV AL,01HOUT DX,AL從片A的初始化程序:CLIMOV DX,0FFD8HMOV AL,11HOUT DX,ALINC DXINC DXMOV AL,80HOUT DX,ALMOV AL,6HOUT DX,ALMOV AL,01HOUT DX,AL從片B的初始化程序:第29頁,講稿共38頁,2023年5月2日,星期三作業(yè):某一中斷系統(tǒng),有一片主片和兩片從片8259A,主片的要求為:特定全嵌套方式、電平觸發(fā)、非自動(dòng)EOI方式、緩沖方式、中斷類型為48H;從片的要求為:全嵌套方式、邊沿觸發(fā)、非自動(dòng)EOI方式、緩沖方式、中斷類型為60H和80H;地址:主片為0D0H,0D2H;從片分別為0D4H,0D6H和0D8H,0DAH。試編寫各8259A的初始化程序。第30頁,講稿共38頁,2023年5月2日,星期三31例:電腦IBM—PC/XT上使用的8259A介紹電腦IBM—PC/XT的主機(jī)板上有一個(gè)以8259A為中心組成的外部中斷控制邏輯。下表為外部中斷源的分配表。電腦在上電初始化期間,BIOS中有三段與8259A有關(guān)的程序,見下頁

返回46頁第31頁,講稿共38頁,2023年5月2日,星期三328259A初始化MOVAX,13H ;ICW1:邊沿觸發(fā)、單片8259A、要送ICW4OUT20H,AL ;8259A接口的偶地址為20HMOVAL,8 ;ICW2:裝中斷類型碼,從08H開始0UT21H,AL ;8259A接口的奇地址為21HMOVAL,9 ;裝ICW4:緩沖方式,8086/8088CPUOUT21H,ALMOVAL,0FFH;裝0CWl:屏蔽全部中斷OUT21H,AL第32頁,講稿共38頁,2023年5月2日,星期三33例:編寫中斷處理程序,要求主程序運(yùn)行時(shí),每10秒響鈴一次,同時(shí)屏幕上顯示信息“Thebellisring!”。(小自動(dòng)化程序)解:此問題的解決用VB或VC的控件很容易,但通過底層匯編語言更能看出解決問題的實(shí)質(zhì)。兩不同:前者是利用了系統(tǒng),后者是修改了系統(tǒng)!

分析:1、每10秒響鈴一次可用電腦中的定時(shí)器中斷實(shí)現(xiàn),其中斷號(hào)為08H。

2、響鈴用并行接口8255所控制的電腦揚(yáng)聲器實(shí)現(xiàn)。

3、顯示信息“Thebellisring!”用軟件中斷調(diào)用INT21H實(shí)現(xiàn)。定時(shí)中斷使用分析:電腦中定時(shí)時(shí)間為:1/18.2秒(約55ms),即每隔55ms便進(jìn)入08H號(hào)中斷服務(wù)程序中(執(zhí)行完立馬返回),此程序的主要任務(wù)是:實(shí)時(shí)修改“秒”“分”“時(shí)”“天”等參數(shù),在中斷返回之前,有一個(gè)軟件調(diào)用指令:INT1CH;在系統(tǒng)BIOS中,1CH的處理程序只有一條IRET指令,僅為用戶提供一個(gè)中斷類型號(hào)。所以可以利用中斷類型1CH設(shè)計(jì)一些動(dòng)態(tài)功能。在本例中,因?yàn)轭}目要求每10秒處理一次,而8號(hào)中斷執(zhí)行182次才夠10秒,即每中斷182次響鈴一次,同時(shí)屏幕上顯示信息“Thebellisring!”設(shè)計(jì)任務(wù):利用系統(tǒng)BIOS提供的中斷號(hào)1CH,編寫一個(gè)完成任務(wù)的中斷服務(wù)程序即可。(既編寫一段程序,程序的入口地址放入由1CH所指定的中斷表里)

在編寫程序時(shí),除了功能實(shí)現(xiàn)外,還必須做兩個(gè)方面的工作:1、在主程序初始化部分,先保存當(dāng)前中斷向量表里由1CH所指定中斷向量,再置新的中斷向量;2、在主程序結(jié)束部分恢復(fù)原保存的1CH中斷向量。第33頁,講稿共38頁,2023年5月2日,星期三34主程序1.設(shè)置定時(shí)中斷次數(shù):1822.獲得原1CH中斷號(hào)處的中斷向量并保存之。中斷服務(wù)子程序1.保護(hù)現(xiàn)場(chǎng).2.判斷定時(shí)中斷的次數(shù)是否夠

182次.不夠則中斷返回;若夠則完成下列任務(wù):(1)響鈴(2)顯示:Thebellisring

恢復(fù)現(xiàn)場(chǎng)中斷返回在1CH中斷號(hào)處創(chuàng)建新的中斷向量。設(shè)置8259A的中斷屏蔽字。在1CH中斷號(hào)處恢復(fù)原中斷向量。主程序結(jié)束。程序設(shè)計(jì)框圖每隔55ms執(zhí)行1次延時(shí)第34頁,講稿共38頁,2023年5月2日,星期三35DATASEGMENT ;數(shù)據(jù)段COUNT DW 182 ;定時(shí)次數(shù)MESS DB ‘Thebellisring!’,0AH,0DH,‘$’;顯示內(nèi)容DATAENDSSTACKSEGMENT;堆棧段DB100DUP(?)STACKENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOVDS,AXMOV AX,STACKMOV SS,AX;各段地址初始化完畢MOV AL,1CH ;得到原中斷向量

MOV AH,35HINT 21HPUSH ES ;存儲(chǔ)原中斷向量PUSH BX第35頁,講稿共38頁,2023年5月2日,星期三36MOV DX,OFFSETRING;RING的偏移地址和段地址,取出新中斷向量MOV AX,SEGRINGMOV DS,AXMOV AL,1CH ;創(chuàng)建新中斷向量MOV AH,25HINT 21HIN AL,21H ;在奇地址中取出8259A的中斷屏蔽字

溫馨提示

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