微型計(jì)算機(jī)原理與接口技術(shù)-課后習(xí)題答案_第1頁(yè)
微型計(jì)算機(jī)原理與接口技術(shù)-課后習(xí)題答案_第2頁(yè)
微型計(jì)算機(jī)原理與接口技術(shù)-課后習(xí)題答案_第3頁(yè)
微型計(jì)算機(jī)原理與接口技術(shù)-課后習(xí)題答案_第4頁(yè)
微型計(jì)算機(jī)原理與接口技術(shù)-課后習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩105頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

*1第一章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)*2微處理器只是一個(gè)中央處理器(CPU),由算術(shù)邏輯部件(ALU),累加器和通用寄存器組,程序計(jì)數(shù)器,時(shí)序和控制邏輯部件,內(nèi)部總線等組成。微處理器不能構(gòu)成獨(dú)立工作的系統(tǒng),也不能獨(dú)立執(zhí)行程序,必須配上存儲(chǔ)器,外部輸入、輸出接口構(gòu)成一臺(tái)微型計(jì)算機(jī)方能工作。2.微處理器,微型計(jì)算機(jī),微型計(jì)算機(jī)系統(tǒng)有什么聯(lián)系與區(qū)別?*3微型計(jì)算機(jī)由CPU,存儲(chǔ)器,輸入/輸出接口電路和系統(tǒng)總線組成。它已具有計(jì)算功能,能獨(dú)立執(zhí)行程序,但若沒(méi)有輸入/輸出設(shè)備,數(shù)據(jù)及程序不能輸入,運(yùn)算結(jié)果無(wú)法顯示或輸出,仍不能正常工作。以微型計(jì)算機(jī)為主體,配上外部輸入/輸出設(shè)備及系統(tǒng)軟件就構(gòu)成了微型計(jì)算機(jī)系統(tǒng)。沒(méi)有配置軟件的計(jì)算機(jī)稱(chēng)為裸機(jī),仍然什么工作也不能做,必須配置系統(tǒng)軟件和應(yīng)用軟件,這樣才可以正常提供使用。*4微處理器是中央處理器(CPU)。它是由算術(shù)邏輯部件(ALU),累加器和寄存器組,指令指針寄存器IP,段寄存器,時(shí)序和控制邏輯部件,內(nèi)部總線等組成。3.微處理器有哪些主要部件組成?其功能是什么?*5微處理器主要部件作用:算術(shù)邏輯部件主要完成算術(shù)運(yùn)算及邏輯運(yùn)算。通用寄存器組用來(lái)存放參加運(yùn)算的數(shù)據(jù)、中間結(jié)果或地址。程序計(jì)數(shù)器指向要執(zhí)行的下一條指令,順序執(zhí)行指令時(shí),每取一個(gè)指令字節(jié),程序計(jì)數(shù)器加1??刂七壿嫴考?fù)責(zé)對(duì)整機(jī)的控制,包括從存儲(chǔ)器中取指令,對(duì)指令進(jìn)行譯碼和分析,確定指令的操作及操作相應(yīng)的控制信號(hào)和時(shí)序,送到微型計(jì)算機(jī)的其他部件,使CPU內(nèi)部及外部協(xié)調(diào)工作。內(nèi)部總線用來(lái)傳送CPU內(nèi)部的數(shù)據(jù)及控制信號(hào)。第二章作業(yè)

習(xí)題課*71.8086CPU由哪兩部分組成?它們的主要功能是什么?8086CPU由總線接口部件BIU和指令執(zhí)行部件EU組成,BIU和EU的操作是并行的??偩€接口部件BIU的功能:地址形成、取指令、指令排隊(duì)、讀/寫(xiě)操作數(shù)和總線控制。所有與外部的操作由其完成。指令執(zhí)行部件EU的功能:指令譯碼,執(zhí)行指令。*88086CPU的寄存器有通用寄存器組、指針和變址寄存器、段寄存器、指令指針寄存器及標(biāo)志位寄存器PSW。4個(gè)16位通用寄存器,它們分別是AX,BX,CX,DX,用以存放16位數(shù)據(jù)或地址。也可分為8個(gè)8位寄存器來(lái)使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位數(shù)據(jù),不能存放地址。2.8086CPU中有哪些寄存器?各有什么用途?*9指針和變址寄存器存放的內(nèi)容是某一段內(nèi)地址偏移量,用來(lái)形成操作數(shù)地址,主要在堆棧操作和變址運(yùn)算中使用。段寄存器給出相應(yīng)邏輯段的首地址,稱(chēng)為“段基址”。段基址與段內(nèi)偏移地址結(jié)合形成20位物理地址。指令指針寄存器用來(lái)存放將要執(zhí)行的下一條指令在現(xiàn)行代碼中的偏移地址。16位標(biāo)志寄存器PSW用來(lái)存放運(yùn)算結(jié)果的特征,常用作后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。*10⑴比較兩數(shù)是否相等?將兩數(shù)相減,當(dāng)全零標(biāo)志位ZF=1時(shí),說(shuō)明兩數(shù)相等,當(dāng)ZF=0時(shí),兩數(shù)不等。⑵兩數(shù)運(yùn)算后結(jié)果是正數(shù)還是負(fù)數(shù)?用符號(hào)標(biāo)志位SF來(lái)判斷,SF=1,為負(fù)數(shù);SF=0,為正數(shù)。5.要完成下述運(yùn)算或控制,用什么標(biāo)志位判斷?其值是什么?*11⑶兩數(shù)相加后是否溢出?用溢出標(biāo)志位來(lái)判斷,OF=1,產(chǎn)生溢出;OF=0,沒(méi)有溢出。⑷采用偶校驗(yàn)方式。判定是否要補(bǔ)“1”?用奇偶校驗(yàn)標(biāo)志位判斷,有偶數(shù)個(gè)“1”時(shí),PF=1,不需要補(bǔ)“1”;有奇數(shù)個(gè)“1”時(shí),PF=0,需要補(bǔ)“1”。*12(5)兩數(shù)相減后比較大?。?/p>

ZF=1時(shí),說(shuō)明兩數(shù)是相等的;

ZF=0時(shí):無(wú)符號(hào)數(shù)時(shí),CF=0,被減數(shù)大;CF=1,被減數(shù)小。帶符號(hào)數(shù)時(shí),SF=OF=0或SF=OF=1,被減數(shù)大;SF=1,OF=0或SF=0,OF1,被減數(shù)小。(6)中斷信號(hào)能否允許?用中斷標(biāo)志位來(lái)判斷,IF=1,允許CPU響應(yīng)可屏蔽中斷;IF=0,不響應(yīng)。*138086存儲(chǔ)器采用分體式結(jié)構(gòu):偶地址存儲(chǔ)體和奇地址存儲(chǔ)體,各為512k。用A0和BHE來(lái)選擇存儲(chǔ)體。當(dāng)A0=0時(shí),訪問(wèn)偶地址存儲(chǔ)體;當(dāng)BHE=0時(shí),訪問(wèn)奇地址存儲(chǔ)體;當(dāng)A0=0,BHE=0時(shí),訪問(wèn)兩個(gè)存儲(chǔ)體。6.8086系統(tǒng)中存儲(chǔ)器采用什么結(jié)構(gòu)?用什么信號(hào)來(lái)選中存儲(chǔ)體?*149.實(shí)模式下,段寄存器裝入如下數(shù)據(jù),寫(xiě)出每段的起始和結(jié)束地址。(未布置?。゛)1000H10000H~1FFFFHb)1234H12340H~2233FHc)2300H23000H~32FFFHd)E000HE0000H~EFFFFHe)AB00HAB000H~BAFFFH*1510.在實(shí)模式下對(duì)下列CS:IP的組合,求出要執(zhí)行的下一條指令的存儲(chǔ)器地址。a)CS:IP=1000H:2000H12000Hb)CS:IP=2000H:1000H21000Hc)CS:IP=1A00H:B000H25000Hd)CS:IP=3456H:AB09H3F069H*1611.實(shí)模式下,求下列寄存器組合所尋址的存儲(chǔ)單元地址:a)DS=1000H,DI=2000H12000Hb)SS=2300H,BP=3200H26200Hc)DS=A000H,BX=1000HA1000Hd)SS=2900H,SP=3A00H2CA00H*17

