數(shù)字電路數(shù)字量輸入輸出課件_第1頁(yè)
數(shù)字電路數(shù)字量輸入輸出課件_第2頁(yè)
數(shù)字電路數(shù)字量輸入輸出課件_第3頁(yè)
數(shù)字電路數(shù)字量輸入輸出課件_第4頁(yè)
數(shù)字電路數(shù)字量輸入輸出課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(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、第5章 數(shù)字量輸入輸出5.1 概述1.I/O信號(hào)形式通常有以下4種類型:(1) 數(shù)字量: 二進(jìn)制形式的數(shù)據(jù),最小單位為“位”(bit),8位稱為一個(gè)字節(jié)(BYTE)。(2) 模擬量:(3) 開(kāi)關(guān)量: 用一位二進(jìn)制數(shù)表示。(4) 脈沖量:I/O接口的功能1) 信號(hào)的形式變換2) 電平轉(zhuǎn)換與放大3) 鎖存與緩沖(輸入口必須有三態(tài)門特性,輸出口必須有鎖存功能)4) 信息流的方向控制5) 并行與串行的轉(zhuǎn)換 2. I/O接口I/O信息的三種類型:數(shù)據(jù)、命令、狀態(tài)。傳送這三類信息的通道分別稱為:數(shù)據(jù)端口(I、O)、控制端口(O)、 狀態(tài)端口(I)。3. I/O接口的編址方式不同外設(shè)具有的端口數(shù)各不相同,計(jì)

2、算機(jī)中為每一個(gè)端口都賦予一個(gè)惟一編號(hào)稱為端口地址(或端口號(hào))。端口有兩種編址方式:統(tǒng)一編址和獨(dú)立編址。 1. 統(tǒng)一編址把外設(shè)接口與內(nèi)存統(tǒng)一進(jìn)行編址。各占據(jù)統(tǒng)一地址空間的不同部分。優(yōu)點(diǎn)指令統(tǒng)一,靈活;訪問(wèn)控制信號(hào)統(tǒng)一,使用同一組的地址/控制信號(hào)。 缺點(diǎn)內(nèi)存可用地址空間減小0地址空間(共1MB)內(nèi)存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H 2. 獨(dú)立編址外設(shè)地址空間和內(nèi)存地址空間相互獨(dú)立。優(yōu)點(diǎn):內(nèi)存地址空間不受I/O編址的影響缺點(diǎn):I/O指令功能較弱,使用不同的讀寫控制信號(hào)00000H內(nèi)存地址空間內(nèi)存空間(1MB)I/O空間(64KB)FFFFHFFFFFHI/

3、O地址空間0000H 8088/8086 CPU的I/O編址方式采用I/O獨(dú)立編址方式(但地址線與存儲(chǔ)器共用)地址線上的地址信號(hào)用 來(lái)區(qū)分: 時(shí)為I/O地址I/O操作只使用20根地址線中的16根: A15 A0可尋址的I/O端口數(shù)為64K(65536)個(gè)I/O地址范圍為0FFFFHIBM PC只使用了1024個(gè)I/O地址(03FFH)I/O控制方式 主機(jī)與外設(shè)之間數(shù)據(jù)傳送的控制方式有以下四種:直接傳送方式(無(wú)條件傳送)查詢式傳送中斷方式傳送直接存儲(chǔ)器存取(DMA, Direct Memory Access)直接傳送方式適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè)以下外設(shè)可采用無(wú)條件傳送方式:開(kāi)關(guān)發(fā)光器件(如

4、發(fā)光二極管、7段數(shù)碼管、燈泡等)繼電器步進(jìn)電機(jī)優(yōu)點(diǎn):軟件及接口硬件簡(jiǎn)單缺點(diǎn):只適用于簡(jiǎn)單外設(shè),適應(yīng)范圍較窄查詢方式傳送適用于外設(shè)并不總是準(zhǔn)備好,而且對(duì)傳送速率、傳送效率要求不高的場(chǎng)合。CPU在與外設(shè)交換數(shù)據(jù)前必須詢問(wèn)外設(shè)狀態(tài) “你準(zhǔn)備好沒(méi)有?”對(duì)外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息對(duì)接口的要求:需要提供狀態(tài)端口優(yōu)點(diǎn):軟件比較簡(jiǎn)單缺點(diǎn):CPU效率低,數(shù)據(jù)傳送的實(shí)時(shí)性差,速度較慢查詢方式的流程圖超時(shí)?READY?與外設(shè)進(jìn)行數(shù)據(jù)交換超時(shí)錯(cuò)讀入并測(cè)試外設(shè)狀態(tài)YNYN傳送完?防止死循環(huán)復(fù)位計(jì)時(shí)器NY中斷方式傳送CPU無(wú)需循環(huán)查詢外設(shè)狀態(tài),而是外部設(shè)備在需要進(jìn)行數(shù)據(jù)傳送時(shí)才中斷CPU正在進(jìn)行的工作,讓CPU來(lái)為

