同濟(jì)大學(xué)微機(jī)原理期末復(fù)習(xí)_第1頁
同濟(jì)大學(xué)微機(jī)原理期末復(fù)習(xí)_第2頁
同濟(jì)大學(xué)微機(jī)原理期末復(fù)習(xí)_第3頁
同濟(jì)大學(xué)微機(jī)原理期末復(fù)習(xí)_第4頁
同濟(jì)大學(xué)微機(jī)原理期末復(fù)習(xí)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、把ICW1234幾個值取值代表什么抄在空白處第二章:1.8086引腳功能:S6恒為0,表示CPU當(dāng)前與總線相連。 S5表示中斷允許標(biāo)志IF的當(dāng)前設(shè)置。 S4、S3合起來指出當(dāng)前正在使用哪個段寄存器。AD15AD0地址/數(shù)據(jù)復(fù)用引腳(雙向,三態(tài)) ,T1傳地址,T234傳數(shù)據(jù),8088不復(fù)用,只傳送數(shù)據(jù)。在總線周期的T1狀態(tài),在/BHE/S7引腳輸出/BHE信號,表示高8位數(shù)據(jù)線AD15AD8上的數(shù)據(jù)有效;在T2、T3、T4、及Tw狀態(tài),/BHE/S7引腳輸出狀態(tài)信號S7。INTR可屏蔽中斷請求信號(輸入) 可屏蔽中斷請求信號,這是一個電平觸發(fā)輸入信號,高電平有效。CPU在每一個指令周期的最后一

2、個T狀態(tài)采樣這條引腳,如INTR有效,IF=1開中斷,則CPU執(zhí)行完當(dāng)前指令響應(yīng)中斷,進(jìn)入中斷響應(yīng)周期。這引腳上的請求信號,可以用軟件復(fù)位內(nèi)部的中斷允許位(IF)來加以屏蔽。NMI非屏蔽中斷請求信號(輸入) 非屏蔽中斷輸入信號(Non Maskable Interrupt),這是一個邊沿(上升沿)觸發(fā)信號。這條線上的中斷請求信號不能用軟件(IF)來加以屏蔽,所以這條線上由低到高的變化,就在當(dāng)前指令結(jié)束以后引起中斷。/RD讀信號(輸出,三態(tài)) 讀選通信號,低電平有效。當(dāng)其有效時,表示正在進(jìn)行存儲器讀或IO讀。在DMA方式時,此線浮空。READY準(zhǔn)備就緒信號(輸入) 這是從所尋址的存儲器或IO設(shè)備

3、來的響應(yīng)信號,高電平有效。當(dāng)其有效時,將完成數(shù)據(jù)傳送。CPU在T3周期的開始采樣READY線,若其為低,則在T3周期結(jié)束以后,插入TW周期,直至READY變?yōu)橛行?,則在此TW周期結(jié)束以后,進(jìn)入T4周期,完成數(shù)據(jù)傳送。/TEST測試信號(輸入) 這個輸入信號是和“WAIT”指令結(jié)合起來使用。CPU在執(zhí)行WAIT指令后,CPU處于等待狀態(tài),當(dāng)TEST輸入腳有效(低電平有效),則CPU結(jié)束等待狀態(tài),繼續(xù)執(zhí)行WAIT指令后的指令。MN/MX最小/最大模式信號(輸入) 這個輸入信號決定了CPU的工作模式,MN/MX為高電平(5V)CPU處于最小模式,為低電平(0V)CPU處于最大模式。/INTA中斷響應(yīng)

4、信號(輸出,三態(tài)) 當(dāng)CPU響應(yīng)外設(shè)中斷請求時,發(fā)出兩個連續(xù)的/INTA。ALE地址鎖存允許信號(輸出) 是CPU提供給地址鎖存器(8282)的控制信號,有效時,將AD上的地址打入鎖存器。/DEN數(shù)據(jù)允許信號(輸出,三態(tài)) 當(dāng)CPU發(fā)出數(shù)據(jù)允許信號作為數(shù)據(jù)總線收發(fā)器(8286)的數(shù)據(jù)輸出允許信號。DT/R數(shù)據(jù)發(fā)送/接收信號(輸出,三態(tài)) 該信號用于控制數(shù)據(jù)總線收發(fā)器數(shù)據(jù)的傳送方向,高電平時,CPU向內(nèi)存或I/O端口寫數(shù)據(jù),低電平時,CPU從內(nèi)存或I/O端口讀入數(shù)據(jù)。IO/M輸入輸出/存儲器控制信號(輸出,三態(tài),8088) 當(dāng)為高電平時,表示CPU正與I/O端口進(jìn)行數(shù)據(jù)傳送,為低電平時,表示CP

