微機(jī)接口設(shè)計(jì)原理課后習(xí)題_第1頁(yè)
微機(jī)接口設(shè)計(jì)原理課后習(xí)題_第2頁(yè)
微機(jī)接口設(shè)計(jì)原理課后習(xí)題_第3頁(yè)
微機(jī)接口設(shè)計(jì)原理課后習(xí)題_第4頁(yè)
微機(jī)接口設(shè)計(jì)原理課后習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩128頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、陳俊周微機(jī)原理與接口技術(shù)課后習(xí)題第一章、習(xí)題1. 微型計(jì)算機(jī)有哪些主要特征?微型計(jì)算機(jī)與早期的小型計(jì)算機(jī),甚至中型、大型計(jì)算機(jī)在性能上區(qū)別有著很強(qiáng)的時(shí)間性,例如目前的微機(jī)不僅已超過了以前的許多小型機(jī)而且在某些性能上超過了一些中型、大型機(jī)。但微型計(jì)算機(jī)與它們相比還是有一些主要特征,如CPU集成;字長(zhǎng)僅為464位;地址空間64K64G;且外設(shè)相對(duì)簡(jiǎn)單。2. 微機(jī)系統(tǒng)的硬件結(jié)構(gòu)主要有哪些組成部分?微型計(jì)算機(jī)的硬件結(jié)構(gòu)從原理上看是由四大功能部件組成的,它們分別是微機(jī)硬件核;系統(tǒng)總線;存儲(chǔ)器;外設(shè)接口及外設(shè)。3. 微機(jī)硬件核的主要作用是什么?1 1微機(jī)硬件核微機(jī)硬件核 硬件核是微機(jī)內(nèi)可以產(chǎn)生各類規(guī)范的系

2、統(tǒng)總線信號(hào)并由此操控微機(jī)內(nèi)的其它組成部件的最基本的硬件組成部分,由CPU和必要的外部輔助器件(芯片組)構(gòu)成。 由8086/8088CPU構(gòu)成的臺(tái)式系統(tǒng)中,微機(jī)硬件核內(nèi)除了CPU外還包括系統(tǒng)時(shí)鐘產(chǎn)生電路以及系統(tǒng)總線生成電路(用于產(chǎn)生各類獨(dú)立系統(tǒng)總線信號(hào)的電路,包括產(chǎn)生地址總線信號(hào)的地址鎖存器;用于產(chǎn)生數(shù)據(jù)總線信號(hào)的雙向數(shù)據(jù)收/發(fā)器;用于產(chǎn)生控制總線信號(hào)的控制總線器件)。4. 什么是微機(jī)的三總線,它們各自的作用是什么?(1)地址總線AB(Address Bus),是主控部件用于尋址受控部件每個(gè)字節(jié)單元地址的信號(hào)線的集合。地址總線的數(shù)量將決定主控部件的尋址能力或?qū)ぶ房臻g的大小。例如20根地址線的尋址

3、范圍為220=1024K字節(jié)單元(1K=1024)。 地址總線俗稱Where Bus,意指其作用是用于指定數(shù)據(jù)存放的地點(diǎn)。 第 1 章 概 述 4 (2)數(shù)據(jù)總線DB(Data Bus),是主控部件與用地址總線所尋址的受控部件數(shù)據(jù)單元進(jìn)行數(shù)據(jù)傳送的信號(hào)線的集合。數(shù)據(jù)總線的數(shù)量(位數(shù))將決定主控部件與受控部件之間一次最多可交換的二進(jìn)制數(shù)據(jù)的位數(shù)(通常稱為微機(jī)的字長(zhǎng))。 數(shù)據(jù)總線俗稱What Bus,意指其作用是承載傳送的具體內(nèi)容。 (3)控制總線CB(Control Bus),是那些用于操控地址總線和數(shù)據(jù)總線信號(hào)的生成和時(shí)機(jī),實(shí)現(xiàn)主控部件指定數(shù)據(jù)傳送過程所需的全部控制信號(hào)的集合。同樣的微機(jī)中不同

4、的操作過程所用到的控制信號(hào)子集是有差異的。 控制總線俗稱When Bus,意指其作用是確定信息傳送的嚴(yán)格時(shí)序。 以上的三總線也有3W總線或W3總線的俗稱。5. 微機(jī)內(nèi)常有的半導(dǎo)體存儲(chǔ)器有哪些類型,各自有什么特點(diǎn)?3 3存儲(chǔ)器(特指半導(dǎo)體存儲(chǔ)器)存儲(chǔ)器(特指半導(dǎo)體存儲(chǔ)器) 微型計(jì)算機(jī)中必備的存儲(chǔ)器有兩種:ROM和RAM (1) ROM為只讀存儲(chǔ)器,用于固化存放微機(jī)啟動(dòng)時(shí)所需的系統(tǒng)自檢、系統(tǒng)初始化、操作系統(tǒng)引導(dǎo)等程序,以及一些常用的可供上層程序調(diào)用的最底層硬件操作子程序。這部分程序在PC系列微機(jī)中稱為BIOS(Basic Input/Output System),它們是在主機(jī)出廠時(shí)由生產(chǎn)廠寫入的。