5、其服務(wù)。即CPU在沒(méi)有外設(shè)請(qǐng)求時(shí)可以去做更重要的事情,有請(qǐng)求時(shí)才去傳輸數(shù)據(jù),從而大大提高了CPU的利用率。優(yōu)點(diǎn):CPU效率高,實(shí)時(shí)性好,速度快。缺點(diǎn):程序編制較為復(fù)雜。DMA傳輸 前面三種I/O方式都需要CPU作為中介: 外設(shè) CPU 內(nèi)存 兩個(gè)含義:1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò)CPU執(zhí)行程序來(lái)完成的(PIO方式);2)硬件:I/O接口和存儲(chǔ)器的讀寫控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。 缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒)解決:DMA傳輸5.2 系統(tǒng)總線及接口5.2.1 概述1 總線的特性: 多信號(hào)源 被分時(shí)使用 有主設(shè)備控制2 總線的

6、分級(jí) 片內(nèi)總線 系統(tǒng)級(jí)總線 設(shè)備級(jí)總線5.2.2 系統(tǒng)總線標(biāo)準(zhǔn)(1)PCXT總線 PC/XT總線是一種開(kāi)放式結(jié)構(gòu)的計(jì)算機(jī)總線。該底板總線有62個(gè)引腳,支持8位雙向數(shù)據(jù)傳輸和20位尋址空間,有8個(gè)接地和電源引腳、25個(gè)控制信號(hào)引腳、1個(gè)保留引腳??偩€底板上有5個(gè)系統(tǒng)插槽,用于I/O設(shè)備與PC機(jī)連接。該總線的特點(diǎn)是把CPU視為總線的惟一主控設(shè)備,其余外圍設(shè)備均為從屬設(shè)備。(2)ISA總線 IBM公司在PC總線基礎(chǔ)上增加36個(gè)引腳,形成了AT總線。 即從1982年以后,逐步確立的IBM公司工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu),簡(jiǎn)稱為ISA ( Industry Standard Architecture)總線,有時(shí)也稱

7、為PC/AT總線。(3)EISA總線 為了打破IBM的壟斷,1988年9月,Compaq,AST,Epson,HP,Olivetti,NEC等9家公司聯(lián)合起來(lái),推出了一種兼容性更優(yōu)越的總線,即EISA總線。 (4) PCI總線(5) AGP總線5.2.3 總線信號(hào)與接口的連接數(shù)據(jù)信號(hào)的連接地址信號(hào)的連接:譯碼信號(hào)控制信號(hào)的連接例1、簡(jiǎn)單的輸入接口舉例常用芯片:74LS244應(yīng)用例子:開(kāi)關(guān)接口&11+5V例2、 簡(jiǎn)單的輸出接口舉例輸出端口應(yīng)具備鎖存器功能.常用芯片:74LS27374LS374(具有三態(tài)輸出的鎖存器)應(yīng)用例子:發(fā)光二極管接口.譯碼器=1=1.+5VRD0D7CPQ0Q7.D0D7