5、U正與內(nèi)存進(jìn)行數(shù)據(jù)傳送(見下表)/SS0系統(tǒng)狀態(tài)信號(輸出,三態(tài),8088) 該信號與DT/R、IO/M信號的組合,表示對應(yīng)的操作。/WR寫信號(輸出,三態(tài)) 有效時,表示CPU正對I/O端口或內(nèi)存進(jìn)行數(shù)據(jù)寫入。HOLD總線請求信號(輸入) 當(dāng)CPU以外的總線設(shè)備要使用總線時,通過該引腳向CPU發(fā)一個信號。HLDA總線響應(yīng)信號(輸出) 當(dāng)CPU接收到HOLD后,通過該引腳向發(fā)HOLD設(shè)備發(fā)出HLDA,表示CPU已讓出總線控制權(quán),發(fā) HOLD的設(shè)備可獲總線的控制權(quán)。/LOCK總線封鎖信號(輸出,三態(tài)) 低電平有效,當(dāng)其有效時,別的總線主設(shè)備不能獲得對系統(tǒng)總線的控制。/LOCK信號由前綴指令“LO

6、CK”使其有效,且在本指令完成以前保持有效。當(dāng)CPU處在DMA響應(yīng)狀態(tài)時,此線浮空。/RQ/GT0,/RQ/GT1(雙向) 這些請求允許(RequestGrant)腳,是由外部的總線主設(shè)備請求總線并促使CPU在當(dāng)前總線周期結(jié)束后讓出總線用的。每一個腳是雙向的,/RQ相當(dāng)于HOLD,/GT相當(dāng)于HLDA。GT0比GT1有更高的優(yōu)先權(quán)。這些線的內(nèi)部有一個上拉電阻,所以允許這些引腳不連接。2.最大模式,最小模式最小模式 整個系統(tǒng)中只有一個微處理器,如8086/8088,所有控制信號直接由CPU產(chǎn)生。最大模式 整個系統(tǒng)中有兩個或兩個以上微處理器,除了有CPU外,還有協(xié)處理器8087,輸入輸出處理器80

7、89等,所有總線控制信號由8288產(chǎn)生。工作在最大模式下的CPU必須使用8288總線控制器來提供控制信號,這些控制信號取代在最小模式中的/WR、ALE、IO/M、DT/R、/DEN和/INTA。3.協(xié)處理器8087和CPU的連接8087除了MN/MX、LOCK、/RD、NMI四個引腳未用外,其它引腳意義同CPU。(1)8087通過監(jiān)視CPU的S2、S1、S0,當(dāng)CPU進(jìn)入取指周期(即CPU從內(nèi)存中取指令),8087同時從總線上讀取指令放入自己的指令隊(duì)列,保持自己的指令隊(duì)列中的指令與CPU中的指令隊(duì)列中的指令一致。 同時,8087還監(jiān)測CPU的隊(duì)列狀態(tài)線QS1、QS0,了解CPU的當(dāng)前隊(duì)列工作情

8、況。8087指令的操作數(shù)有二種形式,在8087的堆棧中或在存儲器中。 在堆棧中,直接執(zhí)行指令。 在存儲器中,從存儲器讀數(shù)據(jù)由CPU負(fù)責(zé),當(dāng)CPU判斷出需要從存儲器中讀數(shù)據(jù)時,CPU根據(jù)有效地址進(jìn)行一次“假(虛)讀”,即CPU給出地址和讀信號,將數(shù)據(jù)從存儲器中讀到數(shù)據(jù)總線上,但CPU不從數(shù)據(jù)總線上取數(shù)據(jù),而由8087從總線上讀取數(shù)據(jù),如數(shù)據(jù)一次讀不完,8087通過RQ/GT申請總線使用權(quán),繼續(xù)讀取數(shù)據(jù)的剩余字節(jié)。 當(dāng)8087 存數(shù)據(jù)操作時,再控制總線把數(shù)據(jù)寫入由CPU確定的內(nèi)存單元中。 (2)當(dāng)8087執(zhí)行指令時,BUSY信號有效,使CPU的/TEST無效,CPU自動執(zhí)行WAIT指令,CPU每5