5、其內(nèi)容除了必要的升級(jí)之外是不允許用戶改動(dòng)的。作為ROM的芯片,可以是EPROM、E2ROM或者FLASH ROM。 (2) RAM 為可讀寫存儲(chǔ)器,是微機(jī)當(dāng)前所運(yùn)行的系統(tǒng)程序和用戶程序及數(shù)據(jù)的存放體。出于器件集成度和制造成本的考慮,目前微機(jī)中的RAM都采用的是動(dòng)態(tài)存儲(chǔ)器DRAM。具體表現(xiàn)為內(nèi)存條的形式。 6. 微機(jī)中的外設(shè)有哪兩種類型,各自的主要作用是什么?(1) 數(shù)據(jù)中轉(zhuǎn)類型接口部件的主要任務(wù)是使CPU通過系統(tǒng)總線能夠和不同反應(yīng)速度、不同數(shù)據(jù)格式(如串行數(shù)據(jù))、不同信號(hào)電平(如RS-232電平、不同信號(hào)形式(如模擬信號(hào))的各種外設(shè)進(jìn)行可靠的數(shù)據(jù)傳輸。所以也就存在著各式各樣的數(shù)據(jù)中轉(zhuǎn)類型的接口

6、電路,如串行接口,并行接口,模擬/數(shù)字轉(zhuǎn)換接口等。 (2) 輔助控制類型接口部件的作用是按照CPU的命令完成某種系統(tǒng)管理或控制功能的部件,如中斷控制器8259,定時(shí)計(jì)數(shù)器8253等。這類功能部件由于CPU采用了與數(shù)據(jù)中轉(zhuǎn)類型接口部件完全相同的尋址和訪問方式,所以歸類于外設(shè)接口功能部件類,盡管它們并不銜接任何外設(shè)。 7. 微型計(jì)算機(jī)有哪些主要技術(shù)指標(biāo),它們的意義是什么?字長(zhǎng):計(jì)算機(jī)內(nèi)部一次可處理的二進(jìn)制數(shù)的最多位數(shù)。 前有4位;8位;16位;32位;64位 速度:常用每秒執(zhí)行的指令數(shù)衡量。有每秒百萬(wàn)次定點(diǎn)指令MIPS(Million Instructions Per Second) 每秒百萬(wàn)次浮

7、點(diǎn)指令操作MFLOPS(Million Floating-point Operations Per Second) 內(nèi)存空間:CPU地址線可直接尋址的內(nèi)存字節(jié)數(shù)目。 目前有64K(16位);1M(20位);16M(24位);4G(32位);64G(36位) 系統(tǒng)結(jié)構(gòu)及外部設(shè)備配置情況: CPU芯片組結(jié)構(gòu) 系統(tǒng)總線結(jié)構(gòu)(ISA;EISA;VESA;PCI等) 主板上高速緩存(二級(jí)Catch)多少 可配置的內(nèi)存類型及最大容量 第 1 章 概 述 6 支持硬盤的工作模式(ATA;PIO;DMA;SCSI等) 支持顯示模式(ISA;EISA;VESA;PCI;AGP等) 支持串口模式(RS232;US

8、B;1394等)第二章、練習(xí)1 8086 CPU由哪兩部分組成?它們的主要功能是什么?8086與8088的主要區(qū)別是什么?8086/8088微處理器的內(nèi)部組成結(jié)構(gòu)按照功能可分成總線接口部件BIU(Bus Interface Unit)和指令執(zhí)行部件EU(Execution Unit)兩大部分。BIU的主要作用是實(shí)現(xiàn)CPU對(duì)外部三總線的控制并與外部進(jìn)行數(shù)據(jù)交換。具體的操作主要是根據(jù)指令的要求合成20位的地址信號(hào)及產(chǎn)生與外部總線數(shù)據(jù)傳輸需要的控制信號(hào)時(shí)序,最終實(shí)現(xiàn)與外部的數(shù)據(jù)交換。 1 8086 CPU由哪兩部分組成?它們的主要功能是什么?8086與8088的主要區(qū)別是什么?EU的作用則是執(zhí)行指令

9、。指令隊(duì)列中的指令經(jīng)EU控制系統(tǒng)轉(zhuǎn)換成具體的操作控制信號(hào)并實(shí)現(xiàn)指令規(guī)定的運(yùn)算或操作。8088與8086在芯片內(nèi)部是完全一樣的,主要區(qū)別是在外部將數(shù)據(jù)線縮減成了8位(另有幾根外部引腳定義不同)2 8086/8088 CPU內(nèi)部有哪些寄存器?其主要作用是什么?通用寄存器:AX,BX,CX,DX AX(AH+AL):累加器(Accumulator)。是寄存器中最忙的一個(gè)。大多數(shù)的算術(shù)和邏輯運(yùn)算以及輸入/輸出都必須經(jīng)由它進(jìn)行。 BX(BH+BL):基地址寄存器(Base)。在間接尋址中作為偏移地址寄存器;在基址尋址中作為基地址寄存器。 CX(CH+CL):計(jì)數(shù)寄存器(Count)。在塊傳送和循環(huán)等指令

10、中固定的充當(dāng)計(jì)數(shù)器。 DX(DH+DL):數(shù)據(jù)寄存器(Data)。在乘除法指令中固定充當(dāng)輔助的操作數(shù)寄存器;在輸入/輸出指令中固定作為外設(shè)口地址寄存器。 2 8086/8088 CPU內(nèi)部有哪些寄存器?其主要作用是什么?SI:源變址寄存器(Source Index)。 用于在數(shù)據(jù)塊傳送類指令中固定與DS一起提供源數(shù)據(jù)塊地址,其值可自動(dòng)加減。另外它還可以為DS或ES提供偏移地址或變址值。 DI:目的變址寄存器(Destination Index)。 用于在數(shù)據(jù)塊傳送類指令中固定與ES一起提供目的數(shù)據(jù)塊地址,其值可自動(dòng)加減(由標(biāo)志寄存器FR中的DF位指定)。另外它還可以為DS或ES提供偏移地址或變

11、址值。 2 8086/8088 CPU內(nèi)部有哪些寄存器?其主要作用是什么?CS:代碼段寄存器(Code Segment),固定與IP一起尋址內(nèi)存代碼區(qū)。 SS:堆棧段寄存器(Stack Segment),固定與SP或BP尋址內(nèi)存的堆棧區(qū)。 DS:數(shù)據(jù)段寄存器(Data Segment),可與SI、DI、BP等尋址內(nèi)存數(shù)據(jù)區(qū)。 ES:附加段寄存器(Extra data Segment),可與SI、DI、BP等尋址內(nèi)存數(shù)據(jù)區(qū)3試述8086/8088 CPU中的SP,BP,SI,DI有何種特殊用途。SP:堆棧指針(Stack Pointer)。 固定配合SS來(lái)指定(尋址)內(nèi)存中的堆棧區(qū)棧頂?shù)漠?dāng)前偏移

