第一篇:微機原理答案.
部分習題答案(顧三樂整理編輯版)
第二章 計算機中的數值和編碼
將十進制數轉換為二進制和十六進制
(1)129.75=1000 0001.11B=81.CH
(2)218.8125=1101 1010.1101B=DA.DH(3)15.625=1111.101B=F.AH
(4)47.15625=10 1111.0010 1B=2F.28 H
將下列二進制數轉換為十進制和十六進制
(1)111010 B=58 =3A H
(2)1011 1100.111B= 188.875= BC.E H(3)0.1101 1B=0.84375 =0.D8H
(4)11110.01 B=30.25 =1E.4H
3、完成下列二進制數的加減法運算
(1)1001.11+100.01=1110.00(2)1101010110.1001-01100001.0011=01110101.0110(3)00111101+10111011=11111000(4)01011101.0110-101101.1011=101111.1011
4、完成下列十六進制數的加減法運算
(1)745CH+56DFH=D14B H
(2)ABF.8H-EF6.AH=9C28.E H
(3)12AB.F7+3CD.05=1678.FC H
(4)6F01H-EFD8H=7F29 H
5、計算下列表達式的值
(1)128.8125+10110101.1011B+1F.2H=101010101.1010B
(2)287.68-10101010.11H+8E.EH=103.CEH
(3)18.9+1010.1101B+12.6H-1011.1001=36.525
6、選取字長n為8位和16位兩種情況,求下列十進制數的補碼。
(1)X=-33的補碼: 1101 1111,***1(2)Y=+33的補碼: 0010 0001,0000 0000 0010 0001(3)Z=-128的補碼:1000 0000,1111 1111 1000 0000(4)N=+127的補碼:0111 1111,0000 0000 0111 1111(5)A=-65的補碼: 1011 1111,1111 1111 1011 1111(6)B=+65的補碼: 0100 0001,0000 0000 0100 0001(7)C=-96的補碼: 1010 0000,1111 1111 1010 0000(8)D=+96的補碼: 0110 0000,0000 0000 0110 0000
7、寫出下列用補碼表示的二進制數的真值
(1)[X]補=1000 0000 0000 0000 H
X=-1000 0000 0000 0000 H=-32768
(2)[Y]補=0000 0001 0000 0001 H
Y=+0000 0001 0000 0001 H=+257
(3)[Z]補=1111 1110 1010 0101 H
Z=-0000 0001 0101 1011 H=-347
(4)[A]補=0000 0010 0101 0111 H
A=+0000 0010 0101 0111 H=+599
8、設機器字長為8位,最高位為符號位,試對下列格式進行二進制補碼運算,并判斷結果是否溢出。
(1)43+8
∵
[43]補=00101011B,[8]補=00001000B
∴ [43]補+[8]補=00101011B+00001000B=00110011B=33H
00101011B
+ 00001000B
00110011B
∵
CS=0,CD=0,OF=CS⊕CD=0⊕0=0
∴
無溢出
(1)43+8
33H(無溢出)
(2)-52+7 D3 H(無溢出)
(3)60+90
H(溢出)
(4)72-8
H(無溢出)
(5)-33+(-37)0BA H(無溢出)
(6)-90+(-70)
H(溢出)
(7)―9―(―7)FE H
(無溢出)
(8)60-90
E2 H(無溢出)
9、設有變量x=11101111B,y=11001001B,z=01110010B,v=01011010B,試計算x+y=?,x+z=?,y+z=?,z+v=?,請問:① 若為無符號數,計算結果是否正確?② 若為帶符號補碼數,計算結果是否溢出?
x+y = 11101111B+11001001B=10111000B=1B8 H
1110 1111 B
+ 1100 1001B
1011 1000B ① 若為無符號數
② 若為帶符號補碼數
∵ CF=1 ∴ 不正確
∵ CF=1,DF=1 OF=0
∴ 不溢出
x+y = 0B8 H x+z = 61 H
y+z = 3B H
z+v = 0CC H
①
不正確
不正確
不正確
正確
② 不溢出
不溢出
不溢出
溢出
第三章
80X86微處理器
1.簡述8086/8088CPU中BIU和EU的作用,并說明其并行工作過程。
答:(1)BIU的作用:計算20位的物理地址,并負責完成CPU與存儲器或I/O端口之間的數據傳送。
(2)EU的作用:執行指令,并為BIU提供所需的有效地址。
(3)并行工作過程:當EU從指令隊列中取出指令執行時,BIU將從內存中取出指令補充到指令隊列中。這樣就實現了取指和執行指令的并行工作。
2.8086/8088CPU內部有哪些寄存器?其主要作用是什么? 答:8086/8088CPU內部共有14個寄存器,可分為4類:數據寄存器4個,地址寄存器4個,段寄存器4個和控制寄存器2個。其主要作用是:
(1)數據寄存器:一般用來存放數據,但它們各自都有自己的特定用途。
AX(Accumulator)稱為累加器。用該寄存器存放運算結果可使指令簡化,提高指令的執行速度。此外,所有的I/O指令都使用該寄存器與外設端口交換信息。
BX(Base)稱為基址寄存器。用來存放操作數在內存中數據段內的偏移地址,CX(Counter)稱為計數器。在設計循環程序時使用該寄存器存放循環次數,可使程序指令簡化,有利于提高程序的運行速度。
DX(Data)稱為數據寄存器。在寄存器間接尋址的I/O指令中存放I/O端口地址;在做雙字長乘除法運算時,DX與AX一起存放一個雙字長操作數,其中DX存放高16位數。
(2)地址寄存器:一般用來存放段內的偏移地址。
SP(Stack Pointer)稱為堆棧指針寄存器。在使用堆棧操作指令(PUSH或POP)對堆棧進行操作時,每執行一次進棧或出棧操作,系統會自動將SP的內容減2或加2,以使其始終指向棧頂。
BP(Base Pointer)稱為基址寄存器。作為通用寄存器,它可以用來存放數據,但更經常更重要的用途是存放操作數在堆棧段內的偏移地址。
SI(Source Index)稱為源變址寄存器。SI存放源串在數據段內的偏移地址。
DI(Destination Index)稱為目的變址寄存器。DI存放目的串在附加數據段內的偏移地址。
(3)段寄存器:用于存放段地址
CS(Code Segment)稱為代碼段寄存器,用來存儲程序當前使用的代碼段的段地址。CS的內容左移4位再加上指令指針寄存器IP的內容就是下一條要讀取的指令在存儲器中的物理地址。
DS(Data Segment)稱為數據段寄存器,用來存放程序當前使用的數據段的段地址。DS的內容左移4位再加上按指令中存儲器尋址方式給出的偏移地址即得到對數據段指定單元進行讀寫的物理地址。
SS(Stack Segment)稱為堆棧段寄存器,用來存放程序當前所使用的堆棧段的段地址。堆棧是存儲器中開辟的按“先進后出”原則組織的一個特殊存儲區,主要用于調用子程序或執行中斷服務程序時保護斷點和現場。
ES(Extra Segment)稱為附加數據段寄存器,用來存放程序當前使用的附加數據段的段地址。附加數據段用來存放字符串操作時的目的字符串。
(4)控制寄存器
IP(Instmcdon Pointer)稱為指令指針寄存器,用來存放下一條要讀取的指令在代碼段內的偏移地址。用戶程序不能直接訪問IP。
FLAGS稱為標志寄存器,它是一個16位的寄存器,但只用了其中9位,這9位包括(個狀態標志位和3個控制標志位。它用來反映算術運算和邏輯運算結果的一些特征,或用來控制CPU的某種操作。
3.8086/8088CPU中有哪些寄存器可用來指示操作數在存儲器中某段內的偏移地址? 答:可用來指示段內偏移地址的寄存器共有6個:IP、SP、BP、BX、SI、DI
4.8086/8088CPU中標志寄存器FLAGS有哪些標志位?它們的含義和作用如何? 答:標志寄存器中的標志共有9個,分為兩類:狀態標志6個和控制標志3個。其作用 是:
(1)狀態標志:用來反映算術和邏輯運算結果的一些特征。
CF(Carry Flag)—進位標志位。當進行加減運算時,若最高位發生進位或借位,則CF為1,否則為0。該標志位通常用于判斷無符號數運算結果是否超出了計算機所能表示的無符號數的范圍。
PF(Parity Flag)—奇偶標志位。當指令執行結果的低8位中含有偶數個1時,PF為1,否則為0。
AF(Auxiliary Flag)—輔助進位標志位。當執行一條加法或減法運算指令時,若結果的低字節的低4位向高4位有進位或借位,則AF為1,否則為0。
ZF(Zero Flag)—零標志位。若當前的運算結果為0,則ZF為1,否則為00
SF(Sign Flag)—符號標志位。當運算結果的最高位為1時,SF=1,否則為00
OF(Overflow Flag)—溢出標志位。當運算結果超出了帶符號數所能表示的數值范圍,即溢出時,OF=1,否則為0。該標志位通常用來判斷帶符號數運算結果是否溢出o
(2)控制標志位:用來控制CPU的操作,由程序設置或清除。它們是:
TF(TrapFlag)—跟蹤(陷阱)標志位。它是為測試程序的方便而設置的。若將TF置1,8086/8088CPU處于單步工作方式,否則,將正常執行程序。
IP(Interrupt Flag)—中斷允許標志位。它是用來控制可屏蔽中斷的控制標志位。若用STI指令將IF置1,表示允許CPU接受外部從INTR引腳上發來的可屏蔽中斷請求信號;若用CLI指令將IP清0,則禁止CPU接受可屏蔽中斷請求信號。IF的狀態對非屏蔽中斷及內部中斷沒有影響。
DF(DirectionFlag)—方向標志位。若用STD將DF置1,串操作按減地址方式進行,也就是說,從高地址開始,每操作一次地址自動遞減;若用CLD將DF清0,則串操作按增地址方式進行,即每操作一次地址自動遞增。
5.8086/8088CPU的地址總線有多少位?其尋址范圍是多少? 答:8086/8088地址總線有20根,尋址范圍1MB
6.什么叫指令隊列?8086/8088CPU中指令隊列有什么作用?其長度分別是多少? 答:(1)指令隊列:采用“先進先出”原則,按順序存放預執行指令的緩沖器稱為指令隊列。
(2)指令隊列的作用:存放EU將要執行的指令,使CPU的取指和執行指令能并行工作。
(3)指令隊列的長度:8086為6個字節,8088為4個字節。
7.Intel8086與8088有何區別? 答:8086與8088的區別有三處:
(1)外部數據總線位數不同(即地址/數據分時復用引腳條數不同);
8086為16位:AD15~AD0。
8088為 8位:AD7~AD0。
(2)內部指令隊列緩沖器長度不同;
8086有6個字節。當指令隊列出現2個空字節時,BIU將取指補充。
8086有4個字節。當指令隊列出現1個空字節時,BIU將取指補充。
(3)外部某些控制總線定義不同。
① 8086的28號引腳定義為M/IO(S2),8088定義為IO/M(S2)
② 8086的34號引腳定義為BHE/S7,8088定義為SS0/(HIGH)
8.簡述8086 CPU使用地址鎖存信號ALE將地址A15~A0與數據D15~D0分開的工作原理。
答:在任何一個總線周期的T1狀態,ALE均為高電平,以表示當前地址/數據復用線上的輸出的是地址信息,在ALE由高變低的下降沿時把地址裝入地址鎖存器,而在T2、T3和T4狀態,ALE均為低電平,以表示當前地址/數據復用線上的輸出的是數據信息,此時通過數據收發器進行傳送。
9.什么是邏輯地址?什么是物理地址?若已知邏輯地址為BA00:A800,試求物理地址。
答: 邏輯地址:由段地址和偏移地址表示的存儲單元地址稱為邏輯地址。
物理地址:CPU對存儲器進行訪問時實際所使用的20位地址稱為物理地址。
若
邏輯地址為BA00H:A800H
則
物理地址=BA00H×10H+A800H=C4800H
10.簡述堆棧指針寄存器SP的功能及堆棧的操作過程。
答:(1)SP的功能:指示進棧和出棧操作時的偏移地址。
(2)堆棧的操作過程:進棧時,先將SP-2,再將數據壓入堆棧(即先移后入);出棧時,先將數據彈出堆棧,再將SP+2(即先出后移)。
第四章
80X86 指令系統
指出源操作數的尋址方式
⑴ MOV BX,2000H
;立即數尋址
⑵ MOV BX,[2000H] ;直接尋址
⑶ MOV BX,[SI]
;寄存器間接尋址
⑷ MOV BX,[SI+2000H] ;寄存器相對尋址
⑸ MOV [BX+SI],AL ;寄存器尋址
⑹ ADD AX,[BX+DI+80] ;基址變址相對尋址
⑺ MUL BL
;寄存器尋址
⑻ JMP BX
;段內間接尋址
⑼ IN
AL,DX
;端口間接尋址
⑽ INC WORD PTR [BP+10H] ;寄存器相對尋址
⑾ MOV CL,LENGTH VAR ;立即數尋址
⑿ MOV BL,OFFSET VAR1 ;立即數尋址
指出下列指令是否正確
(1)MOV DS,0100H
;錯誤。源操作數是立即數時,目的操作數不能時段寄存器
(2)MOV BP,AL
;錯誤。操作數類型不一致
(3)XCHG AH,AL
;正確。
(4)OUT 310H,AL
;錯誤。端口直接尋址的范圍應在0~FFH之間
(5)MOV BX,[BX]
;正確。
(6)MOV ES:[BX+DI],AX ;正確。
(7)MOV AX,[SI+DI] ;錯誤。存儲器尋址中有效地址不能由兩個變址寄存器組成(8)MOV SS:[BX+SI+100H],BX ;正確。
(9)AND AX,BL
;錯誤。操作數類型不一致
(10)MOV DX,DS:[BP]
;正確。
(11)ADD [SI],20H
;錯誤。用PTR 說明類型
(12)MOV 30H,AL
;錯誤。目的操作數不能為立即數
(13)PUSH 2000H
;錯誤。堆棧指令的操作數不能是立即數
(14)MOV
[SI],[2000H]
;錯誤。兩個操作數不能同時為存儲器操作數
(15)MOV
SI,AL
;錯誤。操作數類型不一致
(16)ADD [2000H],20H ;錯誤。用PTR 說明類型
(17)MOV CS,AX
;錯誤。目的操作數不能為代碼段寄存器
(18)INC [DI]
;錯誤。需用PTR說明類型
(19)OUT BX,AL
;錯誤。端口間接尋址的寄存器只能是DX寄存器
(20)SHL
BX,3
;錯誤。移位次數大于1時應該用CL寄存器
(21)XCHG CX,DS
;錯誤。交換指令中不能出現段寄存器
(22)POP
AL
;錯誤。堆棧指令的操作數只能是字操作數(即16位操作數)
寫出存儲器操作數物理地址的計算表達式
(1)MOV AL,[DI]
;(DS)×10H+(DI)(2)MOV AX,[BX+SI]
;(DS)×10H+(BX)+(SI)(3)MOV 5[BX+DI],AL
;(DS)×10H+(BX)+(DI)+5(4)ADD AL,ES:[BX]
;(ES)×10H+(BX)
(5)SUB AX,[1000H]
;(DS)×10H+1000H(6)ADC AX,[BX+DI+2000H]
;(DS)×10H+(BX)+(DI)+2000H(7)MOV CX,[BP+SI]
;(SS)×10H+(BP)+(SI)(8)INC
BYTE PTR [DI]
;(DS)×10H+(DI)
若(DS)=3000H,(BX)=2000H,(SI)=0100H,(ES)=4000H,計算下列存儲器操作數的物理地址。
(1)(DS)×10H+(BX)=3000H×10H+2000H=32000H
(2)(DS)×10H+(BX)+(SI)+1000H=3000H×10H+2000H+0100H+1000H=33100 H
(3)(DS)×10H+(BX)+(SI)=3000H×10H+2000H+0100H=32100 H
(4)(ES)×10H+(BX)=4000H×10H+2000H=42000 H
5、若(CS)=E000H,說明代碼段可尋址物理存儲空間的范圍。
∵ 最小物理地址為:(CS)×10H+0000H=E0000H
最大物理地址為:(CS)×10H+FFFFH=EFFFFH ∴ 代碼段可尋址物理存儲空間的范圍是:E0000H~EFFFFH
6、設(SP)=2000H,(AX)=3000H,(BX)=5000H,執行下列程序段后,(SP)=?,(AX)=?,(BX)=?
PUSH AX
PUSH BX
POP AX(SP)=1FFEH,(AX)=5000H,(BX)=5000H
7、試比較SUB AL,09H與CMP AL,09H這兩條指令的異同。若(AL)=08H,分別執行上述兩條指令后,(AL)=?,CF=?,OF=0,ZF=?
(1)相同點:兩條指令都能完成(AL)-09H的功能,并且都影響六個狀態標志位;
不同點:SUB指令將運算結果回送到AL寄存器中,而CMP指令不回送。
(2)SUB AL,09H
;(AL)=FFH,CF=1,OF=0,ZF=0
CMP AL,09H
;(AL)=08H,CF=1,OF=0,ZF=0
8、分別執行下列指令,試求AL的內容及各狀態標志位的狀態。
(1)MOV AL,19H ;
ADD AL,61H ;(AL)=7AH
OF=0
SF=0
ZF=0
AF=0
PF=0
CF=0(2)MOV AL,19H ;
SUB AL,61H ;(AL)=B8H
OF=0
SF=1
ZF=0
AF=0
PF=1
CF=1(3)MOV AL,5DH ;
ADD AL,0C6H ;(AL)=23H
OF=0
SF=0
ZF=0
AF=1 PF=0
CF=1(4)MOV AL,7EH ;
SUB AL,95H ;(AL)=E9H
OF=1
SF=1
ZF=0
AF=0
PF=0
CF=1
9、用最少的指令,實現下述要求的功能。
(1)AH的高4位清零。
AND AH,0FH
(2)AL的高4位去反。
XOR
AH, 0F0H
(3)AL的高4位移到低4位,高4位清0。
MOV
CL,4
SHR
AL,CL(4)AL的低4位移到高4位,低4位清0。
MOV CL,4
SHL
AL,CL
10、設(BX)=6D16H,(AX)=1100H,寫出下列三條指令執行后,AX和BX寄存器中的內容。
MOV
CL,06H
ROL AX,CL
SHR BX,CL
(AX)=4004 H
(BX)=01B4 H
11、設初值(AX)=0119H,執行下列程序段后,(AX)=?
MOV CH,AH
ADD AL,AH
DAA
XCHG AL,CH
ADC AL,34H
DAA
MOV AH,AL
MOV AL,CH
(AX)=3520 H
12、指出下列程序段的功能。
(1)MOV CX,10
LEA SI,First
LEA DI,Second
REP MOVSB
將 First串中前10個字符傳送至Second 中
(2)CLD
LEA DI,[0404H]
MOV CX,0080H
XOR AX,AX
REP STOSW
將起始地址為0404 H開始的80 H個單元置成0
13、設(BX)=6F30H,(BP)=0200H,(SI)=0046H,(SS)=2F00H,(2F246H)=4154H,試求執行XCHG BX,[BP+SI]后,(BX)=?,(2F246H)=?
(BX)=4154H
(2F246H)=6F30H
14、設(BX)=0400H,(DI)=003CH,執行LEA BX,[BX+DI+0F62H]后,(BX)=?
(BX)=139E H
15、設(DS)=C000H,(C0010H)=0180H,(C0012H)=2000H,執行LDS SI,[10H]后,(SI)=?,(DS)=?
(SI)=0180 H,(DS)=2000 H
16、已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,試求單獨執行下列指令后的結果。
(1)MOV CL,20H[BX][SI]
;(CL)=0F6 H
(2)MOV [BP][DI],CX
;(1E4F6 H)=5678 H
(3)LEA BX,20H[BX][SI] ;(BX)=0056 H
MOV AX,2[BX]
;(AX)=1E40 H(4)LDS SI,[BP][DI]
;
MOV
[SI],BX
;((SI))=0024 H
(5)XCHG CX,32H[BX] ;
XCHG 20H[BX][SI],AX ;(AX)=5678 H,(09226H)=1234 H
17、若CPU中各寄存器及RAM參數如圖所示,試求獨立執行如下指令后,CPU及RAM相應寄存器及存儲單元的內容是多少?
CPU RAM 執行前 執行后
CS 3000H FFFFH CX 20506H 06H 不變
DS 2050H 0004H BX 20507H 00H 不變
SS 50A0H 1000H SP 20508H 87H 不變
ES 0FFFH 17C6H DX 20509H 15H 不變
IP 0000H 8094H AX 2050AH 37H 94H
DI 000AH 1403H BP 2050BH C5H 不變
SI 0008H 1 CF 2050CH 2FH 不變
(1)MOV DX,[BX+2] ;(DX)=0006H,(BX)=0004H(2)PUSH CX
;(SP)=0FFEH(3)MOV CX,BX ;(CX)=0004H,(BX)=0004H(4)TEST AX,01 ;(AX)=8094H,(CF)=0(5)MOV AL,[SI] ;(AL)=87H(6)ADC AL,[DI] ;(AL)=0CCH,(CF)=0
DAA
;(AL)=32H(7)INC SI
;(SI)=0009H(8)DEC DI
;(DI)=0009H(9)MOV [DI],AL ;((DI))=94H(10)XCHG AX,DX ;(AX)=17C6H,(DX)=8094H(11)XOR AH,BL ;(AH)=84H,(BL)=04H(12)JMP DX
;(IP)=17C6H
18、(DS)=2000H,(BX)=1256H,(SI)=528FH,偏移量=20A1H,(232F7H)=3280H,(264E5H)=2450H,試求執行下述指令后的結果。
(1)JMP BX
;(IP)=1256 H
(2)JMP TABLE[BX]
;(IP)=3280 H
(3)JMP [BX][SI]
;(IP)=2450 H
19、設(IP)=3D8FH,(CS)=4050H,(SP)=0F17H,當執行CALL 2000H:0094H后,試指出(IP)、(CS)、(SP)、((SP))、((SP)+1)、((SP)+2)和((SP)+3)的內容。
CALL指令是5字節指令,下一條指令地址為4050H:3D94H 所以執行后
(IP)=0094H,(CS)=2000H、(SP)=0F13H
((SP))=94H,((SP)+1)=00H,((SP)+2)=00H,((SP)+3)=20H 第五章
匯編語言程序設計
2.PLENTH的值為0022,它表示當前已分配單元空間; 3.L的值為6;
5.(AX)=000AH;(BL)=0AH;(CL)=01H; 10.MOV AX, 4A82H MOV DL,AH AND DL,0F0H
MOV CL,4 SHR DL,CL
PUSH AX
AND AH,0FH
MOV BH,AH
AND AL,0F0H
MOV BL,AL
MOV CL,4
SHR BL,CL
MOV CL,BH
POP AX
AND AL,0FH 11.data
segment
string1 db 'I am a student.'
string2 db 'I am a student.'
yes
db 'match',0dh,0ah,'$'
no
db 'no match',0dh,0ah,'$' data
ends code
segment
assume cs:code,ds:data,es:data start: push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax
lea si,string1
lea di,string2
mov cx,string2-string1
cld
repe cmpsb
jnz dispno
mov ah,9
lea dx,yes
int 21h
jmp exit dispno: mov ah,9
lea dx,no
int 21h exit:
MOV AH,4CH
INT 21H code
ends
13.DATA SEGMENT
M
DB
11H,22H,33H,44H,64H,87H,34,29,67H,88H,0F6H
DB
43H,0B7H,96H,0A3H,233,56H,23H,56H,89H C EQU 20 P DB 20 DUP(?)N DB 20 DUP(?)
PLUS
DB
'PLUS',0DH,0AH,'$'
MINUS
DB
'MINUS',0DH,0AH,'$'
J
DB DUP(?)
DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV
AX,DATA MOV
DS,AX LEA
SI,M LEA
DI,P LEA
BX,N MOV
CX,C MOV
DX,0 LOOP1:
LODSB TEST AL,80H
JNZ
MINUS1;負數轉移
MOV [DI],AL
INC DI
INC
DH;存正數個數
JMP
AGAIN MINUS1: MOV [BX],AL
INC BX
INC DL;存負數個數 AGAIN: DEC CX
JNZ
LOOP1
MOV WORD PTR J,DX;存結果
MOV DX,OFFSET MINUS
MOV AH,9
INT 21H
;顯示提示信息
MOV BL,J
MOV CH,2 ROTATE: MOV CL,4
ROL BL,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL
POR
ADD AL,7 POR:
MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROTATE
;十六進制形式輸出負數個數
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV DX,OFFSET PLUS
MOV AH,9
INT 21H
MOV DH,J+1
MOV CH,2 ROTATE1: MOV CL,4
ROL
DH,CL
MOV AL,DH
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL
POR1
ADD AL,7 POR1: MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROTATE1
MOV AH,4CH
INT 21H CODE ENDS END START
第六章
半導體存儲器
2、(1)
64片
片內尋址線
10根,片間尋址線
6根
(2)128片
片內尋址線
11根,片間尋址線
5根
(3)
16片
片內尋址線
11根,片間尋址線
5根
(4)
2片
片內尋址線
14根,片間尋址線
2根 3、1024×8的RAM芯片,地址線11根。數據線8根
6、已知:8位微機地址,總線16位,設計12KB存儲系統,其中ROM 占用0000H開始的8KB,RAM占用2000H 開始的4KB,存儲芯片分別選用INTEL 2716和2114 分析如下:(1)ROM 2716
2K×8芯片,需4片,做字擴展,片內尋址線11根 RAM 2114
1K×4芯片,需8片,做字位擴展,片內尋址線10根
(2)地址范圍:
A15 A14 A13 A12 A11 A10 ROM1:0000H~07FFH
0
0
0
0
0
0 ROM2:0800H~0FFFH
0
0
0
0
0
A15 A14 A13 A12 A11 A10 ROM3:1000H~17FFH
0
0
0
0
0 ROM4:1800H~1FFFH
0
0
0
0 RAM1、2:2000H~23FFH
0
0
0
0
0 RAM3、4:2400H~27FFH
0
0
0
0 RAM5、6:2800H~2BFFH
0
0
0
0 RAM7、8:2C00H~2FFFH
0
0
0(3)A11、A12、A13
3:8譯碼器 譯碼輸入
(一級譯碼)ROM1 :Y0 ROM2 :Y1 ROM3 :Y2 ROM4 :Y3 RAM1、2 :Y4 與
A10
(二級譯碼)RAM3、4 :Y4 與
A10 RAM5、6 :Y5 與
A10 RAM7、8 :Y5 與
A10(4)畫圖連接 略 9、8088組成的小型計算機系統,32KB ROM,其地址范圍00000~07FFFH, RAM占用8KB,地址范圍:08000H~09FFFH。ROM選用 2764(8K×8),RAM選用2114(1K×4)分析如下
(1)ROM 2764
8K×8芯片,需4片,做字擴展,片內尋址線13根 RAM 2114
1K×4芯片,需16片,做字位擴展,片內尋址線10根
(2)地址范圍:
A15 A14 A13 A12 A11 A10 ROM1
00000~01FFF H
0
0
0
(一級譯碼)ROM2
02000~03FFF H
0
0
ROM3
04000~05FFF H
0
0
ROM4
06000~07FFFH
0 RAM1(組)08000~083FFH
0
0
0
0
0
(二級譯碼)RAM2
08400~087FFH
0
0
0
0
RAM3
08800~08BFFH
0
0
0
0 RAM4
08C00~08FFFH
0
0
0
RAM5
09000~093FFH
0
0
0
0 RAM6
09400~09FFFH
0
0
0
RAM7
09800~09BFFH
0
0
0 RAM8
09C00~09FFFH
0
0
1(3)ROM1 Y0
(1 # 譯碼器
A15
A14 A13 譯碼輸入)ROM2 Y1 ROM3 Y2 ROM4 Y3 RAM1 Y0
(2 # 譯碼器
A12 A11 A10譯碼輸入# Y4做2#的控制信號)RAM2 Y1 RAM3 Y2 RAM4 Y3 RAM5 Y4 RAM6 Y5 RAM7 Y6 RAM8 Y7(4)需兩片3:8譯碼器 畫圖連接 略
第七章
輸入 / 輸出 與 中斷 15、01D8 H
16、接通打印機→ 檢查打印狀態→ 發送數據
OR
AL,01 H
OUT 0F7H , AL
IN
AL ,0F6 H
OUT 0F5H , AL 第八章
可編程接口芯片及應用
初始化命令字 及 計數初值
CUNT0 36H或37H
1000
CUNT1 54H 或55H
始化控制字
(1)99H
(2)B6 H
PC2及PC4 置位命令字 09 H
05 H
第二篇:微機原理考試答案
微機原理與應用考試答案
一、單選題(25分,每個1分)1、8086當前被執行的指令放在(D)
A、DS:BX
B、SS:SP
C、CS:PC
D:CS:IP 2、8086CPU能夠直接執行的語言是(B)
A、匯編語言
B、機器語言
C、C語言
D、JAVA語言
3、在機器數(C)零的表示形式是唯一的 A、原碼
B、反碼
C、補碼
D、原碼和反碼 4、8位二進制數的補碼表示范圍為(C)
A、0-255
B、-127~+127
C、-128~+127
D、-128~+128
5、從8086RAM地址002CH開始存放4個字節中斷向量,對應的中斷號是(B)A、0AH
B、0BH
C、0CH
D、0DH
6、需要擴充存儲容量時采用(A)的方法
A、地址串聯
B、地址并聯
C、數據線并聯
D、數據線串聯
7、通常輸出接口需要(B)
A、緩沖器
B、鎖存器
C、計數器
D、反相器
8、運算器執行兩個補碼表示的整數加法時,產生溢出的正確敘述為(D)
A、相加結果的符號位為0則產生溢出
B、相加結果的符號位為1則產生溢出
C、最高位有進位則產生溢出
D、相加結果的符號位與兩同號加數的符號位相反,則產生溢出
9、MIPS用來描述計算機的計算速度,其含義為(B)
A、每秒處理百萬個字符
B、每秒執行百萬條指令
C、每分鐘處理百萬個字符
D、每分鐘執行百萬條指令
10、下列數中,最大的數是(C)
A、(1011110)2
B、(140)8
C、(97)10
D、(5F)16 11、8086CPU共有(D)根分時復用總線 A、8
B、16
C、20
D、21 12、8086系統中每個邏輯段的最多存儲單元數為(A)A、64KB
B、256KB
C、1MB
D、根據需要而定
13、CPU對存儲器訪問時,地址線和數據線的有效時間關系是(B)A、數據線先有效
B、地址線先有效
C、同時有效
D、同時無效
14、通常所說的32位機是指(A)
A、CPU字長為32位
B、寄存器數量為32個
C、存儲器單元數據為32位
D、地址總線寬度為32位
15、若要使寄存器AH中高4位不變,低四位清0,使用指令(D)
A、OR AH,0FH
B、AND AH,0FH
C、OR AH,0F0H
D、AND AH,0F0H
16、某I/O接口芯片中的端口地址為0A10H~0A1FH,它的片內地址線有(B)A、2條
B、4條
C、8條
D、16條
17、從8086存儲器的奇地址開始讀取一個字節,需要執行(B)總線周期 A、0個
B、1個
C、2個
D、3個
18、下列說法中,正確的是(A)
A、棧頂是堆棧操作的唯一出口
B、堆棧操作遵循先進先出的原則
C、棧底是堆棧地址的較小端
D、執行出棧操作后,棧頂地址將減小 19、8086CPU從功能結構上看是由(B)組成 A、控制器、運算器
B、控制器、運算器、寄存器
C、控制器、20位物理地址加法器
D、執行單元、總線接口單元 20、128KB的SRAM有8條數據線,有()條地址線 A、17條
B、18條
C、20條
D、128條
21、可編程定時/計數器8253內含有(B)獨立的計數器 A、2個
B、3個
C、4個
D、6個
22、構成1MB存儲器系統,需要容量32K*4的RAM芯片(B)片 A、16
B、32
C、64
D、128
23、下列尋址方式中,需要執行總線周期的為(D)
A、立即數尋址
B、寄存器尋址
C、固定尋址
D、存儲器尋址
24、容量為10K的SRAM的起始地址為1000H,則終止地址為(C)A、31FFH
B、33FFH
C、37FFH
D、4FFFH
25、下列邏輯地址中對應不同物理地址的是(B)
A、0400H:0340H
B、03E0H:0740H
C、0420H:0140H D、03C0H:0740H
二、填空題(15分,每空1分)
1、由18個字數據組成的存儲區,其首地址為1EA5H:BDC7H,則末字單元的物理地址為___________
2、CPU與外設傳遞的三種信息是程序方式、中斷方式和DMA方式
3、每條指令一般都由操作碼和操作數兩部分構成
4、下列指令執行前SS=2000H,SP=0060H,執行下列程序之后,SP= AX=,BX=
,CX= MOV AX,1020H MOV BX,3040H MOV CX,5060H PUSH AX PUSH BX POP CX
5、二進制數11101001,若為補碼表示的有符號數,其十進制數值是________; 若為無符號數,其十進制數值是________
6、若AX=42DAH,BX=4331H,則SUB AX,BX指令執行后,SF=______,ZF=_______,CF=________。
三、名詞解釋(12分,每個3分)
1、堆棧
堆棧都是一種數據項按序排列的數據結構,只能在一端(稱為棧頂(top))對數據項進行插入和刪除。
2、中斷向量
中斷服務程序的入口地址稱為中斷向量
3、總線周期
1.微處理器是在時鐘信號CLK控制下按節拍工作的。8086/8088系統的時鐘頻率為4.77MHz,每個時鐘周期約為200ns。
2.由于存貯器和I/O端口是掛接在總線上的,CPU對存貯器和I/O接口的訪問,是通過總線實現的。通常把CPU通過總線對微處理器外部(存貯器或I/O接口)進行一次訪問所需時間稱為一個總線周期。一個總線周期一般包含4個時鐘周期,這4個時鐘周期分別稱4個狀態即T1狀態、T2狀態、T3狀態和T4狀態。
4、分時復用總線
由于CPU引腳數量有限,使得一些引腳起多個作用,比如:AB0~AB7在T1時刻表示地址,在T2~T4時刻表示數據,這樣就稱為AB0~AB7為‘分時復用’。
四、簡答題
1、半導體存儲器分為哪兩大類,簡要說明各類特點
答:按制造工藝分類,半導體存儲器可以分為雙極型和金屬氧化物半導體型兩類。
雙極型(bipolar)由TTL晶體管邏輯電路構成。該類存儲器件的工作速度快,與CPU處在同一量級,但集成度低,功耗大,價格偏高,在微機系統中常用做高速緩沖存儲器cache。
金屬氧化物半導體型,簡稱MOS型。該類存儲器有多種制造工藝,如NMOS, HMOS, CMOS, CHMOS等,可用來制造多種半導體存儲器件,如靜態RAM、動態RAM、EPROM等。該類存儲器的集成度高,功耗低,價格便宜,但速度較雙極型器件慢。微機的內存主要由MOS型半導體構成。
2、簡述8086中斷系統響應可屏蔽中斷的全過程
答:CPU在INTR引腳上接到一個中斷請求信號,如果此時IF=1,并且,當前的中斷有最高的優先級,CPU就會在當前指令執行結束完以后開始響應外部中斷請求。這是,CPU通過INTA引腳連續發送兩個負脈沖,外設接口在接到第二個負脈沖后,在數據線上發送中斷類型碼,CPU接到這個中斷類型碼后做如下操作: 1 將中斷類型碼放入暫存器保存; 2 將標志寄存器內容入棧,保護中斷狀態; 3 將IF和TF表示清零; 4 保護斷點。IP和CS內容入棧; 根據當前中斷類型碼,在中斷向量表找到相應的中斷子程序的首地址,將其裝入IP和CS,這樣就可以實現自動轉向中斷服務子程序處執行。
3、CPU與外設交換數據的傳送方式分為哪幾種?簡要說明各自特點
答:(1)CPU與外設交換數據的傳送方式可分為3種:程序傳送、中斷傳送和直接存儲器存取(DMA)傳送。
(2)程序查詢輸入輸出傳送方式能較好地協調外設與CPU之間定時的差別;程序和接口電路比較簡單。其主要缺點是:CPU必須做程序等待循環,不斷測試外設的狀態,直至外設為交換數據準備就緒時為止。這種循環等待方式很花費時間,大大降低了CPU的運行效率。中斷傳送的I/O操作與查詢方式的不同,它總是先由外設主動請求中斷,再由CPU通過響應外設發出的中斷請求來實現。中斷傳送方式的好處是:既大大提高了CPU的工作效率,又能對突發事件做出實時處理,I/O響應速度很快。其缺點是需要一系列中斷邏輯電路支持,中斷程序設計和調試也比較復雜。DMA方式,是一種專門的硬件電路執行I/O交換的傳送方式,它讓外設接口可直接與內存進行高速的數據傳送,而不必經過CPU,這樣就不必進行保護現場之類的額外操作,可實現對存儲器的直接存取。
五、計算題
第三篇:微機原理復習題及答案
一、選擇題
1.一般微機中不使用的控制方式是(D)A.程序查詢方式
B.中斷方式
C.DMA方式
D.通道方式 2.控制器的功能是(C)A.產生時序信號 B.從主存取出指令并完成指令操作譯碼 C.從主存取出指令,分析指令并產生有關的操作控制信號 D.控制計算機的一切核心功能
3.采用級聯方式使用8259中斷控制器,可使它的中斷源最多擴大到(D)個 A.8 B.16 C.32 D.64 4.Pc機數據總線信號的狀態是:(C).A.單向雙態 B.單向三態 C.雙向三態 D.雙向雙態 5.地址總線為32位的微機系統中其內存最大容量為(D)A.2000KB B.2048KB C.2048MB D.4096MB 6.CPU中程序計數器(PC)中存放的是(B)A.指令 B.指令地址 C.操作數 D.操作數地址 7.采用條件傳送方式時,必須要有(C).A.中斷邏輯 B.請求信號 C.狀態端口 D.類型號 8.在任何一個總線周期的T1狀態,ALE輸出(A)A.高電平B.低電平C.高阻態 D.無電流 9.若標志寄存器的奇偶標志位PF置“1”反映操作(C)A.結果是偶數 B.結果是奇數 C.結果中“1”的個數為偶數 D.結果中“1”的個數為奇數 10.在DMA方式下,CPU與總線的關系是(C).A.只能控制數據總線 B.只能控制地址總線 C.成隔離狀態 D.成短接狀態 11.當使用BP寄存器作基址尋址時,若無指定段替換,則內定在(B)段內尋址。A.程序 B.堆棧 C.數據 D.附加
12.某DRAM芯片,其存儲容量為512KX*8位,該芯片的地址線和數據線數目為(D)A.8,512 B.512,8 C.18,8 D.19,8 13.計算機的存儲器采用分級存儲體系的主要目的是(D)。
A.便于讀寫數據 B.減小機箱的體積 C.便于系統升級 D.解決存儲容量、價格和存取速度之間的矛盾 14.CPU中程序計數器(PC)中存放的是(B)A.指令 B.指令地址 C.操作數 D.操作數地址 15.外設的中斷類型碼必須通過16位數據總線的(B)傳送給8086.A.高8位 B.低8位 C.16位 D.高4位
16.磁盤存儲器的數據存取速度與下列哪一組性能參數有關?(B).A.平均等待時間,磁盤旋轉速度,數據傳輸速串 B.平均尋道時間,平均等待時間,數據傳輸速串 C.數據傳輸速率,磁盤存儲密度,平均等待時間 D.磁盤存儲器容量,數據傳輸速率,平均等持時間 17.8259的OCW1----中斷屏蔽字(C)設置.A.在ICW之前 B.只允許一次 C.可允許多次 D.僅屏蔽某中斷源時 18.PC機中的硬中斷服務程序執行的是:(A)。
A.外部中斷請求CPU完成的任務 B.主程序中安排的中斷指令 C.主程序中安排的轉移指令 D.主程序中安排的調用指令 19.標志寄存器的標志位ZF=1表示運算結果(A)A.為零 B.為負 C.溢出 D.有進位 20.在DMA方式下,CPU與總線的關系是(C).A.只能控制數據總線 B.只能控制地址總線 C.成隔離狀態 D.成短接狀態 21.存儲單元是指(B)
A.存放一個二進制信息位的存儲元 B.存放一個機器字的所有存儲元集合 C.存放一個字節的所有存儲元集合 D.存放兩個字節的所有存儲元集合 22.提出中斷請求的條件是(B).A.外設提出請求 B.外設工作完成和系統允許時
C.外設工作完成和中斷標志觸發器為“1”時 D.外設需要工作
23.計算機的主存儲器容量達到10M時,其地址的表示至少需要使用多少個2進位?(C).A.10位 B.20位 C.30位 D.40位 24.I/O與主機信息的交換采用中斷方式的特點是(B)A.CPU與設備串行工作,傳送與主程序串行工作 B.Cpu與設備并行工作,傳送與主程序串行正作 C.CPU與設備并行工作,傳送與主程序并行工作.D.以上都不對
25.當8086/8088訪問100H端口時,采用(C)尋址方式.A.直接 B.立即 C.寄存器間接 D.相對 26.Pc機數據總線信號的狀態是:(C).A.單向雙態 B.單向三態 C.雙向三態 D.雙向雙態 27.某DRAM芯片,其存儲容量為512KX*8位,該芯片的地址線和數據線數目為(D)A.8,512 B.512,8 C.18,8 D.19,8 28.下面關于主存儲器(也稱為內存)的敘述中,不正確的是:(B).A.主存儲器向CPU提供要執行的數據,程序段等 B.存儲器的讀、寫操作一次讀出或寫入一個字節 C.字節是主存儲器中信息的基本編址單位
D.從程序設計的角度來看,cacbe(高速緩存)也是主存儲器 29.段定義語句以(B)語句結束。
A.END B.ENDS C.ENDP D.ENDM 30.8255A的(C)只能工作在方式0。
A.A端口 B.B端口 C.C端口 D.前三者 31.8253—5是可編程的(A)接口芯片。
A.定時器/計數器 B.并行 C.串行 D.中斷控制器 32.存儲器是計算機系統的記憶設備,它主要用來(C)
A.存放數據 B.存放程序 C.存放數據和程序 D.存放微程序 33.串行傳送的波特率是指單元時間內傳送(A)數據的位數。
A.二進制 B.八進制 C.十進制 D.十六進制 34.下面關于主存儲器(也稱為內存)的敘述中,不正確的是:(B).A.主存儲器向CPU提供要執行的數據,程序段等 B.存儲器的讀、寫操作一次讀出或寫入一個字節 C.字節是主存儲器中信息的基本編址單位
D.從程序設計的角度來看,cacbe(高速緩存)也是主存儲器
35.某計算機字長32位,存儲容量為4MB,若按字編址,它的尋址范圍是(A)A.0-1M B.0-4MB C.0-4M D.0-1MB 36.一條指令中目的操作數不允許使用的尋址方式是(B)
A.寄存器尋址 B.立即數尋址 C.變址尋址
D.寄存器間接尋址 37.在8086/8088中,一個最基本的總線周期由4個時鐘周期(T狀態)組成,在T1狀態,CPU在總線發出(C)信息.A.數據 B.狀態 C.地址 D.其他
38.采用兩只中斷的控制器8259A級聯后,CPU的可屏蔽硬中斷源能擴大到(D)A.64個 B.32個 C.16個 D.15個 39.下列寄存器為8位的寄存器有(D)A.IP B.AX C.BP D.BH 40.地址總線為32位的微機系統中其內存最大容量為(D)A.2000KB B.2048KB C.2048MB D.4096MB 41.8259的OCW1----中斷屏蔽字(C)設置.A.在ICW之前 B.只允許一次 C.可允許多次 D.僅屏蔽某中斷源時 42.在匯編語言程序設計中,標號和變量的類型屬性分別有:(A)。A.BIT、BYTE、WORD、DWORD B.NEAR、FAR C.EAR、FAR 和BYTE、WORD、DWORD D.CODE、DATA、STACK 43.在任何一個總線周期的T1狀態,ALE輸出(A)A.高電平B.低電平C.高阻態 D.無電流 44.下面哪一個是8088CPU中的代碼段寄存器(A)A.CS B.DS C.ES D.SS 45.8086CPU可擴展I/O端口地址的個數最多為(D)A.1K B.4K C.8K D.64K 46.Pc機數據總線信號的狀態是:(C).A.單向雙態 B.單向三態 C.雙向三態 D.雙向雙態
47.采用級聯方式使用8259中斷控制器,可使它的中斷源最多擴大到(D)個 A.8 B.16 C.32 D.64 48.存儲器是計算機系統的記憶設備,它主要用來(C)
A.存放數據 B.存放程序 C.存放數據和程序 D.存放微程序
49.對于一低速外設,在外設準備數據期間希望CPU能做自己的工作,只有當外設準備好數據后才與CPU交換數據。完成這種數據傳送最好選用的傳送方式是(C)A.無條件傳遞方式 B.查詢傳送方式 C.中斷傳送方式 D.DMA傳送方式 50.設8255A的端口地址為80H~ 83H,則端口A的地址為(A)A.80H B.81H C.82H D.83H
二、填空題
1.Intel 8255A是一個_可編程的通用并行輸入輸出_ 接口芯片。
2.設某容量為4K的RAM芯片的起始地址為2000H(16位地址),則其終止地址為_2FFFH_.3.一個控制系統,當主設備發生異常時,需向CPU告警,請求處理,否則將危及工作人員的生命及設備的安全,此告警線應接到8086CPU的_ NMI__中斷請求信號引腳上.4.采用中斷查詢傳送方式時,完成一次傳送過程,首先必須通過執行一條_IN__指令,讀取外設信息.5.8255A內部具有__3___個輸入輸出端口。
6.機器指令由操作碼和__操作數____兩部分組成 7.計算機時鐘脈沖的頻率稱為____主頻______.8.可編程接口電路中用來存放控制電路組態的控制字節寄存器稱為__控制____寄存器。9.硬件中斷可分為__可屏蔽中斷,非屏蔽中斷__兩種。10.16K字節的RAM芯片應有__14____根地址輸入端.11.邏輯地址由段基址和_偏移地址___組成。12.8086/8088CPU的數據線和地址線是以___分時_____方式輪流使用的。13.根據功能不同,8086的標志位可分為__狀態_____和___控制____標志。
14.8086/8088的中斷響應了兩個總線周期,從____INTA______引腳輸出兩個負脈沖.15.在8086CPU系統中,設某中斷源的中斷類型碼為08H,中斷向量為0100:1000H,則相應的中斷向量存儲地址為___20____H.16.CPU通過一個外設接口同外設之間交換的信息包括數據信息,狀態信息和__控制信息____.17.Intel 8251A工作在同步方式時,最大波特率為_64kbps____.18.8255A內部具有__3___個輸入輸出接口。
19.機器指令由 操作碼 和操作數兩部分組成。20.16K字節的RAM芯片應有__14____根地址輸入端.21.用4KX4的RAM芯片組成32K的外擴存儲器,共需芯片__16____片.22.8086/8088CPU的數據線和地址線是以___分時______方式輪流使用的。
23.數據總線是雙向總線,8位微處理器有8條數據線,16位微處理器有__16___條數據總線.24.8086系統中的BHE信號通常作為__奇____地址存儲體的體選信號。當BHE為___低___電平時有效。25.Intel 8251A工作在異步方式時,最大波特率為__19.2kbps_______.26.采用中斷查詢傳送方式時,完成一次傳送過程,首先必須通過執行一條____IN____指令,讀取外設狀態信息.27.8086CPU中斷系統有__256____種中斷類型碼,中斷類型碼與對應的矢量地址換算公式為__中斷類型碼×4(n×4)____。
28.計算機時鐘脈沖的頻率稱為__主頻________.29.一般外設接口與外設間交換的信息有控制信息、數據信息 和 狀態信息。30.壓棧指令的源操作數只能是 16 位的操作數。31.主機與外設之間數據傳送方式有無條件傳送方式、查詢傳送方式、中斷方式 和 DMA方式。32.地址總線通常是_單向___總線,由CPU輸出,8位微處理器有16條地址總線,16位微處理器有20條或更多。
33.CPU從主存取出一條指令并執行該指令的時間稱為___指令周期______.34.8255A控制字的最高位D7=_____1____時,表示該控制字為方式控制字。35.8255A的三個端口中只有端口__C___沒有輸入鎖存功能。36.用Inter2114組成4K*8bit的RAM要用___8___片.37.輸入/輸出指令間接尋址必須通過_DX_____寄存器.38.8086/8088CPU內部共有____14______個16位寄存器。
39.8086/8088CPU的數據線和地址線是以__分時____方式輪流使用的。
40.串操作指令規定源串在__數據____段中,用_SI____來尋址源操作數,目的串在__附加數據____段中,用 ___DI___ 來尋址目的操作數。
41.存儲器通常由存儲矩陣,_地址譯碼器____,控制部件和三態緩沖器組成.42.CPU總線通常包括地址總線、數據總線和___控制______總線等三組總線。
三、簡答題
1.外設向CPU申請中斷,但CPU不給以響應,其原因有哪些?(1)CPU處于關中斷狀態,IF=0;(2)該中斷請求已被屏蔽;(3)該中斷請求的時間太短,未能保持到指令周期結束;(4)CPU已釋放總線,而未收回總線控制權。
2.8255各口設置如下:A組與B組均工作于方式0,A口為數據輸入,B口為輸出,C口高位部分為輸出,低位部分為輸入,A口地址設為40H.(1)寫出工作方式控制字(2)對8255A初始化
(3)從A口輸入數據,將其取反后從B口送出
(1)10010001B 即91H(2)MOV AL,91H;OUT 43H,AL
(3)IN AL,40H;NOT AL;OUT 41H,AL
3.說明程序存儲及程序控制的概念。
程序存儲:程序是由一條條指令組合而成的,而指令是以二進制代碼的形式出現的,把執行一項信息處理任務的程序代碼,以字節為單位,按順序存放在存儲器的一段連續的存儲區域內,這就是程序存儲的概念。
程序控制:計算機工作時,CPU中的控制器部分,按照程序指定的順序(由碼段寄存器CS及指令指針寄存器IP指引),到存放程序代碼的內存區域中去取指令代碼,在CPU中完成對代碼的分析,然后,由CPU的控制器部分依據對指令代碼的分析結果,適時地向各個部件發出完成該指令功能的所有控制信號,這就是程序控制的概念
4.已知AH=77H,AL=33H能否說AX=7733H,為什么?SI寄存器可分不SH和SL嗎? 能。因為AX是16位的數據寄存器,它可以以字(16位)或以字節(8位)形式訪問。不能。因為SI是16位的源變址寄存器,只能以字(16位)為單位使用。
5.一臺微型計算機有16根地址線,8根數據線,如果采用字節編址,它可訪問的最大存儲空間是多少字節?試用十六進制數表示其地址范圍.64KB,0000H~FFFFH 6.半導體隨機存儲器RAM與只讀存儲器ROM有何區別?它們各有哪幾種類型? 隨機存儲器RAM中的任何存儲單元都能隨時讀寫,即存取操作與時間,存儲單元物理位置順序無關,一旦掉電,所存信息丟失。常見類型有靜態RAM和動態RAM等。
ROM是一種只讀存儲器,其內容一經寫入,在工作過程中就能只能讀出不能重寫,即使掉電,信息也不會丟失。常見的類型有掩模ROM,PROM,EPROM,EEPROM等。
7.什麼是引腳的分時復用?請說明8086/8088有哪些分時復用引腳?其要解決的問題是什么?
8086的數據線和地址線是利用復用的,所以常把8086的總線稱為多路總線,即某一時刻總線上出現的是地址,另一時刻,總線上出現的是數據。正是這種引腳的分時使用方法才能使8086用40條引腳實現20位地址、16位數據及眾多的控制信號和狀態信號的傳輸。8086CPU的分時復用的引腳有:地址/數據復用引腳.作用為一個腳多用,如:AD15~AD0,在總線周期的T1狀態,傳送地址信息,在其它狀態則傳送數據信息; 8.說明微機系統的工作實質。
計算機之所以能在沒有人直接干預的情況下,自動地完成各種信息處理任務,是因為人們事先為它編制了各種工作程序,計算機的工作過程,就是執行程序的過程。9.常用的存儲器片選控制方法有哪幾種?它們各有什么優缺點? 常用存儲器片選控制方法有3種,分別是線選法,全譯碼法,局部譯碼法。線選法的優點是連線簡單,缺點是地址空間利用率低;全譯碼法不浪費地址空間,但需譯碼電路;局部譯碼介于前二者之間。當存儲容量要求大于系統地址線所能尋址的最大范圍,或者幾個微處理器需要共享某一存儲區域時,則采用擴充尋址法。
10.試說明異步串行通信和同步串行通信的特點.異步特點:在通信的數據流中,字符與字符間的傳送是完全異步的,字符內部位與位之間還是基本同步傳送。同步特點:數據流中的字符之間和字符內部各位間都同步,顯然這種方式對同步要求很嚴格,收/發雙方必須以同一時鐘來控制發送與接收。
11.在8086CPU中,已知CS寄存器和IP寄存器的內容分別為如下所示,試確定其物理地址.(1)CS=1000H IP=2000H 12000H(2)CS=2000H IP=00A0H 200A0H(3)CS=1234H IP=0C00H 12F40H
12.8259A可編程中斷控制器的主要功能有哪些? 1 單片8259A可管理8級優先權中斷源,通過級聯可管理64級優先權中斷源; 2 對任何一級中斷源都可單獨進行屏蔽,使該中斷請求暫時被掛起,直到取消屏蔽時; 能向CPU提供中斷類型碼; 具有多種中斷優先級管理方式,這些管理方式可能過程序動態的進行變化。13.如果利用中斷方式傳送數據,則數據是如何傳輸的?中斷機構起什么作用? 利用中斷方式傳送數據,一般是首先向CPU發出中斷請求,CPU響應中斷后在中斷處理程序中進行數據傳輸,傳輸完畢返回。中斷機構起控制作用,實時性較強。
14.8086/8088系統中為什麼一定要有地址鎖存器,需要鎖存哪些信息?
8088/8086系統中,一般數據位是8位,而地址位是16位的話,那么可以這么理解:程序要輸出一個地址,就必須先輸出高8位,用鎖存器鎖定后,再輸出低8位(或反之),這時才完成一個16位地址的輸出。
鎖存的信息:邏輯電路:通過控制信號完成對當前輸出信號的固定,主要是邏輯狀態(0,1)集成功能:是一個可以完成當前總線狀態的保存
計算機組原:完成數據的保存,是存儲器等功能器件的輔助器件 16.8086中有哪些寄存器可用來指示存儲器偏移地址? 可用來指示段內偏移地址的寄存器共有6個:IP、SP、BP、BX、SI、DI.17.8255的功能作用是什么?它有哪些工作方式? 8255是可編程的并行接口芯片,設有三個8位的數據輸入/輸出端口,拱有三種工作方式:方式0為基本的輸入/輸出方式;方式1為應答式輸入/輸出方式;方式2為應答式雙向數據傳送方式。18.寫出中斷響應的處理過程.(1)中斷請求(2)中斷允許(3)保護斷電,保護現場(4)中斷服務(5)恢復現場,中斷返回。19.總線周期的含義是什么?8088/8086基本總線周期由幾個時鐘周期組成?
總線周期是指CPU從存儲器I/O端口存取一個字節所需要的時間。8088/8086基本總線周期由4個時鐘周期組成。
23.某程序數據段中存有數據字:1234H和5A6BH,若已知DS=5AA0H,她們的偏移地址分別為245AH和3245H,試畫出它們在存儲器中的存放情況。24.什麼是I/O接口,什麼是I/O端口?
I/O接口:I/O接口是INPUT/OUTPUT指輸入/輸出設備接口
I/O端口:CPU和外設進行數據傳輸時,各類信息在接口中進入不同的寄存器,這些寄存器為I/O端口。
25.虛擬存儲器有那些特點?
第一,允許用戶用彼內存空間大的多的空間來訪問主存。第二,每次訪存都要進行虛實地址的轉換。
四、1.以下是完成20個字節字符串的傳送,并檢測是否正確的程序,若正確標志位放00,否則放11。給指定語句加標注。DATSEG SEGMENT DATAX DB ‘ABCD??RST’ DATAY DB 20 DUP(?)FLAGS DB ? DATSEG ENDS MOV AX, DATSEG;MOV DS, AX MOV ES, AX CLD;MOV SI, OFFSET DATAX;MOV DI, OFFSET DATAY MOV CX, 20;REP MOVSB ??
REPE CMPSB JZ HHH;MOV AL, 11 JMP III HHH: MOV AL, 00 III: MOV FLAGS, AL 2.程序改錯(10分)(1)保持STATE單元內容的D4、D3兩位為“0”,其余六位不變。
AAA: MOV SI,OFFSET STATE MOV AL,[SI] AND AL,0C0H MOV [SI],AL RET 改正:()
(2)從4000H開始有20H個帶符號數,要求統計出負數的個數送MIN單元。
XOR DI,DI
MOV BX,4000H
MOV CX,20H AGAIN:MOV AL,[BX] INC BX
TEST AL,01H
JNZ GOON INC DI GOON: DEC CX JNZ AGAIN MOV MIN,DI
RET 改正:(),()
3.對40個有符號數進行測試,分別把正、負字存放進兩段不同單元。完成此程序。
DATA SEGMENT BLOCK DB 43H,56H,0ABH?? ;共40個字節 PDATA DB 40 DUP(?)NDATA DB 40 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA EXP1 PROC FAR START: PUSH DS
MOV AX, 0 PUSH AX
MOV AX , DATA MOV DS, AX MOV ES, AX
LEA SI , BLOCK LEA DI, PDATA LEA BX, NDATA CLD
MOV CX, PDATA-BLOCK GOON: LODSB
TEST AL, 80H JNZ MINUS STOSB
JMP AGAIN MINUS: XCHG BX, DI
STOSB
XCHG BX, DI AGAIN: LOOP GOON RET EXP1 ENDP CODE ENDS END START 4.程序改錯
(1)保持STATE單元內容的D4、D3兩位為“0”,其余六位不變。AAA: MOV SI,OFFSET STATE
MOV AL,[SI] AND AL,0C0H MOV [SI],AL RET 改正:()
(2)ST1是DS段中的一個4字節字符串,ST2是ES段中的一個4字節字符串,比較其是否相等;相等置FLAG單元為00H,不等置FLAG單元為11H。MOV SI,OFFSET ST1 MOV DI,OFFSET ST2 MOV CX,0004 STD REPNZ CMPSB JZ HHH MOV AL,11 JMP III HHH: MOV AL,00 III: MOV FLAG,AL RET 改正:()()
5.以下是完成20個字節字符串的傳送,并檢測是否正確的程序,若正確標志位放00,否則放11。完成此程序。DATSEG SEGMENT DATAX DB ‘ABCD??RST’ DATAY DB 20 DUP(?)FLAGS DB ? DATSEG ENDS MOV AX, DATSEG MOV DS, AX MOV ES , AX CLD MOV SI , OFFSET DATAX MOV DI, OFFSET DATAY MOV CX , 20 REP MOVSB ??
REPE CMPSB JZ HHH MOV AL, 11 JMP III HHH: MOV AL, 00 III: MOV FLAGS , AL 6.程序改錯
(1)保持STATE單元內容的D4、D3兩位為“0”,其余六位不變。
AAA: MOV SI,OFFSET STATE
MOV AL,[SI] AND AL,0C0H
MOV [SI],AL RET 改正:()
(2)在BUF開始的50個有符號數中(16位),找出最小值存放在MIN單元中。
MOV BX,OFFSET BUF MOV CL,31H
MOV AX,[BX] BBB: INC BX INC BX
CMP AX,[BX]
JNC CCC
MOV AX,[BX] CCC: DEC CX
MOV SI,OFFSET BUF JNZ BBB MOV MIN,AX
RET 改正:(),()
7.用1K×4的2114芯片組成2K×8的存儲器系統。
8.用2K×8的2716A存儲器芯片組成8K×8的存儲器系統。
9.用1K×4的2114芯片構成lK×8的存儲器系統。
12.現有8個字節的數據為34H,45H,56H,67H,78H,89H,9AH,ABH,假定它們在存儲器中的物理地址為400A5H-400ACH,試求各存儲單元的有效地址;若從存儲器中讀出這些數據,試問要訪問幾次存儲器?
各字節的有效地址分別為0085H,0086H,0087H,0088H,008AH,008BH,008CH 8個總線周期
13.對40個有符號數進行測試,分別把正、負字存放進兩段不同單元。給指定語句加標注。
DATA SEGMENT BLOCK DB 43H,56H,0ABH?? ;共40個字節 PDATA DB 40 DUP(?)NDATA DB 40 DUP(?); DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA EXP1 PROC FAR START: PUSH DS
MOV AX, 0 PUSH AX
MOV AX, DATA MOV DS, AX MOV ES, AX LEA SI, BLOCK
LEA DI, PDATA ; LEA BX, NDATA CLD
MOV CX, PDATA-BLOCK;
GOON: LODSB
TEST AL, 80H
JNZ MINUS ; STOSB
JMP AGAIN MINUS: XCHG BX, DI ;
STOSB
XCHG BX, DI AGAIN: LOOP GOON
RET EXP1 ENDP CODE ENDS END START 14.程序改錯
(1)從4000H開始有20H個帶符號數,要求統計出負數的個數送MIN單元。XOR DI,DI
MOV BX,4000H
MOV CX,20H AGAIN:MOV AL,[BX]
INC BX
TEST AL,01H
JNZ GOON INC DI GOON: DEC CX JNZ AGAIN MOV MIN,DI
RET 改正:(),()
(2)ST1是DS段中的一個4字節字符串,ST2是ES段中的一個4字節字符串,比較其是否相等;相等置FLAG單元為00H,不等置FLAG單元為11H。
MOV SI,OFFSET ST1 MOV DI,OFFSET ST2 MOV CX,0004 STD REPNZ CMPSB JZ HHH MOV AL,11 JMP III HHH: MOV AL,00 III: MOV FLAG,AL RET 改正:()()15.畫出容量為8K*8的ROM連接圖(CPU用8088,EPROM用2716,R0M地址區從4000H開始)
第四篇:微機原理試題及答案
微機原理與接口技術模擬試題
-1.實現DMA傳送,需要()
①CPU通過執行指令來完成 ②CPU利用中斷方式來完成 ③CPU利用查詢方式來完成④不需要CPU參與即可完成 0 下面哪種說法不正確()
①內存地址也可做為接口地址使用
②內存地址不可做為接口地址使用
③接口地址不可做為內存地址使用
④接口地址也可做為外存地址使用
一、單項選擇題(每小題1分,共16分)1.指令MOV AX,[BX][SI]中源操作數的尋址方式是()A.寄存器間接尋址 B.變址尋址 C.相對尋址 D.基址變址尋址
2.8086 CPU內有指示下條指令有效地址的指示器是()A.IP B.SP C.BP D.SI 3.設串行異步傳送的數據格式是7個數據位、1個起始位,1個停止位、1個校驗位,波特率為2400,則每秒鐘傳送的最大字符數為()A.100個 B.120個 C.10個 D.240個 4.采用高速緩存(cache)的目的是()A.擴大主存容量 B.提高CPU運行速度 C.提高總線速度 D.提高主存速度
5.在DMA方式下,數據從內存傳送到外設的路徑是()A.內存→CPU→總線→外設 B.內存→DMAC→外設 C.內存→數據總線→外設 D.外設→內存
6.若8086 CPU主頻為8MHz,則其基本總線周期為()A.200ns B.500ns C.125ns D.250ns 7.8253工作在哪幾種方式時,可輸出1個時鐘周期寬度(1clk)的負脈沖()A.方式0,4,5 B.方式2,4,5 C.方式1,2,4 D.方式0,2,4 8.CPU響應INTR和NMI中斷時,相同的必要條件是()A.當前總線空閑 B.允許中斷
C.當前訪問內存結束 D.當前指令執行結束 9.8251A的操作命令字的作用是()A.決定8251A的數據傳送格式 B.決定8251A實際操作 C.決定數據傳送方向 D.決定8251A何時收/發數據 10.用2K×4位的RAM芯片組成16K字節的存儲器,共需RAM芯片和片選地址分別為()A.16位和3片 B.8位和8片 C.4片和3位 D.32片和8位
11.8086/8088中除______兩種尋址方式外,其它各種尋址方式的操作數均在存儲器中。()A.立即尋址和直接尋址 B.寄存器尋址和直接尋址 C.立即尋址和寄存器尋址 D.立即尋址和間接尋址
12.設8259A當前最高優先級為IR5,若要使下一循環IR2為最低優先級,則OCW2應設為()A.01100010 B.11100000 C.11000010 D.11100010 13.設置特殊屏蔽方式的目的是()A.屏蔽低級中斷 B.響應高級中斷 C.響應低級中斷 D.響應同級中斷
14.設8255A的方式選擇控制字為9BH,其含義是()A.A、B、C口全為輸出 B.A、B、C口全為輸入 C.A、B口為方式0且輸出 D.以上都不對
15.8086/8088 CPU系統中最大模式下增加總線控制器8288的目的是()A.提高總線控制能力 B.提高總線驅動能力 C.控制協處理器 D.解決總線共享控制問題 16.同步通信傳輸信息時,其特點是()A.每個字符的傳送不是獨立的 B.字符之間的傳送時間長度可不同 C.通信雙方必須同步 D.字符發送速率由數據傳輸率確定
二、填空題(每空0.5分,共16分)1.一臺完整的微型計算機應由________________________________四部分組成。2.只有________________________________時,CPU才執行總線周期,總線接口部件BIU的功能是________________________________。
3.總線標準是指____________________________________________。
4.時鐘周期是CPU的時間基準,它由計算機的________________決定,若8086的時鐘周期為250ns,則基本總線周期為________________。
5.最小模式系統除CPU、存儲器、I/O接口和總線外,至少還應配置________________________________三種芯片部件。6.8086CPU響
應
可
屏
蔽
中
斷的條
件
是_____________________________________________________________________________________________。
7.8086 CPU中的狀態標志是____________________________________________。8.一個完整的中斷過程包括____________________________________________四個階段。確定可屏蔽中斷優先級的方法通常有____________________________________________三種。9.執行一
條
指
令
所
需的總
時
間
為____________________________________________之和。
10.CPU執行IN、OUT指令,在硬件上會使______________________信號有效。11.最小模式系統中除CPU以外的總線主模塊是__________________,它與CPU間通過____________________兩個信號來交換總線控制權。12.在存儲
器
系
統
中
實
現
片
選的方
法
有____________________________________________三種。
13.用8K×8位的RAM芯片組成16K×16的存儲器時,所需的RAM芯數、片內地址和產生片選信號的地址分別為____________________________。14.CPU與外
設
見的數
據
傳
送三
控種
制,方
式其
有中___________________________________________________________________適用于高速數據傳輸。15.中斷系統的基本功能是____________________________。
16.8255A中共有________________個8位端口,其中_____________口既可作數據口,又可產生控制信號,若要所有端口均為輸出口,則方式選擇字應為____________________________。
17.若要讀取8253的當前計數值,則必須____________________________,若要其輸出一正跳變沿信號,應選擇工作方式____________________________。18.8251A的方式字、操作命令字和狀態自三者間的關系是____________________________________________________________________________________。
19.DMA控制器可處于_______________________兩種工作狀態,DMA控制器的傳送方式
(工
作
模
式)
有________________________________________________________四種。20.條件傳送時,一個數據的傳送過程包括________________________________________________________三個環節。21.外總線也叫____________________________,微機外總線通常有____________________________兩種。
三、計算題(每小題4分,共12分)1.在串行異步傳送中一個串行字符由1個起始位,7個數據位,1個校驗位和1個停止位組成,每秒傳送120個字符,則數據傳送的波特率應為多少?傳送每位信息所占用的時間為多少?
2.已知:I/O端口譯碼電路如圖所示,請指出y1和y4的地址范圍及操作類型。3.已知8251A的方式字為DAH,那么發送的字符格式應是怎樣的?若要使接收和發送時的波特率分別為600波特和2400波特,則加在RxC和TxC引腳上的接收時鐘和發送時鐘應各為多少?
四、簡答題(每小題5分,共20分)1.8259A中的中斷屏蔽寄存器IMR和8086/8088的中斷允許標志IF有何區別?在中斷響應過程中,它們怎樣配合起來工作?
2.用8K×8位的RAM芯片,8K×8位的EPROM芯片和3-8譯碼器74LS138構成一個16K×16位的RAM和16K×16位的ROM存儲器,8086工作在最小模式,各需要多少芯片?畫出該存儲器的組成框圖及其與CPU的連接圖,寫出各芯片的地址范圍。
3.根據總線所處位置可分為哪幾類?總線操作可分為哪幾個階段?RS-232C串行總線是用于哪兩個設備間的串行通信標準?該標準包括哪些內容?
4.A/D轉換器與系統連接時需要考慮哪些問題?一個完整的微機的A/D、D/A通道應包括哪幾部分?
五、應用題(每小題12分,共36分)1.某微機系統中使用1片8253,其端口地址為300H、301H、302H、303H,系統提供的計數脈沖頻率為500KHz,CLK1由8253內其它計數器提供,對8253的初始化程序如下所示,閱讀該程序,請完成:(1)對程序加上適當注釋。
(2)指出各計數器的工作方式、計數初值。
(3)各個計數器輸出的定時信號形式及周期或頻率。
(4)畫出8253及其與系統總線的硬件連接圖(端口譯碼電路用框圖表示即可)。MOV DX, 303 MOV AL, 36H OUT DX, AL MOV DX, 300H MOV AL, 0F4H OUT DX, AL MOV AL, 01H OUT DX, AL OUT DX, 303H MOV AL, 54H OUT DX, AL MOV DX, 301H MOV AL, 0AH OUT DX, AL
2.8088系統中用8255A作打印機接口電路,用PA口作數據輸出,CPU采用中斷方式與8255A傳送數據,要求輸出一個數據后,從8255A的PC上輸出一個負脈沖作為打印機的輸入選通信號。設8255A的端口地址為80H、81H、82H和83H,輸出數據存放在內存中2000H:3000H開始的單元中,中斷服務程序的入口地址為3000H:2000H,中斷類型碼為11。要求:
(1)編寫完成上述要求的初始化程序(即主程序)和輸出10個字符的中斷服務字程序。
(2)所有程序均應加適當注釋和必要參數說明。
3.按下列要求對8251A進行初始化,并加適當注釋。
(1)要求工作于異步方式,波特率系數為16,奇校驗,8位數據位,1位停止位。(2)允許接收、允許發送、全部錯誤標志復位。
(3)查詢8251A的狀態字、當接收準備就緒時,則從8251A輸入數據,否則等待。設8251A的控制口地址為3F2H,數據口地址為3F0H。
第五篇:微機原理復習題及答案
一、填空題
1.Rfb是運放 電阻,被放在。2.DAC0832內部有 地和 地。3.LE是DAC0832內部寄存器的鎖存命令。當其為 時,寄存器輸出隨 變化。
4.當LE為0時,數據 在寄存器,不再隨 上的數據變化而變化。5.在過程控制應用中,有時對控制量的輸出要求是 的,在給定值時產生的偏差不改變控制量的,這時可采用單極性輸出電路。6.在隨動系統中,由偏差所產生的控制量僅 不同,而且控制量 不同,這時要求D/A轉換器有雙極性輸出;7.D/A轉換器實現雙極性輸出,在輸出除需要有運算放大器外還應增加
和。
8.若D/A轉換器芯片內部有鎖存寄存器,微處理器就把D/A芯片當作一個并行;若D/A轉換器芯片內部無鎖存寄存器,微處理器就把D/A芯片當作一個并行。
9.ADCO809是CMOS的 位 轉換器。
10.ADCO809的引腳EOC是 信號,可作為。
二、單項選擇題
1.ADC0809啟動A/D轉換的方式是。
A)高電平B)負電平C)負脈沖 D)正脈沖 2.ADC0809的輸出。
A)具有三態緩沖器,但不可控 B)具有可控的三態緩沖器 C)沒有三態 緩沖器 D)沒有緩沖鎖存
3.ADC0809可以用()引線經中斷邏輯向CPU申請中斷。A)OE B)START C)EOC D)ALE
三、多項選擇題
1.DAC0832有()工作方式。
A)單緩沖 B)雙緩沖 C)多級緩沖 D)直通
2.ADC0809與微機系統相連接,可采用的數據傳輸方式有。A)無條件傳輸 B)查詢傳輸 C)中斷傳輸 D)DMA傳輸
四、簡答題
1、已知某DAC的最小分辨電壓VLSB=5mV,滿刻度輸出電壓Vom=10V,試求該電路輸入二進制數字量的位數n應是多少?
2、A/D轉換器和微機接口中的關鍵問題有哪些?
3、A/D轉換器為什么要進行采樣?采樣頻率應根據什么選定?
4、若ADC輸入模擬電壓信號的最高頻率位20KHz,取樣頻率的下限是多少?
5、雙積分式ADC電路中的計數器是十進制的,最大計數容量N=(1000)10,時鐘脈沖頻率為5KHz,完成一次轉換最長需要多少時間?
6、設被測溫度的變化范圍為300℃~1000℃,如要求測量誤差不超過±1℃,應選用分辨率為多少位的A/D轉換器?
7、模-數轉換器ADC常用的有雙積分式和逐次逼近式,請扼要比較它們的優缺點。在微機控制系統的模擬輸入通道中常常應用采樣-保持電路,其主要原因是什么?
五、編程應用題
1.設狀態端口地址為86H,數據端口的地址為87H,外部輸入信息準備好狀態標志為D7=1,請用查詢方式寫出讀入外部信息的程序段。2.設狀態端口地址為76H,數據端口地址為75H,外部設備是否準備好信息 由D7位傳送,D7=0為未準備好(忙),請用查詢方式寫出CPU向外部傳送數據的程序段。3.數據采集系統電路如下圖所示。圖中A/D轉換器為ADCO809,定時器/計數器8233-5的計數器1將5MHz時鐘轉換成500KHz提供給ADC0809。根據上述電路和說明,以及下面程序的功能要求,在空格中填入相應的指令(必要時可增減空格數)。
MOV DX,3DBH;設置8253一控制字 MOV AL,57H OUT DX,AL(1);設且計數器1計數初值(2)(3);ADCO809模擬通道IN5采樣12次,數據存人BUF MOV BX,OFFSETBUF MOV CX,l2(4)LOP:(5)CALL DELAY lS;軟件延時一秒(6);數據讀入BUF MOV [BX],AL INC BX LOOP LOP
4、已知A/D變換器的引線及其工作時序如下圖所示。利用START負脈沖可啟動A/D變換器開始變換,啟動脈沖后A/D變換器進入忙(BUSY)狀態,待變換結束。BUSY變高電平,可從D0~D10取得變換好的數據。試通過8255將此A/D變換器接到8088系統總線上,接口地址8000H-800F可任選,試畫出連接線。
答案
一、填空題
1、反饋電阻;芯片內部
2、模擬;數字3、1;輸入
4、鎖存;數據總線
5、單向;極性
6、大小;異性
7、運放;VREF
8、輸出接口;輸出外部設備 9、8位;A/D
10、轉換結束;中斷請求信號
二、單項選擇題
1、C
2、B
3、A
三、多項選擇題
1、ABD
2、BCD
四、簡答題
1、答: 2
2、答: A/D轉換器和微機接口時的關鍵問題主要有6個。① A/D轉換器輸出和CPU的接口方式,主要有2種連接方式:
一種是A/D芯片輸出端直接和系統總線相連;另一種是A/D芯片輸出端通過接口電路和總線相連。② A/D轉換器的分辨率和微機數據總線的位數匹配:當10位以上的A/D轉換器和8位數據總線連接時,由于數據要按字節分時讀出,因此從8位數據線上需分2次來讀取轉換的數據。設計接口時,數據寄存器要增加讀寫控制邏輯。③ A/D轉換的時間和CPU的時間配合問題:要注意A/D轉換的啟動方式,通常啟動信號分為電平控制啟動和脈沖啟動兩種。其中又有不同的極性要求。還要注意轉換后信號的處理。④A/D的控制和狀態信號。因為A/D轉換器的控制和狀態信號的類型與特征對接口有很大影響,在設計時必須要注意分析控制和狀態信號的使用條件。⑤ 輸入模擬電壓的連接,特別是多路模擬電壓的切換控制。⑥ 接地問題,為了減輕數字信號脈沖對模擬信號的干擾,數字地和模擬地要正確連接。
3、答: 因為被轉換的模擬信號在時間上是連續的,瞬時值有無限多個,轉換過程需要一定的時間,不可能把每一個瞬時值都一一轉換成模擬量。因此對連續變化的模擬量要按一定的規律和周期取出其中的某一瞬時值,這個過程就是將模擬量離散化,稱之為采樣,采樣以后用若干個離散的瞬時值來表示原來的模擬量。
通常為了使A/D輸出信號經過D/A還原后能更好地反映輸入模擬信號的變化,根據采樣定理,采樣頻率一般要高于或至少等于輸入信號中最高頻率分量的2倍,就可以使被采樣的信號能夠代表原始的輸入信號。在輸入信號頻率不是太高的實際應用中,一般取采樣頻率為最高頻率的4~8倍。
4、答:取樣頻率的下限為20kHZ×2=40 kHZ
5、答:由于雙積分式A/D的工作模式是固定時間正向積分、固定斜率反向積分。正向積分與反向積分的切換是由正向積分開始時計數器從0計數到計滿后產生的溢出信號控制,較高的反極性的基準電壓進入積分器反向積分(因為反向斜率值大于正向斜率值,一般反向積分時間要小于正向積分時間),計數器再次從0開始計數,直至反向積分至0時停止計數,此時的計數值就是對應的輸入量的變換數字量。因此完成一次轉換的最長時間不大于2倍正向積分時間(即計數器從0到計滿時間的2倍)。
6、答:取最大的溫度變化范圍1000O,最小的溫度分辨為1O,這樣只要不少于1000等份就可以。因此可選10位A/D轉換器,若它的滿量程是1000O,最小的溫度分辨為
7、答:逐次逼近ADC采用的是二分搜索、反饋比較、逐次逼近的轉換原理。其優點是轉換速度快,轉換精度高;缺點是輸入模擬信號變化速度較快時,偉產生較大的非線型誤差。
雙積分ADC的優點是不需要ADC,能以低成本實現高分文辨率,轉換精度高,抗干擾 能力強。缺點是需要二次積,轉換速度慢。
當輸入模擬信號變化率較大時,逐次逼近式ADC會產生相當大的非線性誤差,為改善這種情況,可在ADC前面增加一級采樣保持電路。
五、編程應用題
1、答案:START:IN AL,86H
TEST AL,80H
JZ START
IN AL,87H
2、答案:START:IN AL,76H
TEST AL,80H
JZ START
MOV AL,輸出的字節
OUT 75H,AL
3、答案:(1)MOV DX,3D9H
(2)MOV AL,10H
(3)OUT DX,AL
(4)MOV DX,3D5H
(5)OUT DX,AL
(6)MOV DX,3D0H
IN AL,DX