9、個T(時鐘周期)測試一次/TEST,如/TEST無效CPU再等待。一旦8087指令執(zhí)行完,BUSY無效,使/TEST有效,CPU脫離WAIT狀態(tài),繼續(xù)取下一條指令執(zhí)行。(3)8087中斷請求線INT與CPU的非屏蔽中斷NMI連在一起,當(dāng)8087 運(yùn)算過程中出現(xiàn)錯誤時,通過INT向CPU發(fā)出中斷請求,轉(zhuǎn)入錯誤處理程序。4.80286存儲器管理系統(tǒng)(1) 實(shí)地址管理模式 在實(shí)地址方式下,80286的24根地址線A23-A0,只有20根有效,A19-A0,物理地址計算與8086完全相同。(2) 保護(hù)虛擬地址方式 在保護(hù)虛擬地址方式下,24根地址線全有效,訪問16MB的物理空間,可管理1GB的虛擬存儲

10、空間。 在保護(hù)虛擬地址方式下,段寄存器的值不再直接提供段的基值,而是提供一個描述符在描述符表中的位置,從而找到描述符,在描述符中,放著段的基地址,再加偏移量的實(shí)際物理地址。描述符用于實(shí)現(xiàn)虛擬地址到實(shí)地址的變換。 描述符分為三類: 一般段描述符(代碼/數(shù)據(jù)段描述符) 系統(tǒng)控制描述符(特殊段描述符) 門描述符(控制轉(zhuǎn)移描述符)一般段描述符(代碼/數(shù)據(jù)段描述符)包括代碼段描述符和數(shù)據(jù)段描述符。 功能:給出訪問數(shù)據(jù)、堆棧和代碼段的有關(guān)地址和訪問特權(quán)。 系統(tǒng)控制描述符(特殊段描述符)包括局部描述符LDT和任務(wù)段描述符TSS。 功能:提供系統(tǒng)中每個任務(wù)的狀態(tài)段TSS和局部描述符表LDT。門描述符(控制轉(zhuǎn)移

11、描述符)包括任務(wù)門、調(diào)用門、中斷門、陷阱門描述符。功能:在調(diào)用門、中斷門和陷阱門中,門描述符給出了目標(biāo)代碼段的描述符,再根據(jù)代碼段描述符轉(zhuǎn)入目標(biāo)地址。 在任務(wù)門中給出目的描述符TSS,完成任務(wù)切換。系統(tǒng)一共有3個描述符表。 GDT(Global Descriptor Table):全局描述符表 LDT(Local Descriptor Table):局部描述符表 IDT(Interrupt Descriptor Table):中斷描述符表系統(tǒng)一共有3個描述符表寄存器GDTR、LDTR、IDTR,分別對應(yīng)了GDT、LDT和IDT。 描述符表寄存器:用于存放描述符表在內(nèi)存地址及表的長度。5.803

12、86介紹80386是第一個32位微處理器,采用132引腳的柵狀陣列封裝(PGA),其中34根地址線(A31A2、/BE3/BE0 ),32根數(shù)據(jù)線(D31D0),3根中斷線,1根時鐘線,13根控制線,20根電源線VCC,21根地線Vss,還有8根為空,其內(nèi)部寄存器和操作數(shù)都是32位的。三種工作方式:實(shí)地址方式、虛地址保護(hù)方式及虛擬8086方式。 實(shí)地址方式-80386就是一個高速的8086/8088CPU。 虛地址保護(hù)方式-可尋址4GB內(nèi)存物理地址及64TB的虛擬地址空間,存儲器按段組織,每段最大4GB。 虛擬8086方式-即可運(yùn)行8086的應(yīng)用程序,也可運(yùn)行80386應(yīng)用程序。第三章:1.

13、T1:輸出地址;T2T3:傳送數(shù)據(jù);Tw:等待內(nèi)存或者IO的響應(yīng);2.PPT P7,書P145第四章:1. 半導(dǎo)體存儲器分類:半導(dǎo)體存儲器從使用功能上劃分,可分為兩類: 讀寫存儲器RAM(Random Access Memory)又稱為隨機(jī)存取存儲器;只讀存儲器ROM(Read Only Memory)。RAM主要用來存放各種現(xiàn)場的輸入輸出數(shù)據(jù)、中間計算結(jié)果、與外存交換的信息以及作為堆棧使用,它的存儲單元的內(nèi)容按照需要既可以讀出,也可以寫入或改寫。而ROM的信息在使用時是不能改變的,也就是不可寫入的,它只能讀出,故一般用來存放固定的程序,如微型計算機(jī)的引導(dǎo)程序、監(jiān)控程序等。在RAM中又可分為雙