12、地址。當(dāng)執(zhí)行完入棧/出棧指令后,SP的值會(huì)自動(dòng)減2/加2。其值將始終指向棧頂位置。 BP:基數(shù)指針(Base Pointer)。 用于提供多種尋址方式中的偏移地址或基地址,還用于配合SS提供堆棧區(qū)的非棧頂單元偏移地址。3試述8086/8088 CPU中的SP,BP,SI,DI有何種特殊用途。SI:源變址寄存器(Source Index)。 用于在數(shù)據(jù)塊傳送類指令中固定與DS一起提供源數(shù)據(jù)塊地址,其值可自動(dòng)加減。另外它還可以為DS或ES提供偏移地址或變址值。 DI:目的變址寄存器(Destination Index)。 用于在數(shù)據(jù)塊傳送類指令中固定與ES一起提供目的數(shù)據(jù)塊地址,其值可自動(dòng)加減(由

13、標(biāo)志寄存器FR中的DF位指定)。另外它還可以為DS或ES提供偏移地址或變址值。 4 8086 CPU有哪些程序狀態(tài)字?哪些屬于狀態(tài)標(biāo)志哪些屬于控制標(biāo)志?它們各自的作用是什么?狀態(tài)標(biāo)志:CF:進(jìn)位標(biāo)志 (Carry Flag):運(yùn)算/操作結(jié)果產(chǎn)生進(jìn)/借位時(shí)CF=1,反之CF=0。PF:齊偶標(biāo)志 (Parity Flag):運(yùn)算結(jié)果中低8位有偶數(shù)個(gè)1時(shí)PF=1,奇數(shù)個(gè)1時(shí)PF=0。AF:輔助進(jìn)位標(biāo)志 (Auxiliary Flag):兩個(gè)字節(jié)運(yùn)算若結(jié)果中低半個(gè)字節(jié)有進(jìn)/借位時(shí)AF=1,反之AF=0。ZF:零標(biāo)志 (Zero Flag):運(yùn)算/操作結(jié)果為0時(shí)ZF=1,反之ZF=0。 SF:符號(hào)標(biāo)志