8、A0A15M/IO74LS373RWRI/O接口綜合應(yīng)用例根據(jù)開(kāi)關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號(hào)設(shè)輸出接口的地址為F0H設(shè)輸入接口地址為F1H當(dāng)開(kāi)關(guān)的狀態(tài)分別為00001111時(shí),在7段數(shù)碼管上對(duì)應(yīng)顯示0F符號(hào)形狀7段碼.gfedcba符號(hào)形狀7段碼.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001O1 I1O2 I2O3 I3O4 I4E1

9、 K0K3+5VGG2AG2BCBA174LS244D0 Q0 | Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器74LS273Rx8174LS138D0D7IOW#IOR#Y0Y1F0H = 0000 0000 1111 0000F1H = 0000 0000 1111 0001&1A7A4A15A8A3A2A1A0D0D1D2D3譯碼器I/O接口綜合應(yīng)用例 程序段Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H LEA BX, Seg7 MOV AH, 0 GO

10、:MOVDX, 0F1H INAL, DX AND AL, 0FH MOV SI, AX MOV AL, BX+SI MOV DX, 0F0H OUT DX, AL JMP GO5.3 中斷控制系統(tǒng) 5.3.1 中斷的基本概念 1. 中斷:CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過(guò)程稱為中斷。正在看書(shū)電話鈴響接電話繼續(xù)看書(shū)執(zhí)行程序事件發(fā)生事件處理繼續(xù)執(zhí)行程序中斷處理中斷請(qǐng)求及響應(yīng)實(shí)際場(chǎng)景計(jì)算機(jī)中斷返回與生活場(chǎng)景的比較引入中

11、斷的原因提高數(shù)據(jù)傳輸率;避免了CPU不斷檢測(cè)外設(shè)狀態(tài)的過(guò)程,提高了CPU的利用率。實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。2. 中斷系統(tǒng)的功能中斷請(qǐng)求中斷判優(yōu)及中斷源識(shí)別中斷響應(yīng)中斷處理(服務(wù))中斷返回5.3.2 8088的中斷系統(tǒng) 與中斷有關(guān)的控制線為:NMI、INTR、INTA8088系統(tǒng)的中斷源內(nèi)部中斷除除數(shù)為0 :類型號(hào)0,商大于目的操作數(shù)所能表達(dá)的范圍時(shí)產(chǎn)生。單步中斷:類型號(hào)1,TF=1時(shí)產(chǎn)生(當(dāng)前指令需執(zhí)行完)斷點(diǎn)中斷:類型號(hào)3,這是一個(gè)軟件中斷,即INT 3指令。溢出中斷:類型號(hào)4,這是一個(gè)軟件中斷,即INTO指令。軟件中斷:即INT n指令,類型號(hào)n(0-255)。外部中斷非屏蔽中斷NMI:

12、類型號(hào)2,不可用軟件屏蔽,CPU必須響應(yīng)它??善帘沃袛郔NTR:類型號(hào)由PIC提供。IF=1時(shí)CPU才能響應(yīng)。NMI 為邊沿請(qǐng)求INTR 為電平請(qǐng)求中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。當(dāng)有多個(gè)中斷源同時(shí)產(chǎn)生中斷申請(qǐng)時(shí),CPU先響應(yīng)優(yōu)先權(quán)最高的中斷源,再響應(yīng)優(yōu)先級(jí)較低的中斷源。8088CPU的中斷優(yōu)先權(quán)優(yōu)先級(jí) 高 低 內(nèi)中斷 ( 除零,INT 指令,斷點(diǎn),INTO指令 ) 非屏蔽中斷 可屏蔽中斷 低 內(nèi)中斷( 單步 ) 中斷源的識(shí)別8088系統(tǒng)采用中斷類型碼來(lái)識(shí)別不同的中斷源,每個(gè)中斷源都有一個(gè)與它相對(duì)應(yīng)的中斷類型碼 。溢出、斷點(diǎn)、除數(shù)為0、單步、非屏蔽