14、極型和MOS RAM。雙極型RAM主要用于cache;MOS RAM主要作為主存。在ROM中可分為掩模ROM,可編程只讀存儲器ROM,可編程可擦去只讀存儲器EPROM。RAM與CPU的連接,主要有以下三個部分: (1) 地址線的連接;(2) 數(shù)據(jù)線的連接;(3) 控制線的連接。2.RAM片內(nèi)譯碼方式:地址譯碼有兩種方式: 一種是單譯碼方式或稱字結(jié)構(gòu),適用于小容量存儲器中;另一種是雙譯碼,或稱復(fù)合譯碼結(jié)構(gòu)。3.存儲器與CPU的連接:(1) 地址線的連接; (2) 數(shù)據(jù)線的連接; (3) 控制線的連接。連接中考慮的問題:(1) CPU總線的負(fù)載能力(2) CPU的時序和存儲器的存取速度之間的配合問

15、題(3) 存儲器的地址分配和選片問題4.片選信號的產(chǎn)生,3種譯碼方法:(1)全譯碼法 全譯碼法就是將高位的地址(A19-A16)全部進(jìn)行譯碼,經(jīng)過譯碼器的輸出作為存儲芯片的片選信號,而低位地址(A15-A0)作為存儲芯片內(nèi)單元選擇(片內(nèi)地址)。(2)部分譯碼法 部分譯碼法就是將高位的地址(A17-A16)不全部進(jìn)行譯碼,只取部分地址線送譯碼器譯碼,經(jīng)過譯碼器的輸出作為存儲芯片的片選信號,而低位地址(A15-A0)作為存儲芯片內(nèi)單元選擇(片內(nèi)地址)。(3)線譯碼法 將高位的地址某一位地址線(A17選一片,A18選一片)直接作為存儲芯片的片選信號,不經(jīng)過譯碼器譯碼,而低位地址(A15-A0)作為存

16、儲芯片內(nèi)單元選擇(片內(nèi)地址)。5.存儲器的擴(kuò)展:第六章:1.端口編址:統(tǒng)一編址方式:將外設(shè)端口地址和存儲器編址在一個地址空間中,優(yōu)點(diǎn): (1) CPU對外設(shè)的操作可使用全部的存儲器操作指令,故指令多,使用方便。(2) 內(nèi)存和外設(shè)的地址分布圖是同一個。 (3) 不需要專門的輸入輸出指令以及區(qū)分是存儲器還是I/O操作的控制信號。缺點(diǎn): (1) 外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減小。 (2) 程序不易讀。獨(dú)立編址方式:內(nèi)存地址和I/O地址分開編址。優(yōu)點(diǎn): (1) CPU對外設(shè)的操作要通過專用的I/O指令。 (2) 程序易讀。 (3) 不占用內(nèi)存空間。 缺點(diǎn): (1) 編程靈活性差。 (2) 需要專用的

17、I/O指令。2.IO端口實(shí)現(xiàn)分配地址方法:1. 用門電路實(shí)現(xiàn)端口譯碼2.用譯碼器實(shí)現(xiàn)端口譯碼3.用比較器實(shí)現(xiàn)端口譯碼4.PROM實(shí)現(xiàn)端口譯碼3.數(shù)據(jù)傳送的方式:(1).查詢傳送方式:查詢式輸入,查詢式輸出輸入:POLL: IN AL,STATUS_PORT ;從狀態(tài)端口輸入狀態(tài)信息 TEST AL,80H ;檢查READY是否為1 JE POLL ;未READY,循環(huán) IN AL,DATA_PORT ;READY,從數(shù)據(jù)端口輸入數(shù)據(jù)輸出:POLL: IN AL,STATUS_PORT ;從狀態(tài)端口輸入狀態(tài)信息 TEST AL,80H ;檢查BUSY位 JNE POLL ;BUSY則循環(huán)等待 M

18、OV AL,STORE ;否則,從緩沖區(qū)取數(shù)據(jù) OUT DATA_PORT,AL ;從數(shù)據(jù)端口輸出實(shí)例:輸入:一個有8個模擬量輸入的數(shù)據(jù)采集系統(tǒng),用查詢的方式與CPU傳送信息START: MOV DL,0F8H ;設(shè)置啟動A/D轉(zhuǎn)換的信號 LEA DI,DSTOR ;存放輸入數(shù)據(jù)緩沖區(qū)的地 址偏移量DI AGAIN:MOV AL,DL AND AL,0EFH ;使D4=0 OUT 4H,AL ;停止A/D轉(zhuǎn)換且選擇模擬量A0 CALL DELAY ;等待多路開關(guān)切換完成 MOV AL,DL OUT 4H,AL ;啟動A/DPOLL:IN AL,2H ;輸入狀態(tài)信息 SHR AL,1H JNC