12.若當(dāng)前SS=3500H,SP=0800H,說(shuō)明堆棧段在存儲(chǔ)器中的物理地址,若此時(shí)入棧10個(gè)字節(jié),SP內(nèi)容是什么?若再出棧6個(gè)字節(jié),SP為什么值?堆棧段的物理地址范圍:35000H~44FFFH當(dāng)前棧頂?shù)奈锢淼刂窞椋?5000H+0800H=35800H入棧10個(gè)字節(jié)以后:SP=0800H-000AH=07F6H出棧6個(gè)字節(jié)以后:SP=07F6H+0006H=07FCH*1813.某程序數(shù)據(jù)段中存放了兩個(gè)字,1EE5H和2A8CH,已知DS=7850H,數(shù)據(jù)存放的偏移地址為3121H及285AH。試畫(huà)圖說(shuō)明它們?cè)诖鎯?chǔ)器中的存放情況。若要讀取這個(gè)兩個(gè)字,需要對(duì)存儲(chǔ)器進(jìn)行幾次操作?*19它們的物理地址分別是:78500H+3121H=7B621H,78500H+285AH=7AD5AH。1EE5H的偏移地址是3121H,是奇地址,需要進(jìn)行兩次操作;2A8CH的偏移地址是285AH,是偶地址,需要一次操作。*20最小模式為單機(jī)系統(tǒng),系統(tǒng)中所需要的控制信號(hào)由CPU提供,實(shí)現(xiàn)和存儲(chǔ)器及I/O接口電路的連接。15.說(shuō)明8086系統(tǒng)中“最小模式”和“最大模式”兩種工作方式的主要區(qū)別是什么?*21最大模式可以構(gòu)成多處理器/協(xié)處理器系統(tǒng),即一個(gè)系統(tǒng)中存在兩個(gè)以上微處理器,每個(gè)處理器執(zhí)行自己的程序。系統(tǒng)中所需要的控制信號(hào)由總線控制器8288提供,8086CPU提供信號(hào)控制8288,以實(shí)現(xiàn)全局資源分配及總線控制權(quán)傳遞。在兩種模式中,CPU的24~31引腳意義不同。最小模式中引腳MN/MX接+5V,最大模式中該引腳接地。*22CPU與存儲(chǔ)器(或者I/O端口)進(jìn)行數(shù)據(jù)交換時(shí),CPU首先要送出地址信號(hào),然后再發(fā)出控制信號(hào)及傳送數(shù)據(jù)。由于8086引腳的限制,地址和數(shù)據(jù)分時(shí)復(fù)用一組總線,所以要加入地址鎖存器,先鎖存地址,使在讀/寫(xiě)總線周期內(nèi)地址穩(wěn)定。16.8086系統(tǒng)中為什么要用地址鎖存器?8282地址鎖存器與CPU如何連接?*238282是三態(tài)緩沖的8位數(shù)據(jù)交換鎖存器,由選通信號(hào)STB與CPU的地址鎖存允許信號(hào)ALE相連,當(dāng)STB端選通信號(hào)出現(xiàn),8位輸入數(shù)據(jù)鎖存到8個(gè)D觸發(fā)器中。中斷允許標(biāo)志位IF控制INTR引腳的中斷輸入。17.哪個(gè)標(biāo)志位控制CPU的INTR引腳?*24總線周期:BIU完成一次訪問(wèn)存儲(chǔ)器或I/O端口操作所需要的時(shí)間。讀總線周期,在T3或TW狀態(tài)數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上;寫(xiě)總線周期,在T2狀態(tài)數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上。18.什么叫總線周期?在CPU讀/寫(xiě)總線周期中,數(shù)據(jù)在哪個(gè)機(jī)器狀態(tài)出現(xiàn)在數(shù)據(jù)總線上?*2520.8086CPU重新啟動(dòng)后,從何處開(kāi)始執(zhí)行指令?從內(nèi)存的FFFF0H開(kāi)始執(zhí)行指令。21.8086CPU最小模式系統(tǒng)配置包括哪幾部分?包括時(shí)鐘發(fā)生器、地址鎖存器、數(shù)據(jù)收發(fā)器、存儲(chǔ)器及I/O接口。*26

補(bǔ)充題1:已知段地址和偏移地址分別為2015H和0028H,此存儲(chǔ)單元的物理地址是什么?存儲(chǔ)單元的物理地址:20150H+0028H=20178H

補(bǔ)充題2:若CS=A000H,求當(dāng)前代碼在存儲(chǔ)器中的物理地址范圍是什么?若數(shù)據(jù)段位于52000H到61FFFH的64K范圍內(nèi),問(wèn)DS=?物理地址范圍:A0000H~AFFFFH,DS=5200H。17十一月2022第三章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)17十一月20222.DS=1000H,BX=0200H,SI=0002H

(10200H~10205H)依次存有10H,2AH,3CH,46H,59H,6BH(1)MOVAX,0200H;AX=0200(2)MOVAX,[200H]

物理地址=1000H×10H+0200H=10200H, AX=2A10H(3)MOVAX,BX;AX=0200H(4)MOVAX,3[BX]

物理地址=1000H×10H+0200H+3H=10203H,AX=5946H(5)MOVAX,[BX+SI]

物理地址=1000H×10H+0200H+2H=10202H,AX=463CH(6)MOVAX,2[BX+SI]

物理地址=1000H×10H+200H+2H+2H=10204H,AX=6B59H17十一月20223.DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,VAL=0030H(1)MOVAX, [100H]直接尋址方式,10100H

物理地址=DS×10H+100H=10000H+0100H=10100H(2)MOVAX, VAL直接尋址方式,10030H

物理地址=DS×10H+VAL=10000H+0030H=10030H

(3)MOVAX, [BX] 寄存器間接尋址,10100H

物理地址=DS×10H+BX=10000H+0100H=10100H(4)MOVAX, ES:[BX]寄存器間接尋址,20100H

物理地址=ES×10H+BX=20000H+0100H=20100H(5)MOVAX, [SI] 寄存器間接尋址,100A0H物理地址=DS×10H+SI=10000H+00A0H=100A0H17十一月2022(6)MOVAX, [BX+10H]寄存器相對(duì)尋址,10110H物理地址=DS×10H+BX+10H=10000H+0100H+10H=10110H(7)MOVAX, [BP] 寄存器間接尋址,35200H物理地址=SS×10H+BP=35000H+0200H=35200H(8)MOVAX, VAL[BP][SI] 相對(duì)基址變址尋址,352D0H物理地址=SS×10H+BP+SI+VAL=35000H+0200H+00A0H+0030H=352D0H(9)MOVAX, VAL[BX][DI] 相對(duì)基址變址尋址,10154H物理地址=DS×10H+BX+DI+VAL=10000H+0100H+0024H+0030H=10154H(10)MOVAX, [BP][DI] 基址變址尋址,35224H物理地址=SS×10H+BP+DI=35000H+0200H+0024H=35224H17十一月20226.(1)MOV DL, AX

錯(cuò),寄存器尋址方式中,目的操作數(shù)與源操作數(shù)長(zhǎng)度必須一致(2)MOV 8650H, AX

錯(cuò),目的操作數(shù)不可以是立即數(shù)(3)MOV DS, 0200H

錯(cuò),MOV指令不允許將立即數(shù)傳入段寄存器(4)MOV [BX], [1200H]

錯(cuò),MOV指令的兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器(5)MOV IP, 0FFH

錯(cuò),IP不能作為MOV指令的目的操作數(shù)(6)MOV [BX+SI+3], IP

錯(cuò),IP不能作為MOV指令的源操作數(shù)(7)MOV AX, [BX][BP]