14、(Sign Flag):運(yùn)算結(jié)果最高位為0時(shí)SF=0,反之SF=1。OF:溢出標(biāo)志 (Overflow Flag):運(yùn)算結(jié)果產(chǎn)生溢出時(shí)OF=1,反之OF=0。 4 8086 CPU有哪些程序狀態(tài)字?哪些屬于狀態(tài)標(biāo)志哪些屬于控制標(biāo)志?它們各自的作用是什么?控制標(biāo)志:DF:地址方向標(biāo)志( Direction Flag):用于數(shù)據(jù)塊傳送時(shí)控制偏移地址指針的變化方向。DF=0,內(nèi)存地址朝增加方向變化;DF=1,內(nèi)存地址朝減小方向變化。IF:中斷允許標(biāo)志 (Interrupt Flag):用于禁止/允許CPU對(duì)可屏蔽中斷請(qǐng)求的響應(yīng)。IF=0,禁止;IF=1,允許。TF:自陷標(biāo)志 (Trap Flag):

15、用于程序的單步調(diào)試。TF=1,每執(zhí)行一條指令就中斷一下,以便運(yùn)行檢測(cè)程序;TF=0連續(xù)執(zhí)行。5 設(shè)(AX)=2345H;(DX)=5219H,請(qǐng)指出兩數(shù)相加和相減后,6位狀態(tài)標(biāo)志位的狀態(tài)。相加以后: 2345H +5219H 755EH= 0111 0101 0101 1110CF = 0 PF=0 AF=0 ZF=0 SF = 0 OF=0 2345H -5219H D12CH= 1101 0001 0010 1100CF = 1 PF=0 AF=1 ZF=0 SF = 1 OF=06 以知給定堆棧區(qū)的地址范圍為:1250H:0000H1250H:0100H,(SP)=0052H 問:(1)

16、棧頂?shù)刂肥鞘裁???)棧底地址是什么?(3)SS中的內(nèi)容是什么?(4)若在堆棧中存入數(shù)據(jù)2345H,請(qǐng)畫出堆棧區(qū)圖,標(biāo)明數(shù)據(jù)存放位置及對(duì)應(yīng)的段地址和偏移地址。452312500H12600H12552H12550H7 8086 CPU是如何實(shí)現(xiàn)地址線與數(shù)據(jù)線分時(shí)復(fù)用的?8086按16位傳輸數(shù)據(jù)的,有16個(gè)地址/數(shù)據(jù)復(fù)用引腳。作為地址/數(shù)據(jù)復(fù)用引腳,在總線周期的T1狀態(tài)用來(lái)輸出要訪問的存儲(chǔ)器或I/O端口的地 址,T2T3狀態(tài),對(duì)于讀周期來(lái)說,是處于浮空狀態(tài),而對(duì)于寫周期來(lái)說則傳輸數(shù)據(jù)。在最小模式下ALE信號(hào)為地址鎖存允許信號(hào)輸出,在任一總線周期的T1狀態(tài),ALE輸出有效電平,以表示輸出的是地址信

17、息,ALE信號(hào)不可浮空。第二章、練習(xí)8什么是總線周期、基本總線周期和時(shí)鐘周期?CPU每完成一次總線操作(與外部更換一次數(shù)據(jù);一次讀或一次寫)稱為一個(gè)“總線周期”。CPU與外部交換一次數(shù)據(jù)至少需要4個(gè)時(shí)鐘周期,被稱為基本總線周期。CPU主時(shí)鐘周期也簡(jiǎn)稱為“時(shí)鐘周期”,是計(jì)算機(jī)內(nèi)部的最小計(jì)時(shí)單位,是CPU主時(shí)鐘頻率的倒數(shù)。9 8086/8088 CPU的引腳可分為哪些類型?各引腳的作用是什么?9 8086/8088 CPU的引腳可分為哪些類型?各引腳的作用是什么?10CPU是如何選擇存儲(chǔ)器齊、偶地址單元的?為什么存取存儲(chǔ)單元字?jǐn)?shù)據(jù)時(shí)一定要從偶數(shù)地址開始?11一個(gè)總線周期會(huì)有哪些狀態(tài),這些狀態(tài)對(duì)應(yīng)哪