19、POLL ;若未READY,程序循環(huán)等待 IN AL,3 ;否則,輸入數(shù)據(jù) STOSB ;存至內(nèi)存 INC DL ;修改多路開關(guān)控制信號,指 向下一個模擬量 JNE AGAIN ;8個模擬量未輸入完,循環(huán) 已完,執(zhí)行別的程序段輸出:設(shè)計一個輸出接口,連接一個8段顯示器,使顯示器循環(huán)顯示0-9。START: MOV DX,51EH ;設(shè)置IO端口地址到DX MOV CL,0AH ;設(shè)置顯示字符數(shù) MOV SI,DSTOR ;存放輸入數(shù)據(jù)緩沖區(qū)的地 址偏移量SI AGAIN:MOV AL,SI ;取顯示的數(shù)據(jù)到AL OUT DX,AL ;輸出 CALL DELAY ;延遲 INC SI ;數(shù)據(jù)緩沖

20、區(qū)指針加一 DEC CL ;計數(shù)值減一JNZ AGAIN ;未顯示完繼續(xù)顯示 JMP START ;否則,重新再開始 DELAY:MOV BX,0FFFFH ;設(shè)置延遲常數(shù) LOOP:DEC BX JNZ LOOP ;循環(huán)延遲 RET DSTOR:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H, 7FH,6FH(2).中斷傳送方式:CPU利用率高,但是每次需要保護(hù)現(xiàn)場,保護(hù)斷點(diǎn)(3).直接存儲訪問(DMA):硬件在外設(shè)與內(nèi)存之間直接進(jìn)行數(shù)據(jù)交換DMA控制器必須有以下功能: (1)能向CPU發(fā)出HOLD信號; (2)當(dāng)CPU發(fā)出HLDA信號后,接管和控制總線,進(jìn)入DMA方式

21、; (3)發(fā)出地址信息,能對存儲器尋址以及能修改地址指針;(4) 能發(fā)出讀或?qū)懙瓤刂菩盘枺?(5) 能決定傳送的字節(jié)數(shù),判斷DMA傳送是 否結(jié)束; (6) 發(fā)出DMA結(jié)束信號,使CPU恢復(fù)正常工作狀態(tài)?,F(xiàn)在可以實(shí)現(xiàn)存儲器與存儲器,存儲器與IO設(shè)備,IO設(shè)備與IO設(shè)備之間的DMA傳送傳送方式:單字節(jié)方式;字節(jié)(字符)組方式4.內(nèi)部結(jié)構(gòu)和寄存器Intel 8237在圖中的通道部分只畫出了一個通道的情況,即每個通道都有一個基地址寄存器(16位),基字節(jié)數(shù)計數(shù)器(16位),現(xiàn)行地址寄存器(16位)和現(xiàn)行字節(jié)數(shù)計數(shù)器(16位),每一個通道都有一個6位的模式寄存器以控制不同的工作模式,所以,8237的內(nèi)部

22、寄存器的類型和數(shù)量如表所示。5.DMA8237控制器的結(jié)構(gòu)CLK:時鐘信號 nCS:片選信號 RESET:復(fù)位信號 READY:準(zhǔn)備好信號,同CPU。 AEN:DMA地址允許信號,有效時,將DMA訪問內(nèi)存的高8位地址(在外部鎖存器中)放上系統(tǒng)總線上,同時用于屏蔽其它的總線驅(qū)動。 ADSTB:地址選通,將DB7-DB0上的地址信號(高8位A15-A8)打入到外部地址鎖存器中。 nMEMR:存儲器讀信號 nMEMW:存儲器寫信號nIOR:I/O讀信號,雙向,當(dāng)8237作為從屬器件時,nIOR信號作為輸入,CPU通過nIOR對8237進(jìn)行讀操作。當(dāng)8237 作為主器件時(即控制總線時),nIOR作為