錯(cuò),BX與BP不可以同時(shí)出現(xiàn)在源操作數(shù)當(dāng)中(8)MOV AL, ES:[BP]對(duì)17十一月2022(9)MOV DL, [SI][DI]

錯(cuò),SI與DI是兩個(gè)變址寄存器,不可以同時(shí)出現(xiàn)在源操作數(shù)中。(10)MOV AX, OFFSET0A20H

錯(cuò),OFFSET后面跟的應(yīng)該是符號(hào)地址,再把符號(hào)地址的值作為操作數(shù)。(11)MOV AL, OFFSETTABLE

錯(cuò),TABLE的偏移地址是16位,目的與源長(zhǎng)度不一致(12)XCHG AL, 50H

錯(cuò),交換指令可以在寄存器之間,寄存器和存儲(chǔ)器之間進(jìn)行,不可以是立即數(shù)。(13)IN BL, 05H

錯(cuò),BL不能作為IN指令的目的操作數(shù),只能用AL或AX(14)OUT AL, 0FFEH

錯(cuò),端口地址0FFEH>FFH,應(yīng)用DX間接尋址,同時(shí)源操作數(shù)和目標(biāo)操作數(shù)的位置顛倒了,應(yīng)改為OUTDX,AL。17十一月20228.SS=1050H,SP=0100H,AX=4860H,BX=1287H48H60H1050H:00FEHSP(a)執(zhí)行PUSHAX后1050H:00FCH48H60H12H87HSP(b)執(zhí)行PUSHBX后1050H:00FEH87H12H60H48HSP(c)執(zhí)行POPBX后1050H:0100H87H12H60H48HSP(d)執(zhí)行POPAX后*3410. ARRAY DB………… NEW DB7DUP(?)

SUM DW0 AVERAGE DB0

(1) MOV CX, 07H MOV BX, 00HNEXT: MOV AL, ARRAY[BX] ADD AL, 5

DAA MOV NEW[BX],AL INC BX LOOP NEXT HLT*35(2) MOV CX, 06H MOV BX, 01H MOV AH, 00H MOV AL, ARRAYL1: ADDAL, ARRAY[BX]

DAA

ADC AH, 00H ;將進(jìn)位加到AH中

INC BX LOOPL1 MOV SUM, AX*36(3)MOV DX, SUM ;DX=0×××H(BCD碼) MOV BL, 07H MOV AX, DX ;取千位、百位數(shù)

AND AL, 0F0H MOV CL, 04H ROL AL, CL ;AX=0×0×H AAD ;AL←AH×10+AL,AH←00 DIV BL ;十位商在AL中,余數(shù)在AH中

MOV AVERAGE+1,AL ;存平均成績(jī)十位

MOV AL, DL ;取個(gè)位和數(shù)

AND AL, 0FH AAD ;AL←AH×10+AL,AH←00 DIV BL ;個(gè)位商在AL中,余數(shù)在AH中

MOV AVERAGE, AL ;存平均成績(jī)個(gè)位

MOV AVERAGE+2,AH ;存余數(shù)*3711.AX=2508H,BX=0F36H,CX=0004H,DX=1864H(1)AND AH, CL

AH=04H,CF=0;(00100101B與00000100B)(2)OR BL, 30H

BL=36H,CF=0;(00110110B或00110000B)(3)NOT AX

AX=DAF7H,CF無(wú)影響;(0010010100001000B取反后1101101011110111B)(4)XOR CX, 0FFF0H

CX=FFF4H,CF=0;(0000000000000100B和1111111111110000B異或后1111111111110100B)(5)TEST DH, 0FH

TEST操作并不修改結(jié)果,CF=0;

*38(6)CMP CX, 00H

CMP操作并不修改結(jié)果,CF=0;(7)SHR DX, CL

DX=0186H,CF=0;(8)SAR AL, 1

AH=04H,CF=0;(9)SHL BH, CL

BH=F0H,CF=0;(10)SAL AX, 1

AX=4A10H,CF=0;(0010010100001000B

左移)(11)RCL BX, 1

若程序執(zhí)行之前CF=0,BX=1E6CH,CF=0;若程序執(zhí)行之前CF=1,BX=1E6DH,CF=0。(12)ROR DX, CL

DX=4186H,CF=0。

*3912.DATA SEGMENT STRINGDB‘Thepersonalcomputer&TV’ DATAENDS EDATASEGMENT GET_CHAR DB 26DUP(?) NEW_STR DB ‘Thecomputer’EDATAENDS(1) MOV SI, OFFSETSTRING MOV DI, OFFSETGET_CHAR MOV CX, 001AH CLD REP MOVSB*40(2) MOV SI, OFFSETSTRING MOV DI, OFFSETNEW_STR MOVCX, 001AH CLD

REPZ CMPSB ;DS:SI-ES:DI JNE CLR_AL MOV AL, 1 JMPSET_BLCLR_AL: MOV AL, 0SET_BL: MOV BL, 001AH SUB BL, CL HLT*41(3) MOV DI, OFFSET STRING MOV CX, 001AH MOV AL, ‘&’ CLDL1: SCASB ;AL-ES:DI JZFINDNEXT: LOOP L1 HLTFIND: MOVBL,‘’

MOV[DI-1], BL ;用空格替換& JMP NEXT*42(4) MOV SI, OFFSETSTRING ;數(shù)據(jù)段,源串

MOV DI, OFFSETCAPS ;附加段,大寫(xiě)字符

MOV BX, OFFSETCHART ;附加段,其它字符

MOV CX, 001AH CLDL1: LODSB ;AL←DS:SI

MOV [SI-1], 00H ;取出字符后該單元清零

CMP AL, ‘A’ JB OTHER CMP AL, ‘Z’ JA OTHER STOSB ;存大寫(xiě)字符

JMP L2

OTHER: XCHG BX, DI ;存其它字符

STOSB XCHGBX, DIL2: LOOP L1 HLT*4314.(1)JMP PROG_N

段內(nèi)直接近轉(zhuǎn)移,目的地址為1200H:0278H(或12278H)

(2)JMP BX

段內(nèi)寄存器間接轉(zhuǎn)移,目的地址為1200H:0300H(或12300H)

(3)JMP [BX]

物理地址=DS×10H+BX=2000H×10H+0300H=20300H(20300H)=4800HIP

段內(nèi)存儲(chǔ)器間接轉(zhuǎn)移,目的地址為1200H:4800H(或16800H)

(4)JMP FAR PROG_F

段間立接轉(zhuǎn)移,目的地址為3400H:0ABCH(或34ABCH)

(5)JMP DWORD PTR[BX]

物理地址=DS×10H+BX=2000H×10H+0300H=20300H(20300H)=4800HIP, (20302H)=00FFHCS

段間存儲(chǔ)器間接轉(zhuǎn)移,目的地址為00FFH:4800H(或057F0H)*44JMP改為CALL后,目的地址與JMP相同。(1)CALL PROG_N

段內(nèi)直接調(diào)用,3字節(jié)指令,0103H入棧(2)CALL BX

段內(nèi)寄存器間接調(diào)用,2字節(jié)指令,0102H入棧(3)CALL [BX]

段內(nèi)存儲(chǔ)器間接調(diào)用,2字節(jié)指令,0102H入棧(4)CALL FAR PROG_F

段間直接調(diào)用,5字節(jié)指令,1200H和0105H分別入棧(5)CALL DWORD PTR[BX]

段間間接調(diào)用,2字節(jié)指令,1200H和0102H分別入棧*4515.(1)LOOP NEXT

(2)LOOPE NEXT

(3)LOOPNE NEXTSTART: MOV AX, 01H MOV BX, 02H MOV DX, 03H MOV CX, 04HNEXT: INC AX ADD BX, AX SHR DX, 1 ( )

程序運(yùn)行前DX=00000011B

(1)AX=05HBX=10HCX=00HDX=00H

(2)AX=02HBX=04HCX=03HDX=01H