18、些引腳操作,其中的TW狀態(tài)有什么作用?TW等待存儲(chǔ)器或外設(shè)準(zhǔn)備就緒。128086/8088最小模式和最大模式在功能上有哪些主要不同點(diǎn)?表現(xiàn)在引腳上有哪些不同?最大模式的主要特點(diǎn)是:CPU的主要控制信號(hào)不是獨(dú)立的信號(hào)引腳形式,而是信號(hào)組合的形式。例如用3根引腳的000111電平組合表示8個(gè)不同的獨(dú)立控制信號(hào)。但由于大多數(shù)受控部件內(nèi)部不具有控制信號(hào)譯碼功能,只能接受獨(dú)立的控制信號(hào)。因此這種方式必須在外部增配信號(hào)譯碼電路,將組合信號(hào)變換為獨(dú)立的控制信號(hào)線。雖然需要增加外部器件,但可換來(lái)以下好處:(1)擴(kuò)充了控制信號(hào)的類型和數(shù)量;(2)使得系統(tǒng)可以構(gòu)建兩套(層)總線。外部增加的專用器件稱為總線控制器,

19、主要用于組合控制信號(hào)的譯碼及總線管理。 13什么是局部總線工作方式和系統(tǒng)總線工作方式?14請(qǐng)說明地址鎖存器8282和數(shù)據(jù)收發(fā)器8286的主要作用,為什么最大模式下必須要用總線控制器?地址鎖存器8282:1)鎖存地址信號(hào)。 2)提供較大的地址總線驅(qū)動(dòng)能力。 3)在需要時(shí)隔離CPU地址線與系統(tǒng)總線的聯(lián)系(OE接高電平)。Intel8286主要作用: 1)選通/隔離CPU數(shù)據(jù)線與系統(tǒng)總線 2)選擇數(shù)據(jù)傳送方向 3)提供較大的數(shù)據(jù)總線驅(qū)動(dòng)能力在最大模式需要支持多個(gè)主控部件(處理器)對(duì)總線共享,如果沒有總線控制器,系統(tǒng)最多只能支持兩個(gè)主控部件。15為什么最大模式下需要LOCK信號(hào),而最小模式下則不要?在

20、最大模式下,多個(gè)主控部件通過系統(tǒng)總線仲裁器共享系統(tǒng)總線,CPU需要通過LOCK信號(hào)通知系統(tǒng)總線仲裁器是否鎖定或釋放系統(tǒng)總線。最小模式下實(shí)現(xiàn)多處理器共享總線的方法是通過CPU的HOLD和HLDA引腳聯(lián)絡(luò)另一個(gè)主控部件的總線請(qǐng)求信號(hào)。CPU不需要與系統(tǒng)總線仲裁器通訊。16總線控制器8288的主要作用是什么?其引腳CEN、IOB和AEN的功能是什么? 8288的主要功能為:(1)對(duì)CPU最大模式下的組合控制信號(hào)進(jìn)行譯碼,產(chǎn)生多個(gè)獨(dú)立的控制信號(hào),擴(kuò)展CPU控制總線的功能。(2)對(duì)自身譯碼后的控制信號(hào)以及地址鎖存器和數(shù)據(jù)收發(fā)器進(jìn)行管理,使CPU能夠獨(dú)占系統(tǒng)總線或者與其它主控部件共享系統(tǒng)總線(隔離或開通C

21、PU與系統(tǒng)總線的聯(lián)系)。17微機(jī)系統(tǒng)中為什么要設(shè)置總線仲裁部件?當(dāng)系統(tǒng)總線上掛接有多個(gè)主控部件時(shí),必須保證任意時(shí)刻只能有一個(gè)主控部件行使對(duì)系統(tǒng)總線的控制權(quán)。這種保障機(jī)制就是總線仲裁。當(dāng)某個(gè)主控部件正在使用總線,則其它主控部件必須與系統(tǒng)總線隔離。實(shí)現(xiàn)的方法是將其它主控部件與系統(tǒng)總線相連的地址鎖存器、數(shù)據(jù)收發(fā)器及各控制總線的輸出端設(shè)為高阻態(tài)。 18HOLD;HLDA與RQ/GT0;RQ/GT1引腳功能有何不同?第五章、練習(xí)1. 本課程中所說的外設(shè)是什么含義?在本課程中所提到的外設(shè)實(shí)際上僅指CPU用IN/OUT指令通過其三總線可以直接訪問到的那部分功能電路,即接口電路部分。2外部設(shè)備為什么要通過接口