13、中斷的類型碼為固定值軟件中斷的類型碼由指令給出可屏蔽中斷的類型碼由可編程中斷控制器8259給出中斷向量表(IVT) 存放各類中斷的中斷服務(wù)程序的入口地址(段和偏移)中斷向量 表的地址位于內(nèi)存的00000H003FFH,大小為1KB,共256個(gè)中斷向量每個(gè)中斷向量占用4 Bytes,低字為段內(nèi)偏移,高字為段基址根據(jù)中斷類型號(hào)獲得中斷服務(wù)程序入口的方法: (n為中斷類型號(hào))中斷向量在IVT中的存放地址4n中斷向量表的初始化初始化將中斷服務(wù)程序的入口地址放入向量表 例:中斷類型碼為48H的中斷處理子程序的名字為int 48h,編寫程序段將該中斷處理子程序的入口地址放入向量表。中斷向量表的初始化 CL

14、I MOV AX,0 MOV DS,AX MOV SI,48H*4 MOV AX,OFFSET int48h MOV SI,AX MOV AX,SEG int48h MOV SI+2,AX STI8086/8088 CPU的中斷響應(yīng)過(guò)程 內(nèi)部中斷響應(yīng)過(guò)程 無(wú)INTA周期中斷類型碼固定或由指令給出響應(yīng)過(guò)程主要步驟: PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入IP和CS中斷響應(yīng)過(guò)程(續(xù))外部中斷響應(yīng)過(guò)程非屏蔽中斷,與內(nèi)部中斷響應(yīng)過(guò)程類似 可屏蔽中斷 INTA(1),中斷控制器進(jìn)行優(yōu)先級(jí)排隊(duì)判優(yōu)處理 INTA(2),中斷控制器把中斷類型碼放到DB上,CPU讀入 PU

15、SH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入IP和CS與內(nèi)部中斷一樣中斷處理中斷服務(wù)子程序的特點(diǎn):為“遠(yuǎn)過(guò)程”用IRET指令返回保護(hù)現(xiàn)場(chǎng)開(kāi)中斷(STI)中斷處理關(guān)中斷(CLI)恢復(fù)現(xiàn)場(chǎng)中斷返回中斷服務(wù)子程序完成的工作中斷返回執(zhí)行中斷返回指令I(lǐng)RETIRET指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服務(wù)程序時(shí)中斷返回后NYNYNNNNNYY執(zhí)行指令執(zhí)行完否?取指令I(lǐng)F=1?內(nèi)部中斷?N

16、MI?INTR?TF=1?類型碼=0255類型碼=2類型碼=1中斷響應(yīng),讀回類型碼FLAG入棧TEMPTFTF=TF=0CS、IP入棧計(jì)算向量表地址高字CS低字IP執(zhí)行中斷服務(wù)程序NMI?TEMP=1?轉(zhuǎn)入中斷服務(wù)程序恢復(fù)CS和IP恢復(fù)FLAGS返回被中斷的程序YYYYNIRET指令的操作8086/8088的中斷處理流程5.3.3 可編程中斷控制器8259A可對(duì)8個(gè)中斷源實(shí)現(xiàn)優(yōu)先級(jí)控制 可擴(kuò)展至對(duì)64個(gè)中斷源實(shí)現(xiàn)優(yōu)先級(jí)控制 可編程設(shè)置不同工作方式根據(jù)中斷源向x86提供不同中斷類型碼引腳分配及功能見(jiàn)教材圖1. 數(shù)據(jù)總線緩沖器一個(gè)雙向8位3態(tài)緩沖器,是8259A與CPU之間的數(shù)據(jù)接口。讀/寫控制電