(3)AX=03HBX=07HCX=02HDX=00H*4618.(1)中斷類(lèi)型號(hào)為0040H/4=10H(2)中斷服務(wù)程序的段地址為D169H,偏移地址為240BH,即D169H:240BH,物理地址為D169H×10H+240BH=D3A9BH0BH24H69HD1H0000H:0040H0000H:0042H中斷向量表17十一月2022第四章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)*481.下列變量各占多少字節(jié)?

A1 DW 23H,5876H A2 DB 3DUP(?),0AH,0DH,‘$’ A3 DD 5DUP(1234H,567890H) A4 DB 4DUP(3DUP(1,2,‘ABC’))解:A1變量占4個(gè)字節(jié);

A2變量占6個(gè)字節(jié);

A3變量占5×8=40個(gè)字節(jié);

A4變量占4×3×5=60個(gè)字節(jié);*493.有符號(hào)定義語(yǔ)句如下:

BUF DB 3,4,5,‘123’ ABUF DB 0 L EQU ABUF-BUF求L的值為多少?解:BUF共定義了6個(gè)字節(jié),則ABUF的地址為ABUF+6,因此L的值為6。*5019.應(yīng)考慮數(shù)組中可能出現(xiàn)多個(gè)0的情況程序如下:

EDATA SEGMENT ;定義數(shù)據(jù)段

BUFF DB N,XXH,…… M EQU 0 EDATA ENDS ; STACK SEGMENT STACK;定義堆棧段

DW 50HDUP(?) TOP LABEL WORD STACK ENDS ;*51CODE SEGMENT ;定義代碼段

ASSUMECS:CODE,ES:EDATA,DS:EDATA,SS:STACKMAIN PROC FARSTART: MOV AX, STACK ;初始化堆棧段

MOV SS, AX MOV SP, OFFSETTOP

PUSH DS ;程序段前綴

MOV AX, 0 PUSH AX

MOV AX, EDATA ;初始化ES,DS MOV ES, AX MOV DS, AX

*52 MOV AL, M ;關(guān)鍵字M存入AX MOV DI, OFFSETBUFF MOV CX, [DI] ;數(shù)組長(zhǎng)度存入CX INC DI ;指向數(shù)組起始地址

CLD ;清方向標(biāo)志

L1: REPNE SCASB ;重復(fù)搜索關(guān)鍵字

JNZ STOP ;未找到,轉(zhuǎn)STOP結(jié)束

JCXZ STOP ;最后一個(gè)數(shù)是M,轉(zhuǎn)STOP

PUSH DI ;關(guān)鍵字下一單元地址和循

PUSH CX

;環(huán)次數(shù)入棧保護(hù)

*53DEL: MOV BL, [DI] ;前移,末尾補(bǔ)0 MOV [DI-1], BL INC DI LOOP DEL MOV [DI], 0

POP CX ;恢復(fù)CX,DI POP DI DEC DI;由于REPNESCASB已自動(dòng)加1 JMP L1STOP: RETMAIN ENDPCODE ENDS END START *5422.設(shè)學(xué)生人數(shù)為字節(jié),成績(jī)?yōu)閴嚎sBCD碼,且都是合法的。程序如下:EDATASEGMENT ;定義數(shù)據(jù)段

BUFF DB XXH, …… ANUM EQU $-BUFF SNUMDB 5DUP(0) ;存放各類(lèi)成績(jī)統(tǒng)計(jì)結(jié)果

BUFF1DB ANUMDUP(0) ;存放60分以下成績(jī)

BUFF2DB ANUMDUP(0) ;存放60~69分成績(jī)

BUFF3DB ANUMDUP(0) ;存放70~79分成績(jī)

BUFF4DB ANUMDUP(0) ;存放80~89分成績(jī)

BUFF5DB ANUMDUP(0) ;存放90分以上成績(jī)EDATAENDS*55STACKSEGMENT STACK ;定義堆棧段

DW 50HDUP(?) TOP LABEL WORDSTACKENDSCODE SEGMENT ;定義代碼段

ASSUMECS:CODE,ES:EDATA,DS:EDATA,SS:STACKMAIN PROC FARSTART: MOV AX, STACK ;初始化堆棧段

MOV SS, AX MOV SP, OFFSETTOP

PUSH DS ;程序段前綴

MOV AX, 0 PUSH AX*56

MOV AX, EDATA ;初始化ES,DS MOV ES, AX MOV DS, AX MOV CL, ANUM ;取學(xué)生人數(shù)

MOV CH, 0 MOV BH, 0MOV SI, OFFSETBUFF ;成績(jī)偏移地址SI MOV DI, OFFSETSNUM;統(tǒng)計(jì)結(jié)果偏移地址DIL1: MOV AL, [SI] ;取成績(jī)AL CMP AL, 60H ;與60分比較

JAE NEXT1 ;高于等于60分,轉(zhuǎn)NEXT1*57

MOV BL, [DI] ;低于60分存入相應(yīng)區(qū)域

MOV BUFF1[BX], AL INC BYTEPTR[DI] ;60分計(jì)數(shù)單元加1 JMP NEXT5 ;轉(zhuǎn)NEXT5NEXT1:CMP AL, 69H ;與69分比較

JA NEXT2

MOV BL, [DI+1] ;60~69分存入相應(yīng)區(qū)域

MOV BUFF2[BX], AL INC BYTEPTR[DI+1] ;60~69分計(jì)數(shù)單元加1 JMP NEXT5*58NEXT2: CMP AL, 79H JA NEXT3

MOV BL, [DI+2] MOV BUFF2[BX], AL INC BYTEPTR[DI+2] JMP NEXT5NEXT3: CPM AL, 89H JA NEXT4

MOV BL, [DI+3] MOV BUFF3[BX], AL INC BYTEPTR[DI+3] JMP NEXT5*59NEXT4: MOV BL, [DI+4] MOV BUFF4[BX], AL

INC BYTEPTR[DI+4]

NEXT5: INC SI ;地址指針加1 LOOP L1 ;未判斷完轉(zhuǎn)L1 RETMAIN ENDPCODE ENDSEND START17十一月2022第五章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)17十一月2022P2371.答:靜態(tài)RAM速度非???,只要電源存在內(nèi)容就不會(huì)自動(dòng)消失。它的基本存儲(chǔ)電路為6個(gè)MOS管組成1位,因此集成度相對(duì)較低,功耗也較大。一般,高速緩沖存儲(chǔ)器用它組成。

DRAM的內(nèi)容在10-3或10-6秒之后自動(dòng)消失,因此必須周期性的在內(nèi)容消失之前進(jìn)行刷新。由于它的基本存儲(chǔ)電路由一個(gè)晶體管及一個(gè)電容組成,因此它的集成度高,成本較低,另外耗電也少,但它需要一個(gè)額外的刷新電路。DRAM運(yùn)行速度較慢,SRAM比DRAM要快2~5倍,一般,PC機(jī)的標(biāo)準(zhǔn)存儲(chǔ)器都采用DRAM組成。

17十一月2022P2372.答:掩膜型ROM中信息是廠家根據(jù)用戶(hù)給定的程序或數(shù)據(jù),對(duì)芯片圖形掩膜進(jìn)行兩次光刻而寫(xiě)入的,用戶(hù)對(duì)這類(lèi)芯片無(wú)法進(jìn)行任何修改。

PROM出廠時(shí),里面沒(méi)有信息,用戶(hù)采用一些設(shè)備可以將內(nèi)容寫(xiě)入PROM,一旦寫(xiě)入,就不能再改變了,即只允許編程一次。

EPROM可編程固化程序,且在程序固化后可通過(guò)紫外光照擦除,以便重新固化新數(shù)據(jù)。

EEPROM可編程固化程序,并可利用電壓來(lái)擦除芯片內(nèi)容,以重新編程固化新數(shù)據(jù)。17十一月20227.答:由于所用的芯片為1024×1位,構(gòu)成1024×8位(即1K×8位)的存儲(chǔ)器需要8片,因此組成16K×8位的存儲(chǔ)器需要16×8=128片。片內(nèi)有1024個(gè)單元,需要10根地址線。