22、電路和主機(jī)系統(tǒng)相連?存儲(chǔ)器需要接口電路和總線相連嗎?為什么?3微機(jī)硬件核直接通過系統(tǒng)三總線相連進(jìn)行數(shù)據(jù)交換的有哪兩大類功能部件?它們?cè)诠灿靡惶椎刂芳皵?shù)據(jù)總線的情況下是如何保證尋址及數(shù)據(jù)傳送正確性的?4為了實(shí)現(xiàn)微機(jī)硬件核與不同類型外設(shè)的數(shù)據(jù)交換,接口電路通常需解決哪些問題?5一個(gè)具有一定智能的接口電路(芯片),其內(nèi)部通常具有哪些寄存器?這些寄存器的作用是什么?。接口電路芯片內(nèi)具有獨(dú)立端口地址的寄存器通常有以下幾類。(1)輸入數(shù)據(jù)寄存器和輸出數(shù)據(jù)寄存器組(數(shù)據(jù)中轉(zhuǎn)型接口中用于暫存數(shù)據(jù))(2)控制寄存器組(用于接受CPU 的控制命令)(3)狀態(tài)寄存器組(用于提供CPU 可查詢的狀態(tài)信息)6什么是外設(shè)

23、端口(或I/O 端口)?通常有哪些類型的外設(shè)端口?接口電路內(nèi)部必須具備一些不同功能的可以由CPU 三總線按特定地址進(jìn)行訪問的單元(寄存器),通常將它們稱之為外設(shè)端口或I/O 端口。(1)輸入數(shù)據(jù)寄存器和輸出數(shù)據(jù)寄存器組(數(shù)據(jù)中轉(zhuǎn)型接口中用于暫存數(shù)據(jù))(2)控制寄存器組(用于接受CPU 的控制命令)(3)狀態(tài)寄存器組(用于提供CPU 可查詢的狀態(tài)信息)第五章、練習(xí)練習(xí)7. CPU 與外設(shè)的數(shù)據(jù)傳送有哪幾種方式,它們各有哪些優(yōu)缺點(diǎn)?7. CPU 與外設(shè)的數(shù)據(jù)傳送有哪幾種方式,它們各有哪些優(yōu)缺點(diǎn)?8 查詢式傳送方式有什么優(yōu)缺點(diǎn)?中斷方式為什么能彌補(bǔ)查詢方式的缺點(diǎn)?查詢傳送方式需要CPU不斷的查詢(讀

24、?。┙涌谛酒峁┑木途w信號(hào)來(lái)決定是否執(zhí)行下一條IN/OUT 指令的傳送方式,這樣浪費(fèi)了大量的CPU資源。中斷傳送方式CPU 在沒有中斷請(qǐng)求的時(shí)候會(huì)運(yùn)行主程序或其它程序。當(dāng)外設(shè)準(zhǔn)備好后發(fā)中斷請(qǐng)求,CPU響應(yīng)中斷并轉(zhuǎn)入中斷處理程序內(nèi)去執(zhí)行一次IN/OUT 操作。中斷處理程序結(jié)束后又返回主程序運(yùn)行,直到下一次中斷的產(chǎn)生。這使得CPU資源能夠得到充分的利用。980X86 CPU 最多可尋址多少個(gè)I/O 端口。如果微機(jī)內(nèi)共有7 個(gè)接口芯片,其中一個(gè)接口芯片有6 個(gè)獨(dú)立端口地址,CPU 應(yīng)如何尋址這些端口?請(qǐng)畫出原理性電路,并寫出讀寫這些端口的指令。80X86 系列CPU用于外設(shè)數(shù)據(jù)傳送的IN/OUT指令

25、最多可以驅(qū)使A15A0 共16 根地址線。即I/O空間為216 = 65536(I/O端口地址)。IN AL, 0HOUT 0H, ALIN AL, 0HOUT 0H, AL10如果一個(gè)通用的接口芯片其內(nèi)部有一個(gè)8 位的數(shù)據(jù)輸入寄存器;一個(gè)8 位的數(shù)據(jù)輸出寄存器;一個(gè)8 位的控制命令寄存器和一個(gè)8 位的狀態(tài)寄存器,則這個(gè)芯片應(yīng)該具有哪些引腳?11如果只采用A5A0 共6 根地址線對(duì)8255 和8259 進(jìn)行地址譯碼,且要求8255 口地址為10H、12H、14H、16H;8259 的口地址為18H、1AH。請(qǐng)?jiān)谙聢D畫出正確連線。208H20FH10000001第六章、練習(xí)1 8255 的三個(gè)端