23、輸出,用于8237對外設(shè)的讀信號。 nIOW:I/O寫信號,同nIOR信號。 nEOP:DMA結(jié)束信號,雙向,8237的任一通道在傳輸完(即計數(shù)減到0),nEOP有效(作為輸出),如DMA未傳完,正在傳送中,外部可以從nEOP送入一個有效信號強(qiáng)制結(jié)束DMA傳送。DREQ3-DREQ0:外設(shè)的DMA請求信號,外設(shè)有數(shù)據(jù)準(zhǔn)備好時,向8237提出一個DREQ,表示有數(shù)據(jù)傳送。 注:DREQ必須保持到DACK有效為止。 DACK3-DACK0:外設(shè)的響應(yīng)信號,通知外設(shè)可以進(jìn)行數(shù)據(jù)傳送。 HRQ:向CPU提出總線請求信號。 HLDA:CPU的總線應(yīng)答信號。 DB7-DB0:數(shù)據(jù)線,雙向,8237作為從器

24、件時,CPU通過該線對8237進(jìn)行讀寫。在8237作為主器件時,8237通過該線送出要訪問內(nèi)存的高8位地址(A15-A8)。A3-A0:地址線,雙向,8237作為從屬器件時,CPU通過該線選擇8237 內(nèi)部寄存器。8237 主控時,輸出內(nèi)存低4位地址(A3-A0)。 A7-A4:地址線,8237 作為主控時,輸出內(nèi)存地址A7-A4。6.8237工作模式單字節(jié)傳送方式,塊傳送方式,請求傳送方式,級連方式7.8237寄存器組8237內(nèi)部寄存器可以分成兩大類,一類是通道寄存器,即每個通道都有的現(xiàn)行地址寄存器、現(xiàn)行字節(jié)數(shù)寄存器和基地址及基字節(jié)數(shù)寄存器;另一類是控制和狀態(tài)寄存器。這些寄存器是由最低4位地

25、址A3A0以及讀寫命令來區(qū)分的。1. 現(xiàn)行地址寄存器 每一個通道有一個16位的現(xiàn)行地址寄存器。在這個寄存器中保持用于DMA傳送的地址值,在每次傳送后這個寄存器的值自動增量或減量。在傳送過程中地址的中間值就保存在這個寄存器中。2. 現(xiàn)行字節(jié)數(shù)寄存器 每個通道有一個16位的現(xiàn)行字節(jié)數(shù)寄存器,它保持著要傳送的字節(jié)數(shù),在每次傳送后此寄存器減量。在傳送過程中字節(jié)數(shù)的中間值保存在這個寄存器中。3.基地址和基字節(jié)數(shù)寄存器 每一個通道有一對16位的基地址和基字節(jié)數(shù)寄存器,它們存放著與現(xiàn)行寄存器相聯(lián)系的初始值。在自動初始化情況下,這兩個寄存器中的值用來恢復(fù)相應(yīng)的現(xiàn)行寄存器中的初始值。這些寄存器中的值不能被CPU

26、讀出。4. 命令寄存器 這是一個8位寄存器,用以控制8237的工作。D0位用來規(guī)定是否工作在存儲器到存儲器傳送方式。5.模式寄存器 每一個通道有一個6位的模式寄存器以規(guī)定通道的工作模式,在編程時用最低兩位來選擇寫入哪個通道的模式寄存器。6. 請求寄存器 8237的每個通道有一條硬件的DREQ請求線,當(dāng)工作在數(shù)據(jù)塊傳送方式時也可以由軟件發(fā)出DREQ請求。7. 屏蔽寄存器 每個通道外設(shè)通過DREQ線發(fā)出的請求,可以單獨(dú)地屏蔽或允許。所以,在8237中有一個屏蔽寄存器。8. 狀態(tài)寄存器 8237中有一個可由CPU讀取的狀態(tài)寄存器。 狀態(tài)寄存器中的低4位,反映了在讀命令瞬間每個通道的字節(jié)數(shù)是否已減到零

27、。高4位反映每個通道的請求情況。9. 臨時寄存器 在存儲器到存儲器的傳送方式下,臨時寄存器保存從源單元讀出的數(shù)據(jù),又由它寫入目的單元。在傳送完成時,它保留傳送的最后一個字節(jié),此字節(jié)可由CPU讀出。READY信號使其復(fù)位。第七章:1. CPU對中斷的響應(yīng):1. 關(guān)中斷2. 保留斷點(diǎn)及狀態(tài)寄存器3. 取中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序在中斷服務(wù)程序中完成如下工作:1.保護(hù)現(xiàn)場將在中斷程序中會用到的寄存器用PUSH指令壓棧保護(hù)。2.中斷服務(wù)完成中斷程序要做的工作。3.恢復(fù)現(xiàn)場把所保存的各個內(nèi)部寄存器的內(nèi)容和標(biāo)志位的狀態(tài)從堆棧彈出,送回CPU中的原來位置。這個操作在8086中也是由服務(wù)程序中用POP指