16組(每組8片)存儲(chǔ)器需要16根片選信號(hào),至少需要4根地址線經(jīng)譯碼器輸出。示意圖如下頁(yè)。

17十一月2022D7D6D5D4D3D2D1D0CSCSCSCSCSCSCSCSY0Y1Y15CSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCS…...17十一月202213.圖如下CED7~D0D15~D8A12~A0OECEA13~A1RD1#2764CED7~D0D15~D8A12~A0OECEA13~A1RD2#2764CE2D7~D0D15~D8A12~A0WECE1A13~A1WR3#6264CE2D7~D0D15~D8A12~A0WECE1A13~A1WR4#6264CE2CE2A0Y0Y1Y2Y3BHEM/IOA19A18A17A16A15A14BACG2BG2AG1BHEY2Y3A0A017十一月202213.

CBAA19A18A17A16A15A14

A13~A000000Y0有效80000~83FFFH100001Y1有效84000~87FFFH100010Y2有效88000~8BFFFH100011Y3有效8C000~8FFFFH17十一月2022第六章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)17十一月2022P2621.答:CPU和外設(shè)之間的信息交換存在以下一些問(wèn)題:速度不匹配;信號(hào)電平不匹配;信號(hào)格式不匹配;時(shí)序不匹配。

I/O接口電路是專(zhuān)門(mén)為解決CPU與外設(shè)之間的不匹配、不能協(xié)調(diào)工作而設(shè)置的,處于總線和外設(shè)之間,一般應(yīng)具有以下基本功能:⑴設(shè)置數(shù)據(jù)緩沖以解決兩者速度差異所帶來(lái)的不協(xié)調(diào)問(wèn)題;⑵設(shè)置信號(hào)電平轉(zhuǎn)換電路,如可采用MC1488、MC1489、MAX232、MZX233芯片來(lái)實(shí)現(xiàn)電平轉(zhuǎn)換。⑶設(shè)置信息轉(zhuǎn)換邏輯,如模擬量必須經(jīng)A/D變換成數(shù)字量后,才能送到計(jì)算機(jī)去處理,而計(jì)算機(jī)送出的數(shù)字信號(hào)也必須經(jīng)D/A變成模擬信號(hào)后,才能驅(qū)動(dòng)某些外設(shè)工作。⑷設(shè)置時(shí)序控制電路;⑸提供地址譯碼電路。17十一月20223.答:CPU與外設(shè)通信時(shí),傳送的信息主要包括數(shù)據(jù)信息、狀態(tài)信息和控制信息。在接口電路中,這些信息分別進(jìn)入不同的寄存器,通常將這些寄存器和它們的控制邏輯統(tǒng)稱(chēng)為I/O端口,CPU可對(duì)端口中的信息直接進(jìn)行讀寫(xiě)。在一般的接口電路中都要設(shè)置以下幾種端口:

⑴數(shù)據(jù)端口:用來(lái)存放外設(shè)送往CPU的數(shù)據(jù)以及CPU要輸出到外設(shè)去的數(shù)據(jù)。數(shù)據(jù)端口主要起數(shù)據(jù)緩沖的作用。

⑵狀態(tài)端口:主要用來(lái)指示外設(shè)的當(dāng)前狀態(tài)。每種狀態(tài)用1位表示,每個(gè)外設(shè)可以有幾個(gè)狀態(tài)位,它們可由CPU讀取,以測(cè)試或檢查外設(shè)的狀態(tài),決定程序的流程。

⑶命令端口:也稱(chēng)為控制端口,它用來(lái)存放CPU向接口發(fā)出的各種命令和控制字,以便控制接口或設(shè)備的動(dòng)作。17十一月2022I/O端口的編址方式有兩種:分別稱(chēng)為存儲(chǔ)器映象尋址方式和I/O指令尋址方式。

存儲(chǔ)器映象尋址方式:把系統(tǒng)中的每個(gè)I/O端口都看作一個(gè)存儲(chǔ)單元,并與存儲(chǔ)單元一樣統(tǒng)一編址,這樣訪問(wèn)存儲(chǔ)器的所有指令均可用來(lái)訪問(wèn)I/O端口,不用設(shè)置專(zhuān)門(mén)的I/O指令。

I/O指令尋址方式:對(duì)系統(tǒng)中的輸入輸出端口地址單獨(dú)編址,構(gòu)成一個(gè)I/O空間,它們不占用存儲(chǔ)空間,而是用專(zhuān)門(mén)的IN指令和OUT指令來(lái)訪問(wèn)這種具有獨(dú)立地址空間的端口。

8086/8088CPU采用I/O指令尋址方式,用地址總線的低16位(A15~A0)來(lái)尋址I/O端口,最多可以訪問(wèn)216=65536個(gè)輸入或輸出端口。17十一月20224.答:CPU與外設(shè)之間的數(shù)據(jù)傳輸數(shù)據(jù)采用程序控制方式、中斷方式、DMA方式等三種。

程序控制傳送方式:CPU與外設(shè)之間的數(shù)據(jù)傳送是在程序控制下完成的。⑴無(wú)條件傳送方式:也稱(chēng)為同步傳送方式,主要用于對(duì)簡(jiǎn)單外設(shè)進(jìn)行操作,或者外設(shè)的定時(shí)是固定的或已知的場(chǎng)合。⑵條件傳送:也稱(chēng)為查詢(xún)式傳送方式,在開(kāi)始傳送前,必須先查詢(xún)外設(shè)已處于準(zhǔn)備傳送數(shù)據(jù)的狀態(tài),才能進(jìn)行傳送。

采用中斷方式:CPU平時(shí)可以執(zhí)行主程序,只有當(dāng)輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好了,或者輸出端口的數(shù)據(jù)緩沖器已空時(shí),才向CPU發(fā)中斷請(qǐng)求。CPU響應(yīng)中斷后,暫停執(zhí)行當(dāng)前的程序,17十一月2022轉(zhuǎn)去執(zhí)行管理外設(shè)的中斷服務(wù)程序。在中斷服務(wù)程序中,用輸入或輸出指令在CPU和外設(shè)之間進(jìn)行一次數(shù)據(jù)交換。等輸入或輸出操作完成之后,CPU又回去執(zhí)行原來(lái)的程序。

DMA方式:也要利用系統(tǒng)的數(shù)據(jù)總線、地址總線和控制總線來(lái)傳送數(shù)據(jù)。原先,這些總線是由CPU管理的,但當(dāng)外設(shè)需要利用DMA方式進(jìn)行數(shù)據(jù)傳送時(shí),接口電路可以向CPU提出請(qǐng)求,要求CPU讓出對(duì)總線的控制權(quán),用DMA控制器來(lái)取代CPU,臨時(shí)接管總線,控制外設(shè)和存儲(chǔ)器之間直接進(jìn)行高速的數(shù)據(jù)傳送。這種控制器能給出訪問(wèn)內(nèi)存所需要的地址信息,并能自動(dòng)修改地址指針,也能設(shè)定和修改傳送的字節(jié)數(shù),還能向存儲(chǔ)器和外設(shè)發(fā)出相應(yīng)的讀/寫(xiě)控制信號(hào)。在DMA傳送結(jié)束后,它能釋放總線,把對(duì)總線的控制權(quán)又交還給CPU。17十一月20227.Y0Y2Y3Y4Y5Y6Y7Y1G1G2AG2BABCA12A15A13A5A4A3A14M/IO74LS1389000~9007H9008~900FH9010~9017H9018~901FH9020~9027H9028~902FH9030~9037H9038~903FH

CBAA15A14A13A12A11~A6A5A4A3

A2~A0100100000017十一月20228.答:將用于各部件之間傳送信息的公共通路稱(chēng)為總線。根據(jù)總線中信息傳送的類(lèi)型可分為地址總線、數(shù)據(jù)總線和控制總線,此外還有電源線和地線若按總線的規(guī)模、用途和應(yīng)用場(chǎng)合,則可以分成:

片級(jí)總線也叫做元件級(jí)總線,是由芯片內(nèi)部通過(guò)引腳引出的總線,用于芯片一級(jí)的互連線。它實(shí)現(xiàn)CPU主板或其它插件板上的各種芯片間的互連。

系統(tǒng)總線也叫內(nèi)總線或板級(jí)總線,它用于微型計(jì)算機(jī)中各插件板之間的連線,也就是通常所說(shuō)的微機(jī)總線。

外部總線也稱(chēng)為通信總線,它用于微型計(jì)算機(jī)系統(tǒng)之間,或微型計(jì)算機(jī)系統(tǒng)與其它電子儀器或設(shè)備之間的通信。17十一月2022

對(duì)于制造廠家來(lái)說(shuō),只要按總線接口規(guī)范設(shè)計(jì)CPU主板、I/O接口板或存儲(chǔ)器插件板,然后將插件板插入主機(jī)的總線擴(kuò)展槽中,就可構(gòu)成系統(tǒng),很適合于大批量生產(chǎn)、組裝和調(diào)試,也便于更新和擴(kuò)充系統(tǒng)。

對(duì)于用戶(hù)來(lái)說(shuō),可根據(jù)自身需要,靈活地選購(gòu)接口板或存儲(chǔ)器插件,來(lái)組裝成適合自己的應(yīng)用需要的系統(tǒng)或更新原有系統(tǒng)。17十一月2022第七章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)*77P3021.【答】:當(dāng)CPU正常運(yùn)行程序時(shí),由于微處理器內(nèi)部事件或外設(shè)請(qǐng)求,引起CPU中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的外設(shè)(或內(nèi)部事件)的中斷服務(wù)子程序,中斷服務(wù)程序執(zhí)行完畢,再返回被中止的程序,這一過(guò)程稱(chēng)為中斷。

可屏蔽中斷由引腳INTR引入,采用電平觸發(fā),高電平有效,INTR信號(hào)的高電平必須維持到CPU響應(yīng)中斷才結(jié)束??梢酝ㄟ^(guò)軟件設(shè)置來(lái)屏蔽外部中斷,即使外部設(shè)備有中斷請(qǐng)求,CPU可以不予響應(yīng)。當(dāng)外設(shè)有中斷申請(qǐng)時(shí),在當(dāng)前指令執(zhí)行完后,CPU首先查詢(xún)IF位,若IF=0,CPU就禁止響應(yīng)任何外設(shè)中斷;若IF=1,CPU就允許響應(yīng)外設(shè)的中斷請(qǐng)求。

不可屏蔽中斷由引腳NMI引入,邊沿觸發(fā),上升沿之后維持兩個(gè)時(shí)鐘周期高電平有效。不能用軟件來(lái)屏蔽的,一旦有不可屏蔽中斷請(qǐng)求,如電源掉電等緊急情況,CPU必須予以響應(yīng)。*784.【答】:CPU響應(yīng)中斷要有三個(gè)條件:外設(shè)提出中斷申請(qǐng);本中斷位未被屏蔽;中斷允許??善帘沃袛嗵幚淼倪^(guò)程一般分成幾步:中斷請(qǐng)求;中斷響應(yīng);保護(hù)現(xiàn)場(chǎng);轉(zhuǎn)入執(zhí)行中斷服務(wù)子程序;恢復(fù)現(xiàn)場(chǎng)和中斷返回。

CPU在響應(yīng)外部中斷,并轉(zhuǎn)入相應(yīng)中斷服務(wù)子程序的過(guò)程中,要依次做以下工作:⑴從數(shù)據(jù)總線上讀取中斷類(lèi)型號(hào),將其存入內(nèi)部暫存器。⑵將標(biāo)志寄存器PSW的值入錢(qián)。⑶將PSW中的中斷允許標(biāo)志IF和單步標(biāo)志TF清0,以屏蔽外部其它中斷請(qǐng)求,避免CPU以單步方式執(zhí)行中斷處理子程字。⑷保護(hù)斷點(diǎn),將當(dāng)前指令下面一條指令的段地址CS和指令指針I(yè)P的值入棧,中斷處理完畢后,能正確返回到主程序繼續(xù)執(zhí)行。⑸根據(jù)中斷類(lèi)型號(hào)到中斷向量表中找到中斷向量,轉(zhuǎn)入相應(yīng)中斷服務(wù)子程序。⑹中斷處理程序結(jié)束以后,從堆棧中依次彈出IP、CS和PSW,然后返回主程序斷點(diǎn)處,繼續(xù)執(zhí)行原來(lái)的程序。*795.【答】:由于響應(yīng)中斷時(shí)CPU自動(dòng)關(guān)閉中斷(IF=0),故在中斷服務(wù)子程序中STI指令后方可實(shí)現(xiàn)中斷嵌套。一般在中斷服務(wù)子程序中保護(hù)現(xiàn)場(chǎng)后即設(shè)置開(kāi)中斷指令STI(IF=1),以便實(shí)現(xiàn)中斷嵌套。

6.【答】:中斷結(jié)束命令EOI后,清除中斷服務(wù)寄存器中的標(biāo)志位,即允許響應(yīng)同級(jí)或低級(jí)中斷,為避免錯(cuò)誤,一般將中斷結(jié)束命令EOI置于中斷服務(wù)子程序結(jié)束前。

7.【答】:中斷向量表又稱(chēng)中斷服務(wù)程序入口地址表。將每個(gè)設(shè)備的中斷服務(wù)程序入口地址(矢量地址)集中,依次放在中斷向量表中。當(dāng)CPU響應(yīng)中斷后,控制邏輯根據(jù)外設(shè)提供的中斷類(lèi)型號(hào)查找中斷向量表,然后將中斷服務(wù)程序的入口地址送到段寄存器和指令指針寄存器,CPU轉(zhuǎn)入中斷服務(wù)子程序。這樣大大加快中斷處理的速度。8086/8088系統(tǒng)允許處理256種類(lèi)型的中斷,對(duì)應(yīng)類(lèi)型號(hào)為0~FFH。在存儲(chǔ)器的00000H~003FFH,占1K字節(jié)空間,用作存放中斷向量。每個(gè)類(lèi)型號(hào)占4個(gè)字節(jié),高2個(gè)字節(jié)存放中斷入口地址的段地址,低2個(gè)字節(jié)存放段內(nèi)偏移地址。*8010.00024H00026H10H00H00H60H......中斷向量表02H40H08H00H00HA2HSP=00FAHSP=0100HIPCSPSW...堆棧指令I(lǐng)NT9為雙字節(jié)指令,因此下一條指令的地址為0800H:00A2H;9×4=36(24H),中斷向量表地址00024H中取得0060HIP,00026H中取得1000HCS,即執(zhí)行指令I(lǐng)NT9后,CS=1000H,IP=0060H。*8110.標(biāo)志寄存器PSW執(zhí)行INT9前執(zhí)行INT9后CFXPFXAFXZFSFTFIFDFOFXXXX00000010010000000000001000000000PSW=0040H*8214.……10H00H32H50H10H00H61H00H10H00H50H20H50H×4=00140H52H×4=00148H54H×4=00150HIR0

類(lèi)型號(hào)50HIR2

類(lèi)型號(hào)52HIR4

類(lèi)型號(hào)54H中斷向量表*83(1)中斷向量表形成

MOV AX,1000H MOV DS,AX ;DS中為段地址

MOV DX,5020H ;DX中為偏移地址

MOV AL,50H ;中斷類(lèi)型號(hào)為50H MOV AH,25H INT 21H ;設(shè)置類(lèi)型號(hào)50H的中斷向量

MOV DX,6100H MOV AL,52H INT 21H ;設(shè)置類(lèi)型號(hào)52H的中斷向量

MOV DX,3250H MOV AL,54H INT 21H ;設(shè)置類(lèi)型號(hào)54H的中斷向量*84(2)8259A初始化編程:設(shè)8259A的端口地址為FFC8H和FFC9H MOV AL,00010011B(13H);定義ICW1,單獨(dú)使用,邊沿觸發(fā)