17、路A0:端口選擇,輸入。 CS:片選信號(hào),輸入。WR:寫信號(hào)輸入。 RD:讀信號(hào),輸入。級(jí)聯(lián)緩沖/比較器 多片8259A級(jí)聯(lián)使用,構(gòu)成主從關(guān)系。 對(duì)于主8259A,級(jí)聯(lián)信號(hào)CAS2CAS0是輸出信號(hào)。 對(duì)于從8259A,CAS2CAS0是輸入信號(hào)。一、8259A的內(nèi)部結(jié)構(gòu)中斷請(qǐng)求寄存器IRR(8位寄存器) 存放由外部輸入的中斷請(qǐng)求信號(hào)IR7IR0,當(dāng)某一個(gè)IRi端呈現(xiàn)高電平時(shí),該寄存器的相應(yīng)位置“1”。中斷服務(wù)寄存器ISR(8位寄存器) 當(dāng)任何一級(jí)中斷被響應(yīng),CPU正在執(zhí)行它的中斷服務(wù)程序時(shí),ISR寄存器中相應(yīng)位置“1”,一直保持到該級(jí)中斷處理過(guò)程結(jié)束為止。中斷屏蔽寄存器IMR(8位寄存器)

18、當(dāng)該寄存器中某一位置“1”時(shí),表示禁止這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng)。7. 優(yōu)先權(quán)判別器PR (8位寄存器)用來(lái)識(shí)別各中斷請(qǐng)求信號(hào)的優(yōu)先級(jí)別??刂齐娐废駽PU發(fā)出中斷請(qǐng)求信號(hào)INT接收來(lái)自CPU的中斷響應(yīng)信號(hào)INTA8259A的工作過(guò)程8259A對(duì)中斷請(qǐng)求的處理過(guò)程如下:當(dāng)某IRi有效時(shí),IRR相應(yīng)位置1若有效的IRi未被屏蔽,則向CPU發(fā)出中斷請(qǐng)求檢測(cè)到第1個(gè)INTA#信號(hào)后,置ISRi=1,IRRi=0 檢測(cè)到第2個(gè)INTA#信號(hào)后,把ISRi=1中最高優(yōu)先級(jí)的中斷類型碼放到DB上若工作在AEOI方式,在第2個(gè)INTA#結(jié)束時(shí),使ISRi復(fù)位;否則由CPU發(fā)出EOI命令使ISRi復(fù)位二、8259A

19、芯片的工作方式8259A有兩種中斷觸發(fā)方式:電平觸發(fā)方式和邊沿觸發(fā)方式電平觸發(fā)方式:從IR7IR0輸入的有效信號(hào)應(yīng)為高電平( IRi信號(hào)應(yīng)保持有效到響應(yīng)它的第一個(gè)INTA信號(hào)的前沿,確保響應(yīng)該中斷;但是也不允許太長(zhǎng),避免出現(xiàn)重復(fù)中斷現(xiàn)象。)邊沿觸發(fā)方式:IRi端上出現(xiàn)由低電平到高電平的正跳變時(shí),表示中斷請(qǐng)求信號(hào)有效,最好用負(fù)脈沖的后沿來(lái)實(shí)現(xiàn)。8259A優(yōu)先權(quán)級(jí)管理方式:優(yōu)先權(quán)級(jí)別固定分配和循環(huán)設(shè)置??筛爬橥耆短追绞健⒆詣?dòng)循環(huán)方式和中斷屏蔽方式。完全嵌套方式固定的中斷級(jí)別:IR0具有最高優(yōu)先級(jí),IR7具有最低優(yōu)先級(jí)。最大的中斷嵌套深度為8。1.要求堆棧的容量比較大2.CPU每響應(yīng)一次中斷進(jìn)入