26、口在編程使用中有什么主要區(qū)別?2 8255 有哪幾種工作方式、各適用哪些端口。在這些方式中端口C 各起什么作用?1 方式方式0 (無(wú)固定信號(hào)聯(lián)絡(luò)線的輸入(無(wú)固定信號(hào)聯(lián)絡(luò)線的輸入/輸出方式)輸出方式)2 方式方式1 (有信號(hào)聯(lián)絡(luò)線的輸入(有信號(hào)聯(lián)絡(luò)線的輸入/輸出方式)輸出方式)3 方式方式2:(雙向數(shù)據(jù)傳送方式,只適用于端口:(雙向數(shù)據(jù)傳送方式,只適用于端口A)3 若8255 端口A 設(shè)定為方式0,端口B 設(shè)定為方式1,則端口C 還有哪些引腳可分別編程為輸入和輸出,對(duì)應(yīng)的控制字是怎樣的?1 0 0 X X 1 X XPC3-PC7011PC34 一個(gè)可以雙向傳輸數(shù)據(jù)的并口,要想可靠的與外設(shè)交換數(shù)

27、據(jù),至少應(yīng)該配置幾根信號(hào)聯(lián)絡(luò)線,它們的作用各是什么?5 如果設(shè)定8255 端口A 工作于方式1 輸出數(shù)據(jù),且CPU 采用查詢方式而非中斷方式向端口A 寫數(shù)據(jù)。請(qǐng)畫出CPU 與8255 之間、8255 與外設(shè)之間的原理性電路連接圖并寫出有關(guān)的程序段。設(shè)端口A、B、C 及控制寄存器口地址為0D0H、0D2H、0D4H、0D6H。MOV CX,100 ;設(shè)置計(jì)數(shù)值LEA SI,BUF ;取數(shù)據(jù)緩沖區(qū)偏移地址MOV DX,0D6H ;控制寄存器口地址MOV AL,10101001B ;A 口方式1 輸出;PC7PC4 輸入;PC3PC0 輸入。OUT DX,AL ;MOV AL,00001101 ;位

28、設(shè)置命令字,將PC6 置1OUT DX,AL ;用于打開A 口方式1 下8255 內(nèi)部的中斷允許位L0: MOV DX,P8255 ;A 口地址MOV AL,SI ;取打印數(shù)據(jù)INC SI ;指向下一數(shù)據(jù)OUT DX,AL ;向8255 的A 口送打印數(shù)據(jù)MOV DX,P8255+2L1: IN AL,DX ;讀PC0 狀態(tài)AND AL,00000001B ;判斷PC0 是否為1(PC3=INTR=1 表示輸出緩沖器空)JZ L1 ;PC0 不為1 繼續(xù)查詢LOOP L0 ;PC0 為1,進(jìn)行下一次數(shù)據(jù)輸出程序結(jié)束 ;數(shù)據(jù)全部輸出完畢5 如果設(shè)定8255 端口A 工作于方式1 輸出數(shù)據(jù),且CP

29、U 采用查詢方式而非中斷方式向端口A 寫數(shù)據(jù)。請(qǐng)畫出CPU 與8255 之間、8255 與外設(shè)之間的原理性電路連接圖并寫出有關(guān)的程序段。設(shè)端口A、B、C 及控制寄存器口地址為0D0H、0D2H、0D4H、0D6H。MOV CX,100 ;設(shè)置計(jì)數(shù)值LEA SI,BUF ;取數(shù)據(jù)緩沖區(qū)偏移地址MOV DX,0D6H ;控制寄存器口地址MOV AL,10101001B ;A 口方式1 輸出;PC7PC4 輸入;PC3PC0 輸入。OUT DX,AL ;MOV AL,00001101 ;位設(shè)置命令字,將PC6 置1 INTE=1OUT DX,AL ;用于打開A 口方式1 下8255 內(nèi)部的中斷允許位

30、L0: MOV DX,0D0H ;A 口地址MOV AL,SI ;取數(shù)據(jù)INC SI ;指向下一數(shù)據(jù)OUT DX,AL ;向8255 的A 口送數(shù)據(jù)MOV DX,0D4HL1: IN AL,DX ;讀PC0 狀態(tài)AND AL,00000100B ;判斷PC3 是否為1(PC3=INTR=1 表示輸出緩沖器空)JZ L1 ;PC3不為1 繼續(xù)查詢LOOP L0 ;PC3為1,進(jìn)行下一次數(shù)據(jù)輸出程序結(jié)束 ;數(shù)據(jù)全部輸出完畢1010 00000000 1101A口工作于方式1,輸出,B口工作于方式0,輸出。PCA從屬于端口APC6 = 1 C口工作于中斷方式PC0 = 1第六章、練習(xí)7 請(qǐng)畫出3 行

31、3 列,行列式鍵盤的電路原理圖并說明其工作原理。9若采用8255 的CA 口作為行線,CB 口作為列線,設(shè)計(jì)一個(gè)44 的鍵盤電路,請(qǐng)畫出8255 與鍵盤矩陣的電路連接圖并編寫行反轉(zhuǎn)法實(shí)現(xiàn)的按鍵識(shí)別程序。8255地址為320H1)首先判別是否有鍵按下(向行線A3A0 輸出全0):MOV DX,323H ;口地址指向8255 控制寄存器MOV AL,81H ;設(shè)定A 、B口為方式0 輸出,C 口C3C0 為輸入,C7C4 為輸出OUT DX,ALABC: MOV AL,00 ;向CA口輸出全“0”行值MOV DX,322H ;OUT DX,AL ;IN AL,DX ; 從CB 口讀入列值A(chǔ)ND A