28、令來完成的。4.開中斷與返回在中斷服務(wù)程序的最后,要開中斷(以便CPU能響應(yīng)新的中斷請求)和安排一條中斷返回指令(IRET),將堆棧內(nèi)保護(hù)的IP、CS和FLAGS值彈出送回IP、CS和FLAGS,返回被中斷的程序。2.8086軟中斷和硬中斷軟件中斷由指令的執(zhí)行所引起的;硬件中斷由外部(主要是外設(shè))的請求所引起的。對于硬件(外部)中斷,CPU是在當(dāng)前指令周期的最后T狀態(tài)采樣中斷請求輸入信號,如果有可屏蔽中斷請求,且CPU處在開中斷狀態(tài)(IF標(biāo)志為1),則CPU轉(zhuǎn)入兩個連續(xù)的中斷響應(yīng)周期,在第二個中斷響應(yīng)周期的T4狀態(tài)前沿,采樣數(shù)據(jù)線獲取由外設(shè)輸入的中斷類型碼;若是采樣到非屏蔽中斷請求,則CPU不

29、經(jīng)過上述的兩個中斷響應(yīng)周期,而在內(nèi)部自動產(chǎn)生INT 。對于軟件中斷,中斷類型碼也是自動形成的。被零除為0、單步為1、斷點(diǎn)為3和溢出為4對于INT n指令,則類型碼即為指令中給定的n。上述的任何一種中斷,CPU響應(yīng)以后,都是要保護(hù)標(biāo)志位和保護(hù)斷點(diǎn)(現(xiàn)行的碼段寄存器CS和指令指針I(yè)P),然后轉(zhuǎn)入各自的中斷服務(wù)程序。3.8259A中斷響應(yīng)周期在第一個中斷響應(yīng)周期,8259A并不向CPU輸送任何內(nèi)容。在第二個中斷響應(yīng)周期,8259A將向CPU輸送如表所示的中斷向量。其中的T7T3是由用戶在8259A的初始化編程中規(guī)定,而低3位則是由8259A自動插入的。4.8259A初始化編程若CPU用一條輸出指令向

30、8259A寫入一個命令字,其D4=1,輸出指令地址中A0=0,則被解釋為初始化命令字1(ICW1)。ICW1啟動了8259A中的初始化順序,自動發(fā)生下列事件:(1) 邊沿敏感電路復(fù)位,這意味著在初始化以后,中斷請求輸入線必須由低變高才產(chǎn)生中斷;(2) 中斷屏蔽寄存器清零;(3) IR7輸入被賦為優(yōu)先權(quán)7;(4) 從模式地址置為7;(5) 特殊屏蔽模式清除,狀態(tài)讀置為IRR;(6) 若IC4=0,則在ICW4中所選擇的所有功能全置為0(非緩沖方式,非自動停止中斷方式)。對8259A的初始化編程是向它輸送24個字節(jié)的初始化命令字,其順序如圖所示。ICW1和ICW2是必須送的,而ICW3和ICW4是

31、由工作方式來選擇的。ICW1ICW4在PPTP945.8259A工作字在對8259A進(jìn)行了初始化編程(輸送了適當(dāng)?shù)某跏蓟钭?之后,芯片已作好了接收中斷請求輸入的準(zhǔn)備。在8259A的工作期間可由工作命令字以規(guī)定其各種工作方式。8259A有三個工作命令字OCW(OCW1、OCW2和OCW3)。OCW1:OCW2:OCW3:6.8259A編程:PPTP145三道例題(1)初始化程序如下:初始化命令字:ICW1: 0 0 0 1 0 0 1 1 B 13HICW2: 0 0 0 0 1 0 0 0 B 08HICW4: 0 0 0 0 0 0 0 1 B 01H程序:MOV AL,13HOUT 2

32、0H,ALMOV AL, 08HOUT 21H, ALMOV AL, 01HOUT 21H, AL(2)程序?qū)嵗篗OV DX,0FFF0H ;8259初始化MOV AL,11HOUT DX,ALINC DXMOV AL,50HOUT DX,ALMOV AL,01HOUT DX,ALXOR AX,AX 中斷入口初始化MOV ES,AX;MOV AX,SEG INTPRINTMOV BX,156HMOV ES:BX,AXMOV AX,OFFSET INTPRINTMOV BX,154HMOV ES:BX,AXMOV CL 0FFH;初始化數(shù)據(jù)塊長度MOV SI,3000H ;初始化內(nèi)存指針MOV