20、中斷服務(wù)程序后,應(yīng)安排開(kāi)中斷指令(STI)將IF標(biāo)志位置“1”。3.中斷處理完畢,CPU應(yīng)向8259A回送結(jié)束命令(EOI)。(1) 普通EOI方式: 8259A收到EOI命令后,自動(dòng)將ISR寄存器中級(jí)別最高的置“1”位清“0”。(2) 特殊EOI方式: 8259A收到EOI命令后, 8259A將ISR寄存器中指定級(jí)別的相應(yīng)位清“0”。(3) 自動(dòng)EOI方式: 任何一級(jí)中斷被響應(yīng)后,ISR寄存器中相應(yīng)位置“1”,CPU將進(jìn)入中斷響應(yīng)總線周期,在第2個(gè)中斷響應(yīng)信號(hào)(INTA)結(jié)束時(shí),自動(dòng)將ISR寄存器中相應(yīng)位清“0”。有可能出現(xiàn)低級(jí)中斷打斷高級(jí)中斷或同級(jí)中斷相互打斷的不合理現(xiàn)象。CPU響應(yīng)中斷進(jìn)

21、入中斷服務(wù)程序,將相應(yīng)的ISR寄存器置位。自動(dòng)循環(huán)方式其基本思想是:每當(dāng)任何一級(jí)中斷被處理完,它的優(yōu)先級(jí)別就被改變?yōu)樽畹图?jí),而將最高優(yōu)先級(jí)賦給原來(lái)比它低一級(jí)的中斷請(qǐng)求。普通EOI循環(huán)方式: 當(dāng)任何一級(jí)中斷被處理完后,CPU給8259A回送普通EOI命令,8259A接收到這一命令后將ISR寄存器中優(yōu)先級(jí)最高的置“1”位清“0”,并賦給它最低優(yōu)先級(jí),而將最高優(yōu)先級(jí)賦給原來(lái)比它低一級(jí)的中斷請(qǐng)求,其他中斷請(qǐng)求的優(yōu)先級(jí)別以循環(huán)方式類推。(2) 自動(dòng)EOI循環(huán)方式:任何一級(jí)中斷響應(yīng)后,在中斷響應(yīng)總線周期中,由第2個(gè)中斷響應(yīng)信號(hào) INTA 的后沿自動(dòng)將ISR寄存器中相應(yīng)位清“0”,并立即改變各級(jí)中斷的優(yōu)先級(jí)

22、別。(3) 特殊EOI循環(huán)方式:用戶可在主程序或中斷服務(wù)程序中利用置位優(yōu)先權(quán)命令把最低優(yōu)先級(jí)賦給某一中斷源IRi,于是最高優(yōu)先級(jí)便賦給IRi+1,其他各級(jí)按循環(huán)方式類推。必須使用特殊EOI方式,3. 中斷屏蔽方式清除中斷標(biāo)志指令(CLI),將中斷標(biāo)志位清“0”,CPU將禁止所有可屏蔽中斷請(qǐng)求。(1) 普通屏蔽方式: 將中斷屏蔽寄存器IMR中的某一位或某幾位置“1”,即可將相應(yīng)級(jí)的中斷請(qǐng)求屏蔽掉。(2) 特殊屏蔽方式: 當(dāng)CPU正在處理某級(jí)中斷時(shí),要求僅對(duì)本級(jí)中斷進(jìn)行屏蔽,而允許其他優(yōu)先級(jí)比它高或低的中斷進(jìn)入系統(tǒng)。三、8259A芯片的控制字及其工作方式8259A包含兩個(gè)內(nèi)部端口地址,一個(gè)偶地址端

23、口(A0=0),一個(gè)奇地址端口(A01)。1) 初始化編程由CPU向8259A送初始化命令字ICW,使其處于準(zhǔn)備就緒狀態(tài)。2) 工作方式編程由CPU向8259A送工作命令字OCW以規(guī)定8259A的工作方式。1. 8259A的初始化編程ICW1 芯片控制ICW2 中斷類型號(hào)ICW3 主從片關(guān)系ICW4 方式控制1) 寫初始化命令字ICW1芯片控制字A0D7D6D5D4D3D2D1D00 x x x 1LTIMx SNGLIC4LTIM: 觸發(fā)方式=1 高電平觸發(fā)=0 上升沿觸發(fā)SNGL: 級(jí)連控制=1 單片=0 級(jí)連IC4: ICW4控制=1 要寫ICW4=0 不寫ICW4(默認(rèn)ICW4為全0)