MOV DX,0FFC8H OUT DX,AL ;發(fā)ICW1命令

MOV AL,50H

;IR0的中斷類(lèi)型號(hào)為50H MOV DX,0FFC9H OUT DX,AL ;發(fā)ICW2命令

MOV AL,00000001B

;定義ICW4,完全嵌套,非緩沖

OUT DX,AL MOV AL,11101010B(0EAH);定義OCW1,允許IR0、IR2、 OUT DX,AL ;IR4中斷,其余中斷請(qǐng)求屏蔽

*85(3)中斷服務(wù)子程序

PUSH AX ;保護(hù)現(xiàn)場(chǎng)

…… STI ;開(kāi)中斷

…… ;中斷處理

CLI ;關(guān)中斷

MOV AL,20H ;定義OCW2,普通EOI結(jié)束命令

MOV DX,0FFC8H OUT DX,AL …… POP AX ;恢復(fù)現(xiàn)場(chǎng)

IRET ;中斷返回*8620H00H38H00H20H00H28H00H20H00H18H00H……83H×4=0020CH94H×4=00250HA4H×4=00290H主片IR3,類(lèi)型號(hào)為83H1#從片IR4,類(lèi)型號(hào)為94H2#從片IR4,類(lèi)型號(hào)為A4H中斷向量表16.*87SP/ENCAS0CAS1CAS2CAS0CAS1CAS2CAS0CAS1CAS2CSA0D7~D0INTARDWRINTA1D7~D0INTARDWRINTRGNDGNDSP/ENSP/ENIR4IR5IR3IR2IR4INTINT2#從8259A1#從8259A主8259AVCC硬件連接圖*88(1)中斷向量表形成

MOV AX,2000H MOV DS,AX ;DS中為段地址

MOV DX,1800H ;DX中為偏移地址

MOV AL,83H

;中斷類(lèi)型號(hào)為83H MOV AH,25H INT 21H ;設(shè)置類(lèi)型號(hào)83H的中斷向量

MOV DX,2800H MOV AL,94H INT 21H ;設(shè)置類(lèi)型號(hào)94H的中斷向量

MOV DX,3800H MOV AL,0A4H INT 21H ;設(shè)置類(lèi)型號(hào)A4H的中斷向量*89(2)主片8259A初始化編程:端口地址為CCF8H和CCFAH MOV AL,00011001B(19H);定義ICW1,主片級(jí)聯(lián),電平觸發(fā)

MOV DX,0CCF8H OUT DX,AL ;發(fā)ICW1命令

MOV AL,80H

;IR0的中斷類(lèi)型號(hào)為80H MOV DX,0CCFAH OUT DX,AL ;發(fā)ICW2命令

MOV AL,00100100B(24H);定義ICW3,IR2和IR5接從片

OUT DX,AL MOV AL,00000001B(01H);定義ICW4,完全嵌套,非緩沖

OUT DX,AL ;非自動(dòng)EOI結(jié)束方式

MOV AL,11010011B(0D3H);定義OCW1,允許IR2、IR3 OUT DX,AL ;IR5中斷,其余中斷請(qǐng)求屏蔽*90(3)1#從片8259A初始化編程:端口地址為FFE8H和FFEAH MOV AL,00011001B(19H);定義ICW1,片從級(jí)聯(lián),電平觸發(fā)

MOV DX,0FFE8H OUT DX,AL ;發(fā)ICW1命令

MOV AL,90H

;IR0的中斷類(lèi)型號(hào)為90H MOV DX,0FFEAH OUT DX,AL ;發(fā)ICW2命令

MOV AL,00000010B(02H);定義ICW3,1#從片接主片的IR2 OUT DX,AL MOV AL,00000001B(01H);定義ICW4,完全嵌套,非緩沖 OUT DX,AL ;非自動(dòng)EOI結(jié)束方式

MOV AL,11101111B(0EFH);定義OCW1,允許IR4中斷,

OUT DX,AL ;其余中斷請(qǐng)求屏蔽*91(4)2#從片8259A初始化編程:端口地址為FFECH和FFEEH MOV AL,00011001B(19H);定義ICW1,片從級(jí)聯(lián),電平觸發(fā)

MOV DX,0FFECH OUT DX,AL ;發(fā)ICW1命令

MOV AL,0A0H

;IR0的中斷類(lèi)型號(hào)為A0H MOV DX,0FFEEH OUT DX,AL ;發(fā)ICW2命令

MOV AL,00000101B(05H);定義ICW3,2#從片接主片的IR5 OUT DX,AL MOV AL,00000001B(01H);定義ICW4,完全嵌套,非緩沖 OUT DX,AL ;非自動(dòng)EOI結(jié)束方式

MOV AL,11101111B(0EFH);定義OCW1,允許IR4中斷,

OUT DX,AL ;其余中斷請(qǐng)求屏蔽17十一月2022第八章作業(yè)習(xí)題課杭州電子科技大學(xué)自動(dòng)化學(xué)院微機(jī)原理與接口技術(shù)*93P3241.【答】:8253內(nèi)部包含3個(gè)完全相同的計(jì)數(shù)器/定時(shí)器通道,即0~2計(jì)數(shù)通道,對(duì)3個(gè)通道的操作完全是獨(dú)立的。8253的每個(gè)通道都有6種不同的工作方式。

方式0——計(jì)數(shù)結(jié)束中斷方式:當(dāng)對(duì)8253的任一個(gè)通道寫(xiě)入控制字,并選定工作于方式0時(shí),該通道的輸出端OUT立即變?yōu)榈碗娖?。要?253能夠進(jìn)行計(jì)數(shù),門(mén)控信號(hào)GATE必須為高電平。經(jīng)過(guò)n十1個(gè)脈沖后,計(jì)數(shù)器減為0,這時(shí)OUT引腳由低電平變成高電平。OUT引腳上的高電平信號(hào),一直保持到對(duì)該計(jì)數(shù)器裝入新的計(jì)數(shù)值,或設(shè)置新的工作方式為止。在計(jì)數(shù)的過(guò)程中,如果GATE變?yōu)榈碗娖?,則暫停減1計(jì)數(shù),計(jì)數(shù)器保持GATE有效時(shí)的值不變,OUT仍為低電平。待GATE回到高電平后,又繼續(xù)往下計(jì)數(shù)。

方式1——可編程單穩(wěn)態(tài)輸出方式:當(dāng)CPU用控制字設(shè)定某計(jì)數(shù)器工作于方式1時(shí),該計(jì)數(shù)器的輸出OUT立即變?yōu)楦唠娖?。GATE出現(xiàn)一個(gè)上升沿后,在下一個(gè)時(shí)鐘脈沖的下降沿,將n裝入計(jì)數(shù)器的執(zhí)行部件,同時(shí),輸出端OUT由高電平向低電平跳變。當(dāng)計(jì)數(shù)器的值減為零時(shí),輸出端OUT產(chǎn)生由低*94到高的正跳變,在OUT引腳上得到一個(gè)n個(gè)時(shí)鐘寬度的負(fù)單脈沖。在計(jì)數(shù)過(guò)程中,若GATE產(chǎn)生負(fù)跳變,不會(huì)影響計(jì)數(shù)過(guò)程的進(jìn)行。但若在計(jì)數(shù)器回零前,GATE又產(chǎn)生從低到高的正跳變,則8253又將初值n裝入計(jì)數(shù)器執(zhí)行部件,重新開(kāi)始計(jì)數(shù),其結(jié)果會(huì)使輸出的單脈沖寬度加寬。