33、 AL,SIMOV DX,0FF0HOUT DX,ALINC SIDEC CLL: WAITINC SI ;DEC CL修改內(nèi)存指針;JNZ LHLT修改數(shù)據(jù)長度第八章:1.8254控制字2.8254命令字3.8254狀態(tài)字4.8254工作方式1.方式0:計數(shù)到0后暫停工作這是一種軟件啟動,不能自動重復(fù)的計數(shù)方式。該方式下,在GATE=1的條件下,當(dāng)通道寫入控制字后,OUT輸出低電平,寫入計數(shù)初值后,開始減1計數(shù),直到計數(shù)減為0,OUT輸出變?yōu)楦唠娖剑ǖ劳V构ぷ?。方? 可編程的單脈沖這是一種硬件啟動,不能自動重復(fù)的計數(shù)方式。方式2 :分頻器這是一種軟硬件都可以啟動得方式。如有先有GATE=

34、1,則寫入計數(shù)初值后,計數(shù)器啟動,進(jìn)行減1操作,如送初值時,GATE=0,則初值送入后,計數(shù)器不啟動,等到GATE=1后,才啟動。通道啟動后,OUT輸出高電平,計數(shù)值減至1時,OUT變低,減到0后,OUT又變高,通道又繼續(xù)從初值開始減1操作,重復(fù)上述過程,結(jié)果OUT端輸出一串負(fù)脈沖。如初值為N,則輸入N個CLK,OUT輸出一個負(fù)脈沖,所以,稱分頻器。特點(diǎn):l 要使通道按分頻器正常工作,GATE必須為1,當(dāng)GATE=0通道則停止計數(shù),并使計數(shù)器中的計數(shù)值恢復(fù)到原計數(shù)初值。l 在計數(shù)過程中,如果輸入新的計數(shù)初值,不會影響正在計數(shù)的過程,但從下一個計數(shù)過程開始,將按新寫入的計數(shù)初值進(jìn)行計數(shù)。方式3:

35、方波發(fā)生器這是一種軟硬件都可以啟動得方式,計數(shù)過程能自動重復(fù),但OUT端輸出是方波。GATE=1,寫入控制字,寫入計數(shù)初值,通道開始計數(shù),輸出端OUT為高電平,直到計數(shù)器初值一半時(初值為偶數(shù)時為N/2,初值為奇數(shù)時為(N+1)/2),OUT輸出低電平,直到計數(shù)位0后,OUT又變高,通道計數(shù)重復(fù)上述過程。特點(diǎn):l GATE=1,通道允許計數(shù),GATE=0,通道停止計數(shù)。如果在計數(shù)過程中GATE端輸入一個負(fù)脈沖,通道將按寫入的計數(shù)值重新開始計數(shù)。l 在計數(shù)期間,如果寫入新的計數(shù)初值,不影響正在計數(shù)的過程,但從下一個計數(shù)過程開始將按新寫入的計數(shù)初值進(jìn)行計數(shù)。方式5:硬件觸發(fā)選通只有硬件啟動,不能自

36、動重復(fù)的計數(shù)方式。5.8254定時時間計算T=1/TmNT:延遲時間Tm:CLK的頻率N:定時常數(shù)例:CLK為2.048MHz,N=0100H=256D則:T=(1/2.048)256=125S6.編程MOV AL,70H;設(shè)控制字OUT 07H,AL;輸出至控制字寄存器MOV AL,90H;設(shè)置計數(shù)值低字節(jié)OUT 05H,AL;低字節(jié)輸出至計數(shù)通道1MOV AL,01H;設(shè)置計數(shù)值高字節(jié)OUT 05H,AL;高字節(jié)輸出至計數(shù)通道1MOV AL,40H ;計數(shù)器1的鎖存命令OUT 07H,AL ;寫入至控制字寄存器IN AL,05H ;讀低8位MOV CL,AL ;存于CL中IN AL,05H ;讀高8位MOV CH,AL ;存于CH中第九章:1. 可編程并行接口8255A(IO接口芯片)有三種基本的工作方式:(1) 方式0(Mode 0)基本輸入輸出方式;(2) 方式1(Mode 1)選通輸入輸出方式;(3) 方式2(Mode 2)雙向傳送方式(只有A口)。1.方式0的基本功能方式0是一種基本的輸入或輸出方式。在這種工作方式下,三個端口的每

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論