24、2) 寫初始化命令字ICW2中斷類型控制字A0D7D6D5D4D3D2D1D01T7 T6 T5 T4T3x xxT7T3: 中斷向量碼的高5位T2T0: 最低3位為中斷源的序號(hào)IRn 000111分別對(duì)應(yīng)IR0IR7由8259A根據(jù)中斷源的序號(hào)自動(dòng)填入 例如:若ICW2命令字為48H,則IR0的中斷向量碼為48H,IR7的中斷向量碼為4FH,等等。3) 寫初始化命令字ICW3級(jí)聯(lián)控制字特征:ICW1的D1=0時(shí),才需要ICW3。A0D7D6D5D4D3D2D1D01S7 S6 S5 S4S3S2S1S0主片的級(jí)聯(lián)控制字 Si=1 對(duì)應(yīng)IRi線上連接了從片 A0D7D6D5D4D3D2D1D0

25、10 0 000ID2ID1ID0從片的級(jí)聯(lián)控制字 ID2ID0 標(biāo)識(shí)碼,說(shuō)明本從片連接到主片的哪個(gè)IR引腳上。 000111分別對(duì)應(yīng)IR0IR7。ICW3必須與主從片的連接關(guān)系一致: 例如,主片的IR4與從片的INT線連接,則主片的ICW3=10H,從片的ICW3=04H。4) ICW4方式控制字特征:ICW1的D0=1時(shí),需要寫入ICW4A0D7D6D5D4D3D2D1D0100 0 SFNMBUFM/SAEOI1SFNM: 特殊嵌套1 特殊嵌套方式0 一般嵌套方式AEOI: 規(guī)定中斷結(jié)束的方式,即ISRi是否有自動(dòng)復(fù)位功能1 自動(dòng)EOI方式0 非自動(dòng)EOI方式BUF: 緩沖方式 M/S:

26、 主/從緩沖選擇BUF M/S 1 1 緩沖方式/主PIC 1 0 緩沖方式/從PIC 0 x 非緩沖方式/正常寫ICW1(偶地址)寫ICW2(奇地址)級(jí)聯(lián)?寫ICW3(奇地址)需ICW4?寫ICW4(奇地址)NNYY當(dāng)8088系統(tǒng)中8259A單級(jí)使用,其端口地址為80H和81H,可用下面的初始化程序段來(lái)寫入預(yù)置命令字ICW1ICW4:MOV AL,13H定義ICW1OUT 80H,AL;MOV AL,18H定義ICW2OUT 81H,AL;MOV AL,01H定義ICW4OUT 81H,AL;8級(jí)中斷的中斷類型碼為18H1FH。2. 8259A的操作命令字OCW 1. OCW1中斷屏蔽字(奇

27、地址)A0D7D6D5D4D3D2D1D01M7M6M5 M4M3M2M1M0Mi =1 中斷請(qǐng)求線IRi被屏蔽(不允許中斷) =0 允許該IRi中斷 OCW1將寫入IMR寄存器。A0=1時(shí)讀OCW1可讀出設(shè)置的IMR內(nèi)容。2. OCW2中斷結(jié)束和優(yōu)先級(jí)循環(huán) (偶地址)功能:設(shè)置中斷優(yōu)先級(jí)的循環(huán)方式和發(fā)出EOI命令。A0D7D6D5D4D3D2D1D00RSLEOI 00L2L1L0L2L0: 優(yōu)先級(jí)編碼R: 優(yōu)先級(jí)是否自動(dòng)循環(huán) =1,優(yōu)先級(jí)循環(huán) =0,非循環(huán)方式SL: 是否指定優(yōu)先級(jí) =1,L0L2有效 =0,L0L2無(wú)效 EOI: 結(jié)束中斷命令R,SL,EOI的不同組合決定8259A的工作