方式2——比率發(fā)生器:當(dāng)對(duì)某一計(jì)數(shù)通道寫(xiě)入控制字,選定工作方式2時(shí),OUT端輸出高電平。如果GATE為高電平,則在寫(xiě)入計(jì)數(shù)值后的下一個(gè)時(shí)鐘脈沖時(shí),將計(jì)數(shù)值裝入執(zhí)行部件,此后,計(jì)數(shù)器隨著時(shí)鐘脈沖的輸入而遞減計(jì)數(shù)。當(dāng)計(jì)數(shù)值減為1時(shí),OUT端由高電乎變?yōu)榈碗娖剑?jì)數(shù)器的值減為0時(shí),OUT引腳又回到高電平,即低電平的持續(xù)時(shí)間等于一個(gè)輸入時(shí)鐘周期。與此同時(shí),還將計(jì)數(shù)初值重新裝入計(jì)數(shù)器,開(kāi)始一個(gè)新的計(jì)數(shù)過(guò)程,并由此循環(huán)計(jì)數(shù)。如果裝入計(jì)數(shù)器的初值為n,那么在OUT引腳上,每隔n個(gè)時(shí)鐘脈沖就產(chǎn)生一個(gè)負(fù)脈沖,其寬度與時(shí)鐘脈沖的周期相同,頻率為輸入時(shí)鐘脈沖頻率的n分之一。在操作過(guò)程中,任何時(shí)候都可由CPU重新寫(xiě)入新的計(jì)數(shù)值,不影響當(dāng)前計(jì)數(shù)過(guò)程的進(jìn)行。當(dāng)計(jì)數(shù)值減為0時(shí),一個(gè)計(jì)數(shù)周期結(jié)束,*958253將按新寫(xiě)入的計(jì)數(shù)值進(jìn)行計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,當(dāng)GATE變?yōu)榈碗娖綍r(shí),使OUT變?yōu)楦唠娖?,禁止?jì)數(shù);當(dāng)GATE從低電平變?yōu)楦唠娖?,GATE端產(chǎn)生上升沿,則在下一個(gè)時(shí)鐘脈沖時(shí),把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,從初值開(kāi)始遞減計(jì)數(shù),并循環(huán)進(jìn)行。方式3——方波發(fā)生器:方式3和方式2的工作相類(lèi)似,但從輸出端得到的是對(duì)稱(chēng)的方波或基本對(duì)稱(chēng)的矩形波。如果寫(xiě)入計(jì)數(shù)器的初值為偶數(shù),則當(dāng)8253進(jìn)行計(jì)數(shù)時(shí),每輸入一個(gè)時(shí)鐘脈沖,均使計(jì)數(shù)值減2。計(jì)數(shù)值減為0時(shí),OUT輸出引腳由高電平變成低電平,同時(shí)自動(dòng)重新裝入計(jì)數(shù)初值,繼續(xù)進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)值減為0時(shí),OUT引腳又回到高電平,同時(shí)再一次將計(jì)數(shù)初值裝入計(jì)數(shù)器,開(kāi)始下一輪循環(huán)計(jì)數(shù);如果寫(xiě)入計(jì)數(shù)器的初值為奇數(shù),則當(dāng)輸出端OUT為高電平時(shí),第一個(gè)時(shí)鐘脈沖使計(jì)數(shù)器減1,以后每來(lái)一個(gè)時(shí)鐘脈沖,都使計(jì)數(shù)器減2,當(dāng)計(jì)數(shù)值減為0時(shí),輸出端OUT由高電平變?yōu)榈碗娖剑瑫r(shí)自動(dòng)重新裝入計(jì)數(shù)初值繼續(xù)進(jìn)行計(jì)數(shù)。這時(shí)第一個(gè)時(shí)鐘脈沖使計(jì)數(shù)器減3,以后每個(gè)時(shí)鐘脈沖都使計(jì)數(shù)器減2,計(jì)數(shù)值減為0時(shí),OUT端又回到高電平,并重新裝入計(jì)數(shù)初值后,開(kāi)始下一輪循環(huán)計(jì)數(shù)。*96

方式4——軟件觸發(fā)選通:當(dāng)對(duì)8253寫(xiě)入控制宇,進(jìn)入工作方式4后,OUT端輸出變?yōu)楦唠娖?,如果GATE為高電平,那么,寫(xiě)入計(jì)數(shù)初值后,在下一個(gè)時(shí)鐘脈沖后沿將自動(dòng)把計(jì)數(shù)初值裝入執(zhí)行部件,并開(kāi)始計(jì)數(shù)。當(dāng)計(jì)數(shù)值成為0時(shí),OUT端輸出變低,經(jīng)過(guò)一個(gè)時(shí)鐘周期后,又回到高電平,形成一個(gè)負(fù)脈沖。若在計(jì)數(shù)過(guò)程中寫(xiě)入一個(gè)新的計(jì)數(shù)值,則在現(xiàn)行計(jì)數(shù)周期內(nèi)不受影響,但當(dāng)計(jì)數(shù)值回0后,將按新的計(jì)數(shù)初值進(jìn)行計(jì)數(shù),同樣也只計(jì)一次。如果在計(jì)數(shù)的過(guò)程中GATE變?yōu)榈碗娖?,則停止計(jì)數(shù),當(dāng)GATE變?yōu)楦唠娖胶?,又重新將初值裝入計(jì)數(shù)器,從初值開(kāi)始計(jì)數(shù),直至計(jì)數(shù)器的值減為0時(shí),從OUT端輸出一個(gè)負(fù)脈沖。

方式5——硬件觸發(fā)選通:編程進(jìn)入工作方式5后,OUT端輸出高電平。當(dāng)裝入計(jì)數(shù)值n后,GATE引腳上輸入一個(gè)從低到高的正跳變信號(hào)時(shí),才能在下一個(gè)時(shí)鐘脈沖后沿把計(jì)數(shù)初值裝入執(zhí)行部件,并開(kāi)始減1計(jì)數(shù)。當(dāng)計(jì)數(shù)器的值減為0時(shí),輸出端OUT產(chǎn)生一個(gè)寬度為一個(gè)時(shí)鐘周期的負(fù)脈沖,然后OUT又回到高電平。計(jì)數(shù)器回0后,8253又自動(dòng)將計(jì)數(shù)值n裝入執(zhí)行部件,但并不*97開(kāi)始計(jì)數(shù),要等到GATE端輸入正跳變后,才又開(kāi)始減1計(jì)數(shù)。計(jì)數(shù)器在計(jì)數(shù)過(guò)程中,不受門(mén)控信號(hào)GATE電平的影響,但只要計(jì)數(shù)器未回0,GATE的上升沿卻能多次觸發(fā)計(jì)數(shù)器,使它重新從計(jì)數(shù)初值n開(kāi)始計(jì)數(shù),直到計(jì)數(shù)值減為0時(shí),才輸出一個(gè)負(fù)脈沖。如果在計(jì)數(shù)過(guò)程中寫(xiě)入新的計(jì)數(shù)值,但沒(méi)有觸發(fā)脈沖,則計(jì)數(shù)過(guò)程不受影響。當(dāng)計(jì)數(shù)器的值減為0后,GATE端又輸入正跳變觸發(fā)脈沖時(shí),將按新寫(xiě)入的初值進(jìn)行計(jì)數(shù)。*984.【答】0通道工作在方式3,n0=2MHz/1.5KHz=13341通道工作在方式2,n1=1.5KHz/300Hz=52通道工作在方式0,當(dāng)CLK2=2MHz時(shí),n2=2MHz/50Hz-1=39999;

當(dāng)CLK2=OUT0=1.5KHz時(shí),n2=1.5KHz/50Hz-1=29;

當(dāng)CLK2=OUT1=300Hz時(shí),n2=300Hz/50Hz-1=5GATE0GATE1GATE2CLK0OUT0CLK1OUT1CLK2OUT2D7~D0D7~D0A0A1A1A2RDRDWRWRCBAG1G2AG2BY0A8A9A7A6A5A4A3A0M/IOCS+5V2MHz1.5KHz300Hz50次/秒中斷74LS1388253*99

初始化程序如下:

0通道初始化:

MOV DX, 306H MOV AL, 00110111B(37H);方式3,先讀/寫(xiě)低8位, ;后讀/寫(xiě)低8位,BCD計(jì)數(shù)

OUT DX, AL MOV DX, 300H MO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論