32、L,0FHCMP AL,0FH ;判斷是否有鍵按下JZ ABC ;無(wú)鍵按下則繼續(xù)查詢MOV AH, AL ; 保存CB值 CALL DELAY ;有鍵按下則延遲一定時(shí)間(一般為520ms)用于消除鍵抖動(dòng);2)反向查找MOV DX,323H ;口地址指向8255 控制寄存器MOV AL,88H ;設(shè)定A 、B口為方式0 輸出,C 口C3C0 為輸出,C7C4 為輸入OUT DX,AL; MOV AL,AH ;MOV DX,322HOUT DX,AL ;輸出列值IN AL,DX ;讀入列值A(chǔ)ND AL,F(xiàn)0H ;保留低4 位有效列值A(chǔ)DD AL,AH ;AL 中為按鍵掃描碼(高4 位為行碼,低4

33、位為列碼)第七章、練習(xí)第七章、練習(xí)2000000*0.02=40000MOV DX, P8253+3;MOV AL, 00110000B;OUT DX, AL;MOV DX, P8253;MOV AX, 40000;OUT DX,AL;MOV AL, AH;OUT DX,AL;MOV DX, P8253+3;MOV AL, 01110110B;OUT DX, AL;MOV DX, P8253+1;MOV AX, 40000;OUT DX, AL;MOV AL, AH;OUT DX,AL;MOV DX,20BH ; 設(shè)置8255 控制字MOV AL,10000000B ; A、B、C 口都為方式

34、0 輸出(A、B 口無(wú)用)OUT DX,ALMOV DX,203H ; 設(shè)置8253 控制字MOV AL,00110000B ;0 通道為方式0,按字節(jié)讀寫,二進(jìn)制OUT DX,ALMOV DX,200H ;向8253 通道0 寫計(jì)數(shù)初值MOV AL, FFH;假設(shè)設(shè)置的初值為FFHOUT DX,AL;NOPDISPLAY: MOV DX,203H ;8253 控制口地址MOV AL,00000000B ;向8253 通道0 寫“鎖存減1 計(jì)數(shù)器當(dāng)前值”命令OUT DX,ALNOPMOV DX,200H ;8253 通道0 口地址IN AL,DX ;讀8253 通道0 當(dāng)前值鎖存器內(nèi)容MOV

35、BL,ALMOV AL,FFH ;取計(jì)數(shù)初值FFHSUB AL,BL ;用計(jì)數(shù)初值減當(dāng)前計(jì)數(shù)值MOV DX,20AH ; 8255 的C 口地址NOT AL ;將計(jì)算出的按鍵脈沖計(jì)數(shù)值取反(因“0”才發(fā)亮)OUT DX,AL ;向8255 C 口輸出JMP DISPLAY ;繼續(xù)下一次循環(huán)第八章、練習(xí)INT n :來(lái)自CPU 內(nèi)部的中斷源(軟件中斷,由指令執(zhí)行時(shí)的異常結(jié)果觸發(fā)),不可以被可屏蔽中斷控制器8259屏蔽。INTINT:可屏蔽中斷引腳INT 引入的外部可屏蔽中斷請(qǐng)求源。這類中斷請(qǐng)求CPU 是有條件的加以響應(yīng),響應(yīng)條件為標(biāo)志寄存器中的中斷允許位IF=“1”。用戶可以通過STI/CLI

36、指令來(lái)設(shè)定/清除IF 位,從而決定是否響應(yīng)該引腳引入的中斷請(qǐng)求。第八章、練習(xí)為CPU 提供的不通過INT 引腳來(lái)了解8259 所選中的中斷請(qǐng)求的方法。第九章、練習(xí)+10V+12V-12V200HAA: MOV DX,200H ;D/A 變換器口地址(CS 端)MOV AL,00H;MOV CX,0200H ;產(chǎn)生512 個(gè)鋸齒波MOV BL 0H; 初始為上升波段BB: OUT DX,AL;CALL DELAY; CMP BL,1H; 上升還是下降波段JZ DECAL;ADD AL,01H;JNZ BB;MOV BL 1HDEC AL,01HDECAL: DEC AL,01H;CMP AL,00HJNZ BBMOV BL, 0H;JMP BB10V/210 =0.009765625 V0.009765625 V+5V-5V70/2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論