28、方式L2L1L0:在優(yōu)先級(jí)循環(huán)方式下,指出循環(huán)開(kāi)始時(shí)最低優(yōu)先級(jí)編碼;在設(shè)置中斷命令結(jié)束時(shí),指明要清除當(dāng)前ISR中的那一位。3. OCW3屏蔽方式和讀出控制字(偶地址)A0D7D6D5D4D3D2D1D000ESMMSMM 01PRRRISESMM: 允許使能特殊屏蔽方式SMM: 特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位1 0 特殊屏蔽方式復(fù)位0 x 非特殊屏蔽方式P(Polling): =1 查詢方式 =0 非查詢方式讀狀態(tài)字:偶地址RR: 讀寄存器RIS: ISR/IRR選擇RR RIS1 1 讀ISR1 0 讀IRR0 x 無(wú)效讀偶地址A0D7D6D5D4D3D2D1D00Ix

29、x xxW2W1W08259A內(nèi)部寄存器的尋址方法需要CS#、A0、RD#、WR#和D4、D3的配合A0D4D3RD#WR#CS#操作01*001100讀出IRR、ISR讀出IMR0001001*01*111100000000寫OCW2寫OCW3寫ICW1順序?qū)慖CW2,ICW3,ICW4,OCW1*1*1*01無(wú)操作斷開(kāi)四、8259A芯片的級(jí)聯(lián)使用一片8259A芯片只能管理8級(jí)中斷,在多于8級(jí)中斷的系統(tǒng)中,必須將多片8259A級(jí)聯(lián)使用。最簡(jiǎn)單的級(jí)聯(lián)方式為兩級(jí),兩級(jí)級(jí)聯(lián)可管理的中斷源最多為64級(jí)。優(yōu)先級(jí)管理:完全嵌套方式:2從8259A引入的中斷請(qǐng)求優(yōu)先級(jí)別高于1從8259A引入的中斷請(qǐng)求。1

30、從8259A的IR0端接收到一個(gè)新的中斷請(qǐng)求時(shí),應(yīng)該允許IR0中斷請(qǐng)求進(jìn)入,將從8259AISR寄存器中第0位置“1”,向主8259A的IR6端再次發(fā)出請(qǐng)求。1從8259A的IR7端接收到一個(gè)中斷請(qǐng)求,從ISR寄存器中第7位置“1”,向主8259A的IR6端發(fā)出請(qǐng)求,主8259A中ISR寄存器的第6位置“1”。 但這時(shí)由于主8259A中ISR寄存器的第6位早已置“1”,不允許這一級(jí)中斷再進(jìn)入。顯然是不合理。特殊完全嵌套方式:能有效的解決以上問(wèn)題在級(jí)聯(lián)方式下主8259A初始化時(shí),應(yīng)定義為特殊完全嵌套方式。當(dāng)從8259A引入的中斷處理過(guò)程結(jié)束時(shí),CPU應(yīng)能送出兩個(gè)EOI結(jié)束命令:一個(gè)送給主8259

31、A,用來(lái)將主8259A中的ISR寄存器的相應(yīng)位清“0”;另一個(gè)送給從8259A,用來(lái)將從8259A中的ISR寄存器相應(yīng)位清“0”,才標(biāo)志一次中斷處理過(guò)程的結(jié)束。5.3.3 8259的應(yīng)用接線:見(jiàn) P305各寄存器的讀寫地址 寫入 20H: ICW1 , OCW2, OCW3 21H: ICW2 , ICW3 , ICW4 , OCW1 讀取 20H: IRR, ISR, 狀態(tài)字 21H: IMR1 初始化編程例1 在IBM PC/XT機(jī)中,只有一片8259A,其端口地址為20H,21H對(duì)8259A的初始化規(guī)定:邊沿觸發(fā),緩沖方式,中斷結(jié)束為EOI方式,中斷優(yōu)先權(quán)管理采用全嵌套方式;8級(jí)中斷源類型碼為08H0FH,允許時(shí)鐘、鍵盤、異步通信卡中斷。ICW1=0001 0011B=13H 芯片控制字ICW2=0000 1000B=08H 中斷類型控制字ICW4=0000 1001B=09

溫馨提示

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