1. 單片機原理及其介面技術胡漢才版第三章習題3.21的答案
你把題目打上啊!大部分人沒有那本書吧
2. 單片機原理及應用課後習題答案 張迎新
單片機原理及應用華南理工大學 繼續教育學院
2009 年 第二學期 期末考試
《單片機原理及應用》試題A卷 2009年5月1日
考試時間:兩小時 (開卷)
班級:____________________ 班內編號:_________ 姓名:_________ 分數:________
一、填空題(每空1分,共50分)
1. 單片機是由CPU、存儲器、I/O介面及定時/計數器集成在一個晶元上組成的。
2. 十進制數25=16H(十六進制)=00010110B(二進制)。
3. 單片機的三匯流排可以分為地址匯流排、數據匯流排和控制匯流排。
4. 執行ANL A,#0FH後,累加器A的內容高4位是0000 。
5. 8051單片機共有5個中斷源,2個優先順序。
6. 能夠加間址符@的寄存器有R0、R1和DPTR 。
7. A/D轉換器是將模擬量轉換成數字量,D/A轉換器是將數字轉換成模擬量。
8. 8051單片機使用電源為 +5V
9. SP復位後內容為: 07H 。
10. 累加器(A)=0AH,執行完指令ADD A,#92H後,進位位C= 0 。
11. MCS-51片內20H~2FH范圍內的數據存儲器,既可以位元組定址又可以 位 定址。
12. ORL A,#0FH是將A的高四位清0,而低四位 保持不變 。
13. MCS-51串列口有4種工作方式,這可在初始化程序中用軟體填寫特殊功能寄存器 TMOD 加以選擇。
14. 確定單片機I/O介面晶元的片選信號的方法通常有兩種: 線選法 和 解碼法。
15. MOVC A,@A+DPTR源操作數定址方式為 變址定址 。
16. 8051單片機堆棧遵循數據後進先出(先進後出)的原則
17. 在立即定址方式中,在數前使用#號來表示立即數。
18. 在8051單片機中,加法指令可以分為帶進位的加法(或者ADDC)和不帶進位的加法(或者ADD)兩種。
19. 設8051外接12MHz的石英晶體,則一個機器周期的時間寬度為1us。
20. 8051單片機的匯編語言源程序的擴展名為ASM。
21. 當8051單片機復位後,程序的入口地址為0000H。
22. 8051單片機中的定時器/計數器有T0和T1兩個。
23. 顯示器的顯示方式有:___靜態顯示____和__動態顯示___兩種。
24. 單片機匯編語言程序有三種基本結構,分別是:_順序結構_、 _分支結構 _和循環結構_。
25. LED顯示器中的發光二極體的兩種連接方法是_共陰極接法_和__共陽極接法_。
26. 8051單片機內部數據存儲器,即內RAM中位定址區的地址范圍是__20H-2FH_;工作寄存器區的地址范圍是__00H-0FH___。
27. 位轉移指令都是採用 相對 定址方式實現轉移的.
28. 執行了DIV AB指令後,則商存放在 A 中,余數存放 B 中。
29. 子程序必須使用 RET 指令返回主程序,而中斷服務程序必須使用 RETI 指令返回主程序。
二、選擇題(每小題2分,共30分)
1、一個完整的系統通常包括( B )。
A.系統軟體和應用軟體 B. 硬體系統和軟體系統C. 計算機及外設 D.硬體和系統軟體
2、EPROM是指( D )。
A. 隨機存儲器 B.電擦除的只讀存儲器 C.只讀存儲器 D.紫外線可擦除的只讀存儲器
3、先判斷後循環的循環程序結構中,循環體至少被執行( A )次。
A.0 B.1 C.2 D.3
4、MCS-51系列單片機的CPU是(B )位的。
A.4位 B.8位 C.16位 D.32位
5、8031的內部RAM中,用作位定址的單元地址是(B )。
A.00H-1FH B.20H-2FH C.30H-4FH D.50H-6FH
6、12MHz晶振的單片機在定時方式下,定時器可能實現的最小定時時間是(D ) 。
A.8us B.4us C.2us D.1us
7、在單片機擴展系統中,8031地址匯流排和數據匯流排分時復用所用埠是( D )。
A. P3口 B. P1口 C. P2口 D. P0口
8、在MCS-51單片機中,惟一一個可供用戶使用的16位寄存器是 (C) 。
A.PWS B.ACC C.DPTR D.PC
9、Jz rel指令中,是判斷 (A) 中的內容是否為0。
A.A B.B C.C D.PC
10、訪問擴展的外部程序存儲器的時候,應在程序中使用(C) 。
A.MOV指令 B.MOVX指令 C.MOVC指令 D.SWAP指令
11、在計算機中,字元的編碼普遍採用的是 D 。
A.BCD碼B.十六進制C.格雷碼D.ASCII碼
12、 在單片機中,用作標志寄存器的一個特殊功能寄存器是 A
A.PSW B.DPTR C.PC D.B
13、指令MOV A,30H源操作數的定址方式是 C 。
A.寄存器定址方式 B.寄存器間接定址方式
C.直接定址方式 D.立即定址方式
14、在生產過程中完成程序寫入的只讀存儲器稱為 A 。
A.掩膜ROM B.PROM C.EPROM D.E2PROM
15、8051單片機的兩個定時器/計數器是 C 。
A.14位加法計數器 B.14位減法計數器 C.16位加法計數器 D.16位減法計數器
三、簡答題(每題為4分,共20分)
1、寫出8051單片機中5個中斷源的名稱和對應的中斷服務程序入口地址。(5分)
外部中斷0,入口地址0003H(1分)
定時器0,入口地址000BH(1分)
外部中斷1,入口地址0013H(1分)
定時器1,入口地址001BH(1分)
串列口中斷,入口地址0023H(1分)
2、採用6MHz的晶振,定時1ms,用定時器方式0時的初值應為多少?(請給出計算過程)
答案:採用6MHZ晶振,機器周期為2us
(213-X)×2×10-6=1×10-3
X=7692(D)=1E0CH=1 1110 0000 1100(B),
化成方式0要求格式為 1111 0000 1100 B
即0F00CH
綜上可知:TLX=0CH, THX=0F0H
3、請用數據傳送指令來實現下列要求的數據傳送。(8分)
(1)把R0的內容送到R1
(2)內部RAM20H單元的內容傳送到A中。
(3)外部RAM2000H單元的內容送到R0。
(4)外部ROM1000H單元的內容送內部RAM20H單元。
說明:第1小題中操作功能的實現都可以採用多種方法實現,這里僅給出一種答案,用其他指令形式能正確實現的同樣給滿分。具體得分情況看學生的指令。2-4小題不一定要寫出標准答案,只要主要意思解釋正確清楚,可以得全分。
(1)MOV A,R0 (1分)
MOV R1,A (2分)
(2)MOV A,20H (3分)
(3)MOV DPTR,#2000H(1分)
MOVX A,@DPTR(1分)
MOV R0,A (1分)
(4)MOV DPTR,#1000H
MOV A,#00H(1分)
MOVC A,@A+DPTR(1分)
MOV 20H,A
4、說明MCS-5l系列單片機4個I/O埠使用上的分工和操作上的主要特點。
解答:
P0埠提供程序存儲器或外部數據存儲器的低8位地址。P0埠還作為數據I/O埠使用,是分時復用的地址/數據線。
Pl埠一般作為數據I/O埠使用。
P2埠提供程序存儲器或外部數據存儲器的高8位地址。
P3埠可以提供第2功能線,當某一埠線不需要工作於第2功能時,可作數據I/0埠使用。
5、什麼是單片機系統的擴展?擴展包括哪些方面的內容?
單片機的擴展是指內部資源不夠用的時候,必須外接相應的晶元,構成應用系統。擴展存儲器、IO介面、定時/計數器等.
3. 急求 單片機原理與技術 周明德 課後習題答案
第1章 作 業 答 案
1.1 微處理器、微型計算機和微型計算機系統三者之間有什麼不同?
解:
把CPU(運算器和控制器)用大規模集成電路技術做在一個晶元上,即為微
處理器。微處理器加上一定數量的存儲器和外部設備(或外部設備的介面)構成了
微型計算機。微型計算機與管理、維護計算機硬體以及支持應用的軟體相結合就形
成了微型計算機系統。
1.2 CPU在內部結構上由哪幾部分組成?CPU應該具備哪些主要功能?
解:
CPU主要由起運算器作用的算術邏輯單元、起控制器作用的指令寄存器、指
令解碼器、可編程邏輯陣列和標志寄存器等一些寄存器組成。其主要功能是進行算
術和邏輯運算以及控制計算機按照程序的規定自動運行。
1.3 微型計算機採用匯流排結構有什麼優點?
解:
採用匯流排結構,擴大了數據傳送的靈活性、減少了連線。而且匯流排可以標准
化,易於兼容和工業化生產。
1.4 數據匯流排和地址匯流排在結構上有什麼不同之處?如果一個系統的數據和地址合用
一套匯流排或者合用部分匯流排,那麼要靠什麼來區分地址和數據?
解:
數據匯流排是雙向的(數據既可以讀也可以寫),而地址匯流排是單向的。
8086CPU為了減少晶元的引腳數量,採用數據與地址線復用,既作數據匯流排也作為
地址匯流排。它們主要靠信號的時序來區分。通常在讀寫數據時,總是先輸出地址
(指定要讀或寫數據的單元),過一段時間再讀或寫數據。
1.8在給定的模型中,寫出用累加器的辦法實現15×15的程序。
解:
LD A, 0
LD H, 15
LOOP:ADD A, 15
DEC H
JP NZ, LOOP
HALT
第 2 章 作 業 答 案
2.1 IA-32結構微處理器直至Pentillm4,有哪幾種?
解:
80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。
2.6 IA-32結構微處理器有哪幾種操作模式?
解:
IA一32結構支持3種操作模式:保護模式、實地址模式和系統管理模式。操
作模式確定哪些指令和結構特性是可以訪問的。
2.8 IA-32結構微處理器的地址空間如何形成?
解:
由段寄存器確定的段基地址與各種定址方式確定的有效地址相加形成了線性地址。若末啟用分頁機制,線性地址即為物理地址;若啟用分頁機制,則它把線性地址轉為物理地址。
2.15 8086微處理器的匯流排介面部件由哪幾部分組成?
解:
8086微處理器中的匯流排介面單元(BIU)負責CPU與存儲器之間的信息傳
送。具體地說,BIU既負責從內存的指定部分取出指令,送至指令隊列中排隊
(8086的指令隊列有6個位元組,而8088的指令隊列只有4個位元組);也負責傳送執
行指令時所需的操作數。執行單元(EU)負責執行指令規定的操作。
2.16 段寄存器CS=120OH,指令指針寄存器IP=FFOOH,此時,指令的物理地址為
多少?
解:
指令的物理地址=12000H+FFOOH=21FOOH
第 3 章 作 業 答 案
3.1分別指出下列指令中的源操作數和目的操作數的定址方式。
(1)MOV SI, 30O
(2)MOV CX, DATA[DI]
(3)ADD AX, [BX][SI]
(4)AND AX, CX
(5)MOV [BP], AX
(6)PUSHF
解:
(l)源操作數為立即定址,目的操作數為寄存器定址。
(2)源操作數為變址寄存器加位移量定址,目的操作數為寄存器定址。
(3)源操作數為基址加變址定址,目的操作數為寄存器定址。
(4)源操作數和目的操作數都為寄存器定址。
(5)源操作數為寄存器定址,目的操作數為寄存器間接定址。
(6)為堆棧操作。
3.2 試述指令MOV AX,2000H和MOV AX,DSz[2000H]的區別。
解:前一條指令是立即定址,即把立即數2000H傳送至寄存器AX。後一條指令
是直接定址,是把數據(DS)段中的地址為200OH單元的內容傳送至寄存器AX。
3.3 寫出以下指令中內存操作數的所在地址。
(1)MOV AL, [BX+10]
(2)MOV [BP+10], AX
(3)INC BYTE PTR[SI十5]
(4)MOV DL, ES:[BX+SI]
(5)MOV BX , [BP+DI+2]
解:
(1)數據段BX+10單元。
(2)堆棧段BP+10單元。
(3)數據段SI+5位元組單元。
(4)附加段(ES段)BX+SI單元。
(5)堆棧段BP+DI+2單元。
3.4 判斷下列指令書寫是否正確。
(1)MOV AL, BX
(2)MOV AL, CL
(3)INC [BX]
(4)MOV 5, AL
(5)MOV [BX], [SI]
(6)M0V BL, OF5H
(7)MOV DX, 2000H
(8)POP CS
(9)PUSH CS
解:
(l)不正確,AL與BX數據寬度不同。
(2)正確。
(3)不正確,因為不明確是增量位元組還是字。
(4)不正確,立即數不能作為目的操作數。
(5)不正確,因為不明確要傳送的是位元組還是字。
(6)正確。
(7)正確。
(8)不正確,CS不能作為:pop指令的操作數。
(9)不正確,CS不能作為PUSH指令的操作數。
3.5 設堆錢指針SP的初值為1000H,AX=2000H, BX=3000H,試問:
(1)執行指令PUSH AX後SP的值是多少?
(2)再執行PUSH BX及POP AX後,SP、AX和BX的值各是多少?
解:
(1) SP=OFFEH。
(2) SP=OFFEH; AX=3000H, BX=3000H。
3.6要想完成把[3000H]送[2000H]中,用指令:
MOM [200OH], [300OH]
是否正確?如果不正確,應該用什麼方法實現?
解: 不正確。
正確的方法是:
MOV AL, [300OH]
MOV [2000H], AL
3.7 假如想從200中減去AL中的內容,用SUB 200,AL是否正確?如果不正確,應該
用什麼方法?
解:不正確。
正確的方法是:
MOV BL, 200
SUB BL, AL
3.8 試用兩種方法寫出從8OH埠讀入信息的指令。再用兩種方法寫出從4OH口輸
出10OH的指令。
解:
(1)IN AL, 80H
(2)MOV DX, 8OH
IN AL, DX
(3)MOV, AL, lOOH
OUT 40H, AL
4)MOV AL, 10OH
MOV DX,4OH
OUT DX, AL
3.9假如:AL=20H,BL=1OH,當執行CMP AL,BL後,問:
(1)AL、BL中的內容是兩個無符號數,比較結果如何?影響哪兒個標志位?
(2)AL、BL中的內容是兩個有符號數,結果又如何,影響哪幾個標志位?
解:
(l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。
(2)因為兩個都是符號正數,其結果與(l)相同。
3.10 若要使AL×10,有哪幾種方法,試編寫出各自的程序段?
解:
(1)使用乘法指令:
MOV BL,10
MUL BI,
(2)使用移位指令:
SHL AL,1
MOV BL,AL
SHL AL, 2
ADD AL,BL
(3)使用加法指令:
ADD AL,AL
MOV BL, AL
ADD AL, AL
ADD AL, AL
ADD AL, BL
3.11 8086匯編語言指令的定址方式有哪幾類?哪種定址方式的指令執行速度最快?
解:定址方式分為:立即數定址方式、寄存器操作數定址方式和存儲器操作數尋
址方式。其中,寄存器操作數定址方式的指令執行速度最快。
3.12 在直接定址方式中,一般只指出操作數的偏移地址,那麼,段地址如何確定?如果要用某個段寄存器指出段地址,指令中應該如何表示?
解:
默認的數據訪問,操作數在DS段;堆棧操作在SS段;串操作源操作數(SI)在DS段,目的操作數(DI)在ES段;用BP作為指針在SS段。如果要顯式地指定段地址,則在操作數中規定段寄存器。例如:
MOV AX, ES:(BX+10H)
3.13 在寄存器間接定址方式中,如果指令中沒有具體指明段寄存器,那麼如何確定段地址?
解:
在寄存器間接定址方式中,如果指令中沒有具體指明段寄存器,段地址是
隱含約定的,也就是隱含地選擇段寄存器。如操作類型為指令,則指定代碼段寄
存器CS,如操作類型為堆棧操作,則指定堆找段寄存器SS,…,如表3-1中所示。
當需要超越約定時,通常用段替代前綴加冒號":"來表示段超越,它允許程序設計者偏離任何約定的段。
例如:
MOV ES:〔BX],AX
這時數據將從寄存器EAX傳送至附加段中由EBX定址的存儲單元,而不是傳送
到數據段中。
3.14 採用寄存器間接定址方式時,BX、BP、SI、DI分別針對什麼情況來使用?這4個寄存器組合間接定址時,地址是怎樣計算的?請舉例說明。
解: 在寄存器間接定址方式下,BX和BP作為間址寄存器使用,而SI、DI作為
變址寄存器使用。除BP間址默認的段為堆棧段,其他的都默認為數據段。它們
都可以單獨使用,或加上偏移量或組合使用。如:
[BX +n]
LBP +n]
[SI +n]
[DI +n]
[BX +SI +n]
[BX +DI +n]
[BP +SI +n]
[BP +DI +n]
3.15 設DS=2100H,SS=5200H,BX=1400H,BP=6200H,說明下面兩條指令所進行
的具體操作:
MOV BYTE PTR[BP],200
MOV WORD PTR[BX],2000
解:前一條指令是把立即數(應是位元組)200,傳送至堆棧段(BP的默認段〉偏移
量由BP規定的位元組單元,地址為:52000H+620OH=58200H
第二條指令是把立即數.2000,傳送至數據段(BX的默認段)偏移量由BX規定的
字單元,地址為:21000H+1400H = 22400H。
3.16 使用堆錢操作指令時要注意什麼問題?傳送指令和交換指令在涉及內存操作數時應該分別要注意什麼問題?
解:使用堆棧指令可以把內存單元作為一個操作數(從內存到內存)。但堆棧固定在堆棧段且只能由SP指向。且堆棧操作要修改堆核指針。MOV指令不能實現內存單元間的數據傳送。XCHG指令是交換,有一個操作數必須是寄存器。
3.17下面這些指令中哪些是正確的?哪些是錯誤的?若是錯誤的,請說明原因。
(1)XCHG CS, AX
(2)MOV [BX], [1000]
(3)XCHG BX, IP
(4)PUSH CS
(5)POP CS
(6)IN BX, DX
(7)MOV BYTE[BX], 100O
(8)MOV CS, [1000]
解:
(l)錯誤,CS不能交換。
(2)錯誤,MOV指令不能在內存間傳送。
(3)錯誤,IP不能交換。
(4)錯誤,CS可以作為PUSH指令的操作數。
(5)錯誤,CS可以作為POP指令的操作數。
(6)錯誤,IN指令的目的操作數是累加器。
(7)錯誤,目的操作數是位元組單元。
(8〉錯誤,CS不能作為MOV指令的目的操作數。
3.18 以下是格雷碼的編碼表,
O 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
請用換碼指令和其他指令設計一個程序段,以實現由格雷碼向ASCII碼的轉換。
解:
MOV BX,TABLE
MOV SI,ASCII_TAB
MOV AL,0
MOV CX,10
TRAN: XLAT TABLE
MOV DL,AL
ADD DL,30H
MOV [SI],DL
INC AL
LOOP TRAN
3.19 使用乘法指令時,特別要注意先判斷是用有符號數乘法指令還是用無符號數乘法指令,這是為什麼?
解:因為有符號數和無符號數,其數的乘法是一樣的。但結果的符號取決於兩
個操作數的符號。
3.20 位元組擴展指令和字擴展指令一般用在什麼場合?舉例說明。
解:主要用於位元組相除和字相除之前,把被除數擴展為兩倍寬度的操作數。
3.21 什麼叫BCD碼?什麼叫組合的BCD碼?什麼叫非組合的BCD碼?8086匯編語言在對BCD碼進行加、減、乘、除運算時,採用什麼方法?
解:BCD碼為十進制編碼的二進制數。組合的BCD數是把兩位BCD加在一個位元組中,高位的在高4位。非組合的BCD碼是把一位BCD數放在一個位元組的低4位,高4位為0。8086在BCD加、減和乘法運算以後用BCD調整指令把結果調整為正確的BCD數。在BCD除法之前先用BCD調整指令再做除法.
3.22 用普通運算指令執行BCD碼運算時,為什麼要進行十進制調整?具體地講,在進行BCD碼的加、減、乘、除運算時,程序段的什麼位置必須加上十進制調整指令?
解:因為8086指令把操作數作為二進制數進行二進制運算,要得到正確的BCD結果,需要進行調整。在加、減、乘法指令之後加上BCD調整指令,而在除法指令之前先用BCD調整指令再用除法指令。
第4章 作業答案
4.1 在下列程序運行後,給相應的寄存器及存儲單元填入運行的結果:
MOV AL, 1OH
MOV CX, 100OH
MOV BX , 2000H
MOV [CX],AL
XCHG CX, BX
MOV DH, [BX]
MOV DL, 01H
XCHG CX, BX
MOV [BX],DL
HLT
解:寄存器及存儲單元的內容如下:
AL = 1OH
BL = OOH
BH = 2OH
CL = OOH
CH = 1OH
DH = 1OH
(10O0H) = lOH
(200OH) = 0lH
2.要求同題4.1,程序如下:
MOV AL, 50H
MOV BP, 100OH
MOV BX, 200OH
MOV [BP], AL
MOV DH, 20H
MOV [BX], DH
MOV DL, OlH
MOV DL, [BX]
MOV CX, 300OH
HLT
解:寄存器及存儲單元的內容如下:
AL = 5OH
BL = OOH
BH = 20H
CL = OOH
CH = 30H
DL = 20H
DH = 2OH
BP = 100OH
(10OOH) = 5OH
(20OOH) = 20H
4.3 自1000H單元開始有一個100個數的數據塊,若要把它傳送到自200OH開始的存
儲區中去,可以採用以下3種方法實現,試分別編製程序以實現數據塊的傳送。
(l)不用數據塊傳送指令
(2)用單個傳送的數據塊傳送指令
(3)用數據塊成組傳送指令。
解:
(1) LEA SI, 1OOOH
LEA DI, 200OH
MOV CX, 100
L1: MOV AX, [SI]
MOV [DI], AX
LOOP Ll
HLT
(2) LEA SI, 100OH
LEA DI, 2000H
MOV CX, 100
CLD
L1: MOVSB
LOOP L1
HLT
(3) LEA SI, 100OH
LEA DI, 200OH
MOV CX, 100
CLD
REP MOVSB
HLT
4.4 利用變址寄存器,編寫一個程序,把自1000H單元開始的100個數傳送到自1070H
開始的存儲區中去。
解:
LEA SI, 100OH
LEA DI, 1070H
MOV CX, 100
CLD
REP MOVSB
HLT
4.5 要求同題4.4,源地址為2050H,目的地址為2000H,數據塊長度為50.
解:
LEA SI, 205OH
LEA DI, 200OH
MOV CX, 50
CLD
REP MOVSB
HLT
4.6 編寫一個程序,把自100OH單元開始的100個數傳送'至105OH開始的存儲區中
(注意:數據區有重疊)。
解:
LEA SI, 100OH
LEA DI , 1050H
ADD SI, 63H
ADD DI, 63H
MOV CX, 100
STD
REP MOVSB
HLT
4.7 在自0500H單元開始,存有100個數。要求把它傳送到1000H開始的存儲區中,
但在傳送過程中要檢查數的值,遇到第一個零就停止傳送。
解:
LEA SI, 050OH
LEA DI, 10OOH
MOV CX, 100
N1: MOV AL, [SI]
CMP AL, 0
JZ N2
MOV [DI], AL
INC SI
INC DI
LOOP N1
N2: HLT
4.14若在0500H單元中有一個數
(1)利用加法指令把它乘2,且送回原存儲單元(假定X×2後仍為一個位元組);
(2)X×4;
(3)X×10(假定X×l0≤255).
解:
(1) LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV [BX], AL
(2) LEA BX, 0500H
MOV AL, [BX]
ADD AL, AL
ADD AL, AL
MOV [BX], AL
(3) LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV DL, AL
ADD AL, AL
ADD AL, AL
ADD AL, DL
MOV [BX], AL
第 5 章 作業答案
5.1 匯流排周期的含義是什麼?8086/8088CPU的基本匯流排周期由幾個時鍾組成?如果一個CPU的時鍾頻率為8MHz,那麼,它的一個時鍾周期是多少?一個基本匯流排周期是多少?如果主頻為5MHz呢?
解: CPLI訪問匯流排(從內存儲器或I/0埠讀/寫位元組或字)所需的時間稱為匯流排周期。8086/8088CPU的基本匯流排周期由4個時鍾組成。若CPU的時鍾頻率為8(5)MHz,時鍾周期為1/8MHz=125(1/5MHz=2O)ns,基本匯流排周期為4×125(200)ns=500(800)ns
5.2 在匯流排周期的TI、T2、T3、T4狀態,CPU分別執行什麼動作?什麼情況下需要插入
等待狀態Tw? Tw在哪兒插入? 怎樣插入?
解: 下面以存儲器讀為例進行說明。
在Tl周期:輸出地址信號、地址鎖存允許信號、內存或I/O埠訪問控制信號;
在T2周期:CPIJ開始執行數據傳送操作,此時,8086CPU內部的多路開關進行切換,將地址/數據線AD15~AD0上的地址撤銷,切換為數據匯流排,為讀寫數據作準備。8288匯流排控制器發出數據匯流排允許信號和數據發送/接收控制信號DT/R允許數據收發器工作,使數據匯流排與8086CPU的數據線接通,並控制數據傳送的方向。同樣,把地址/狀態線A19/S6~A16/S3切換成與匯流排周期有關的狀態信息,指示若干與周期有關的情況。
在T3周期:開始的時鍾下降沿上,8086CPU采樣READY線。如果READY信號有效(高電平),則在T3狀態結束後進人TA狀態。在T4狀態開始的時鍾下降沿,把數據匯流排上的數據讀入CPU或寫到地址選中的單元。
在T4狀態:結束匯流排周期。如果訪問的是慢速存儲器或是外設介面,則應該在Tl狀態輸出的地址,經過解碼選中某個單元或設備後,立即驅動READY信號到低電平。8086CPU在T3狀態采樣到READY信號無效,就會插入等待周期Tw,在Tw狀態CPU繼續采樣READY信號;直至其變為有效後再進人T4狀態,完成數據傳送,結束匯流排周期。在T4狀態,8086CPU完成數據傳送,狀態信號 。變為無操作的過渡狀態。在此期間,8086CPU結束匯流排周期,恢復各信號線的初態,准備執行下一個匯流排周期。
第 6 章 作 業 答 案
6.1 若有一單板機,具有用8片2114構成的4KBRAM,連線如圖創所示。
若以每1KB RAM作為一組,則此4組RAM的基本地址是什麼?地址有沒有重疊區?每一組的地址范圍為多少?
解:RAM的基本地址為:
第一組 OOOOH ~ 03FFH
第二組 4000H ~ 43FFH
第三組 8000H ~ 83FFH
第四組 COOOH ~ C3FFH
地址有重疊區。每一組的地址范圍為OOOH ~ 3FFH(1024個位元組)。
6.4 若要擴充1KB RAM(用2114片子),規定地址為8000H~83FFH,地址線應該如何
連接?
解: 擴充lKB RAM至規定地址8000H ~ 83FFH,其地址線的低10位接晶元,高6位地址(Al5 ~A10 = 100000)產生組選擇信號。
第 7 章 作 業 答 案
7.1 外部設備為什麼要通過介面電路和主機系統相連?
解: 因為外部設備種類繁多,輸入信息可能是數字量、模擬量或開關量,而且輸入速度、電平、功率與CPU差距很大。所以,通常要通過介面電路與主機系統相連。
7.4 CPU和輸入輸出設備之間傳送的信息有哪幾類?
解:CPU和輸入輸出設備之間傳送的信息主要有3類。
(l)數據
在微型計算機中,數據通常為8位、16位或32位。
(2)狀態信息
在輸入時,有輸入設備的信息是否准備好;在輸出時有輸出設備是否有空,若輸出設備正在輸出信息,則以忙指示等。
(3)控制信息
例如,控制輸入輸出設備啟動或停止等。
7.9 設一個介面的輸入埠地址為0100H,狀態埠地址為0104H,狀態埠中第5位為1表示輸入緩沖區中有一個位元組准備好,可以輸入。設計具體程序以實現查詢式
輸入。
解: 查詢輸入的程序段為:
POLl : IN AL, 0104H
AND AL, 20H
JZ POLl
IN AL, 0100H
第 8 章作 業 答 案
8.1 在中斷響應過程中,8086CPU向8259A發出的兩個RT互信號分別起什麼作用?
解: CPU發出的第一個 脈沖告訴外部電路,其提出的中斷請求已被響應,
應准備將類型號發給CPU,8259A接到了這個 脈沖時,把中斷的最高優先順序
請求置入中斷狀態寄存器(ISR)中,同時把IRR(中斷請求寄存器)中的相應位復
位。CPU發出的第二個 脈沖告訴外部電路將中斷的類型號放在數據匯流排上。
8.2 8086CPU最多可以有多少個中斷類型?按照產生中斷的方法分為哪兩大類?
解:8086CPU最多可以有256個中斷類型。按照產生中斷的方法,可以分為內
部中斷(軟體中斷)和外部(硬體中斷)中斷兩大類。
8.9 在編寫中斷處理子程序時,為什麼要在子程序中保護許多寄存器?
解: 因為在用戶程序運行時,會在寄存器中有中間結果,當在中斷服務程序中要
使用這些寄存器前要把這些寄存器的內容推至堆棧保存(稱為保護現場)。在從中斷服務程序返回至用戶程序時把這些內容從堆找恢復至寄存器中(稱為恢復現場)。
8.12 若在一個系統中有5個中斷源,其優先權排列為:1、2、3、4、5,它們的中斷服務程序的入口地址分別為:3000H、302OH、3050H、3080H、30AOH。編寫一個程序,當有中斷請求CPU響應時,能用查詢方式轉至申請中斷的優先權最高的源的中斷服
務程序。
解: 若5個中斷源的中斷請求放在一中斷狀態寄存器中,按優先權分別放在狀態的7位(優先權最高)至位3中。查詢方法的程序段為:
IN AL, STATUS
CMP AL, 80H
JNE N1
JMP 3000H
N1: IN AL, STATUS
CMP AL, 40H
JNE N2
JMP 3020H
N2: IN AL, STATUS
CMP AL, 20H
JNE N3
JMP 3050H
N3: IN AL, STATUS
CMP AL, 10H
JNE N4
JMP 3080H
N4: IN AL, STATUS
CMP AL, 08H
JNE N5
JMP 30A0H
N5: RET
第9章 作 業 答 案
9.3 在某一應用系統中,計數器/定時器8253地址為340H~343H,定時用作分頻器(N為分頻系數),定時器2用作外部事件計數器,如何編制初始化程序?
解:
定時器0用作分頻器,工作方式2,其初始化程序為:
MOV AL, 34H
OUT 343H, AL
MOV AL, N1
OUT 342H, AL
MOV AL, N2
OUT 342H, AL
定時器2用作外部事件計數器,工作在方式0,其初始程序:
MOV AL, 0B0H
OUT 343H,AL
MOV AL, N1
OUT 342H,AL
MOV AL, N2
OUT 342H,AL
9.4 若已有一頻率發生器,其頻率為1MHZ,若要示求通過計數器/定時器8253,著重產生每秒一次的信號,8253應如何連接?編寫出初始化程序。
解:
1MHZ的信號要變為每秒一次,則需經過106分頻。一個通道的計數為16 位最大為65536。故需要需兩個通道級連,則每個通道計數為1000。用通道0和通道1級連,都工作在方式2,初始化程序為:
MOV AL, 34H
OUT 343H, AL
MOV AL, 0E8H
OUT 342H, AL
MOV AL, 03
OUT 342H, AL
MOV AL, 74H
OUT 343H, AL
MOV AL, 0E8H
OUT 342H, AL
MOV AL, 03
OUT 342H, AL
9.9 編程將計數器/定時器8253計數器0設置為模式1,計數初值3000H;計數器1設置為模式2初值為2010H;計數器2設置為模式4初值為4030H;
解: 若埠地址為:0F8H~0FBH,初始化程序為:
MOV AL, 32H
OUT 0FBH, AL
MOV AL, 00H
OUT 0F8H, AL
MOV AL, 30H
OUT 0F8H, AL
MOV AL, 74H
OUT 0FBH, AL
MOV AL, 10H
OUT 0F9H, AL
MOV AL, 20H
OUT 0F9H, AL
MOV AL, 0B8H
OUT 0FBH, AL
MOV AL, 30H
OUT 0FAH, AL
MOV AL, 40H
OUT 0FAH, AL
第 10 章 作 業 答 案
10.4 可編程並行介面晶元8255A的3個埠在使用時有什麼差別?
解:通常埠A或B作為輸入輸出的數據埠(埠A還可以作為雙向數據埠),而埠C作為控制或狀態信息的埠,它在"方式"字的控制下,可以分成兩個4位的埠。每個埠包含一個4位鎖存器。它們分別與埠A和B配合使用,可用以作為控制信號輸出,或作為狀態信號輸入。
10.7 8255A有哪幾種基本工作方式?對這些工作方式有什麼規定?
解:8255A有3種基本的工作方式:
方式0-----基本輸入輸出:
方式1-----選通輸入輸出;
方式2-----雙向傳送。
10.8 設置8255A工作方式,8255A的控制口地址為OOC6H。要求埠A工作在方式1,輸
入;埠B工作在方式0,輸出;埠C的高4位配合埠A工作;低4位為輸入。
解:按要求的方式控制字為:10111001B。編程語句為:
MOV AL, 0B9H
OUT OOC6H, AL ;
10.9 設可編程並行介面晶元8255A的4個埠地址為OOCOH、00C2H、00C4H、OOC6H,要求用置0/置1方式對PC6置1,對PC4置0。
解:對埠C的PC6置1的控制字為: 00001101B,
對PC4置O的控制字為: 0000100OB。
程序段為:
MOV AL, DH
OUT OOC6H, AL
MOV AL, 08H.
OUT 00C6H, AL
4. 單片機原理與應用習題答案
一、 填空題(每空1分,共30分)
1. 8031的片內ROM是 (0) KB;8052的片內ROM是 (4) KB。
2. 8031的PSW中RS1 =0、RS0 = 1,工作寄存器R0~R7的地址為 (08H~0FH) 。
3. 8031上電復位後,SP的初值為 (07H) 、PC的初值為 (0000H) 、P2的初值為 (0FFFFH) 。
4. 8031內部SFR的P1位元組地址為 (90H) ;對應的位地址 (??) 。
5. 在8051單片機系統中,控制線/EA接 (高/低) 電平;在8051單片機系統中,若僅用片內ROM時控制線/EA接 (高) 電平。
6. P3口中P3.5位的第二功能符號為 (T1計數埠) 。
7. 若要從8031的P1.7位輸入數據必須對該位先 (輸入1) 。
8. 若要對8031復位,RST端應保持高電位 (24) 個振盪周期。
9. 8031的5個中斷源為自然優先順序的入口地址為 (0003H) 。
10. 若要將累加器A中數據送入外部RAM地址7000H中,應使用的指令是 (MOV DPTR #7000H) 和 (MOVX @DPTR A) 。
11. 8031串列口為工作方式0時,若主頻為6MHz,則TXD輸出頻率為 (0.5) MHz。
12. 8031的T0中斷標志位是TF0,當有中斷請求時,TF0 = (1) , 當進入中斷服務程序時TF0 = (0) 。
5. 單片機與微機原理及應用 答案
是這個嗎?
第一章 單片機基礎 1-1 答:單片機的發展到目前為止大致分為5個階段: 第一階段:單片機發展的初級階段。 第二階段:低性能單片機階段。 第三階段:高性能單片機階段。 第四階段:16位單片機階段。 第五階段:單片機在集成度、功能、速度、可靠性、應用領域等方面向更高水平發展。 1-2 答:由於單片機具有體積小、重量輕、價格便宜、功耗低、易擴展、可靠性高、控制功能強及運算速度快等特點,在國民經濟建設、軍工產品及家用電器等各個領域均得到廣泛應用。主要有:①工業自動化;②智能儀表;③消費類電子產品;④通信方面;⑤軍工產品;⑥終端及外部設備控制;⑦多機分布式系統。 1-3 答:MCS-51系列單片機的內部結構:1.中央處理器CPU。其主要完成單片機的運算和控制功能,MCS-51系列單片機的CPU不僅可以處理位元組數據,還可以進行位變數的處理。2.片內數據存儲器RAM。RAM用於存儲單片機運行中的工作變數、中間結果和最終結果等。3.片內程序存儲器ROM/EPROM。程序存儲器既可以存放已編制的程序,也可以存放一些原始數據和表格。4.特殊功能寄存器SFR。SFR用以控制和管理內部算術邏輯部件、並行I/O口、定時/計數器、中斷系統等功能模塊的工作。5.並行口。一共有4個8位的並行I/O口:P0、P1、P2、P3。P0是一個三態雙向口,可作為地址/數據分時復用口,也可作為通用I/O口。P1隻能作為通用I/O口。P2可以作為通用I/O口,也可作為在單片機擴展外部設備時,高8位地址匯流排使用。P3除了作為通用准雙向I/O介面外,各引腳還具有第二功能。6.串列口。有一個全雙工的串列口,可以實現單片機與外設之間數據的逐位傳送。7.定時/計數器。可以設置為定時方式或計數方式。 1-4 答:MCS-51一共有32個I/O引腳。P0口有8位數據匯流排和地址匯流排的低8位,P2口有地址匯流排的高8位,因此單片機的地址匯流排位是16位,定址空間為64KB,數據匯流排位寬為8位。同時在P3口還R/W控制信號線。「准雙向口」即不是真的雙向口的意思。雙向口與准雙向口的區別為雙向口有高阻態,輸入為真正的外部信號,准雙向口內部有上拉,故高電平為內部給出不是真正的外部信號!軟體做處理時都要先向口寫「1」!P0是雙向口,P1、P2、P3均為准雙向口。 1-5 答:EA為訪問外部程序存儲器控制信號,低電平有效。當EA端保持高電平時,單片機訪問片內程序存儲器;當EA保持低電平時無論片內有無程序存儲器,均只訪問外部程序存儲器。 1-6 答:RST是復位信號輸入端,高電平有效。當單片機運行時,再該引腳出現持續時間大於兩個機器周期的高電平,就可完成復位操作。上電復位利用電容兩端電壓不能突變的原理,在上電瞬間RST引腳與VCC引腳電壓相等,隨著電容充電兩端電壓逐漸上升,RST引腳逐漸下降。在充電過程中能夠提供足夠的高電平,使單片機能夠可靠的復位。 1-7 答:51單片機存儲器從物理結構上可分為:片內、片外程序存儲器與片內、片外數據存儲器4個部分。從定址空間分布和功能上分為128位元組的片內RAM區、128位元組的特殊功能寄存器區、64KB的外部RAM區、64KB的外部ROM區、4KB的片內flash ROM區。 1-8 答:決定程序執行順序的寄存器是程序計數器PC,它是16位的寄存器,定址空間64KB,它不是特殊功能寄存器。 1-9 答:MCS-51系列單片機內部RAM低128位元組單元可以分為工作寄存器區、位定址區、普通RAM區三部分
6. 單片機第三章作業,用移位的方法實現16位二進制數乘3的程序,16位二進制數在R0R1中,結果在R2R3中。
最要練習的是帶進位移位,帶進位加法 clr c;RLCR1,RLC R0.這個結果再加上(R0R1)。就是乘以3的結果。結果放到R2R3,很久沒有用51了,指令都忘了。但是這個題目沒有考慮溢出。比如FFFF×3後就不止16位了。R2R3放不下了
7. 跪求大工12秋《單片機原理及應用》在線作業一、二、三的答案
大工12秋《單片機原理及應用》在線作業二1. 要想測量INT0引腳上的一個正脈沖寬度,那麼特殊功能寄存器TMOD的內容應為()。
A. 09H
B. 87H
C. 00H
D. 80H
正確答案: A 滿分:6 分 得分:6
2. MCS-51單片機外部中斷0開中斷的指令是()。
A. SETB ETO
B. SETB EXO
C. CLR ETO
D. SETB ET1
正確答案: B 滿分:6 分 得分:6
3. 啟動定時器1開始定時的指令是()。
A. CLR TR0
B. CLR TR1
C. SETB TR0
D. SETB TR1
正確答案: D 滿分:6 分 得分:6
4. 當外部中斷0發出中斷請求後,中斷響應的條件是()。
A. SETB ET0
B. SETB EX0
C. MOV IE,#81H
D. MOV IE,#61H
正確答案: C 滿分:6 分 得分:6
5. 當CPU響應外部中斷0 INT0的中斷請求後,程序計數器PC的內容是()。
A. 0003H
B. 000BH
C. 0013H
D. 001BH
正確答案: A 滿分:6 分 得分:6
6. MCS-51單片機定時器T1的溢出標志TF1,若計滿數產生溢出時,如不用中斷方式而用查詢方式,則應()。
A. 由硬體清零
B. 由軟體清零
C. 由軟體置位
D. 可不處理
正確答案: B 滿分:6 分 得分:6
7. 要使MCS-51能夠響應定時器T1中斷、串列介面中斷,它的中斷允許寄存器IE的內容應是()。
A. 98H
B. 84H
C. 42H
D. 22H
正確答案: A 滿分:6 分 得分:6
8. 在中斷服務程序中,至少應有一條()。
A. 傳送指令
B. 轉移指令
C. 加法指令
D. 中斷返回指令
正確答案: D 滿分:6 分 得分:6
9. 當定時器T0發出中斷請求後,中斷響應的條件是()。
A. SETB ET0
B. SETB EX0
C. MOV IE,#82H
D. MOV IE,#61H
正確答案: C 滿分:6 分 得分:6
10. MCS-51單片機定時器溢出標志是()。
A. TR1和TR0
B. IE1和IE0
C. IT1和IT0
D. TF1和TF0
正確答案: D 滿分:6 分 得分:6
大工12秋《單片機原理及應用》在線作業二
試卷總分:100 測試時間:-- 試卷得分:100
單選題 判斷題
二、判斷題(共 10 道試題,共 40 分。) 得分:40V 1. MCS-51單片機對最高優先權的中斷響應是無條件的。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
2. MCS-51單片機只有一個中斷優先順序。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
3. MCS-51單片機的CPU開中斷的指令是SETB EA。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
4. 定時器中斷T0可以被外部中斷0中斷。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
5. MCS-51定時器T0的溢出標志TF0,若計滿數產生溢出時,其值為1。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
6. MCS-51定時器/計數器0的入口地址是001BH。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
7. 特殊功能寄存器TCON和定時器/計數器的控制無關。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
8. MCS-51單片機的5個中斷源優先順序相同。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
9. MCS-51單片機TMOD中的GATE=1時,表示由兩個信號控制定時器的啟停。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
10. MCS-51單片機的定時器T1有2種工作模式。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
大工12秋《單片機原理及應用》在線作業三
1. MCS-51外擴ROM、RAM和I/O口時,它的數據匯流排是()。
A. P0
B. P1
C. P2
D. P3
正確答案: A 滿分:6 分 得分:6
2. 當使用快速外部設備時,最好使用的輸入/輸出方式是()。
A. DMA
B. 無條件傳遞
C. 中斷
D. 條件傳送
正確答案: A 滿分:6 分 得分:6
3. MCS-51的串列口工作方式中最適合多機通信的是()。
A. 方式0
B. 方式1
C. 方式2
D. 方式3
正確答案: D 滿分:6 分 得分:6
4. 某種存儲器晶元是8KB*4/片,那麼它的地址線根線是()。
A. 11根
B. 12根
C. 13根
D. 14根
正確答案: C 滿分:6 分 得分:6
5. 下面哪一種傳送方式適用於處理外部事件()。
A. DMA
B. 無條件傳遞
C. 中斷
D. 條件傳遞
正確答案: C 滿分:6 分 得分:6
6. MCS-51的並行I/O口讀-改-寫操作,是針對該口的()。
A. 引腳
B. 片選信號
C. 地址線
D. 內部鎖存器
正確答案: D 滿分:6 分 得分:6
7. 80C51單片機串列口用工作方式0時,()。
A. 數據從RDX串列輸入,從TXD串列輸出
B. 數據從RDX串列輸出,從TXD串列輸入
C. 數據從RDX串列輸入或輸出,同步信號從TXD輸出
D. 數據從TXD串列輸入或輸出,同步信號從RXD輸出
正確答案: C 滿分:6 分 得分:6
8. 控制串列口工作方式的寄存器是()。
A. TCON
B. PCON
C. SCON
D. TMOD
正確答案: C 滿分:6 分 得分:6
9. 用MCS-51採用10位非同步通信方式時應工作在()。
A. 方式0
B. 方式1
C. 方式2
D. 方式3
正確答案: B 滿分:6 分 得分:6
10. MCS-51單片機串列數據緩沖器SBUF的主要作用是()。
A. 存放運算中間結果
B. 暫存數據和地址
C. 存放待調試的程序
D. 存放待發送或已接收到的數據
正確答案: D 滿分:6 分 得分:6
大工12秋《單片機原理及應用》在線作業三
試卷總分:100 測試時間:-- 試卷得分:100
單選題 判斷題
二、判斷題(共 10 道試題,共 40 分。) 得分:40V 1. MCS-51單片機使用的是獨立編址方式,即I/O與外部數據存儲器RAM是獨立編址的。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
2. 在單片機應用系統中,外部設備與外部數據存儲器傳送數據時,應使用MOV指令。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
3. 為提高單片機對外設的工作效率,通常採用非同步傳送I/O數據的方式。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
4. 片內RAM與外部設備統一編址時,需要有專門的輸入/輸出指令。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
5. 8155晶元內具有256B的靜態RAM,2個8位和1個6位的可編程並行I/O口,1個14位的定時器等常用部件及地址鎖存器。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
6. EPROM的地址線為11條時,能訪問的存儲空間有4KB。
A. 錯誤
B. 正確
正確答案:A 滿分:4 分 得分:4
7. MCS-51中,為實現P0口線的數據和低位地址復用,應使用地址鎖存器。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
8. 8155H、8255A都可以與MCS-51單片機直接相連。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
9. 8279是用於鍵盤和顯示器的專用介面晶元。
A. 錯誤
B. 正確
正確答案:B 滿分:4 分 得分:4
10. 串列口工作方式1的波特率是可變的,可通過定時/計數器T1的溢出率設定。
A. 錯誤
B. 正確
8. 單片機考試題目及答案(單片機考試復習題)
《單片機原理及介面技術》試卷(閉卷A卷)
一.單項選擇題(每題1分,共20分)
1.DPTR為( C)
A.程序計數器 B.累加器 C.數據指針寄存器 D.程序狀態字寄存
2.PSW的Cy位為( B)
A.輔助進位標志 B.進位標志 C.溢出標志位 D.奇偶標志位
3.MCS-51單片機片內ROM容量為( A )
A.4KB B.8KB C.128B D.256B
4.MCS-51單片機片要用傳送指令訪問片外數據存儲器,它的指令操作碼助記符是以下哪個?( B)
A.MUL B.MOVX C.MOVC D.MOV
5.direct表示( C )
A.8位立即數 B.16位立即數 C.8位直接地址 D.16位地址
6.堆棧指針SP是一個( A )位寄存器
A.8 B.12 C.13 D.16
7.定時器/計數器工作方式選擇中,當M1M0=11時,其工作方式為( D )
A.方式0 B.方式1 C.方式2 D.方式3
8.定時器/計數器工作方式0為( A)
A.13位定時/計數方式 B.16位定時/計數方式
C.8位可自動裝入計數初值方式 D.2個8位方式
9.MCS-51的最小時序定時單位是( A )
A.節拍 B.狀態 C.機器周期 D.指令周期
10.#data表示( A )
A.8位直接地址 B.16位地址 C.8位立即數 D.16位立即數
11.主頻為12MHz的單片機它的機器周期為(C )
A.1/12微秒 B.0.5微秒 C.1微秒 D.2微秒
12.MCS-51單片機在同一優先順序的中斷源同時申請中斷時,CPU首先響應( A )。
A.外部中斷0 B.外部中斷1 C.定時器0中斷 D.定時器1中斷
13.MOVC A ,@A+PC指令對於源操作數的定址方式是( D )
A.寄存器間接定址 B.寄存器定址 C.立即定址 D.變地定址
14. 為( C )
A.復位信號輸入端 B.地址鎖存允許信號輸出端
C.程序存儲允許輸出端 D.程序存儲器地址允許輸入端
15.MCS-51單片機的一個機器周期由(D )個振盪脈沖組成。
A.2 B.4 C.6 D.12
16.MOVC A ,#30H指令對於源操作數的定址方式是( C )
A.寄存器間接定址 B.寄存器定址 C.立即定址 D.變地定址
17.計算機能直接識別的語言為( B)
A.匯編語言 B. 機器語言 C.自然語言 D.硬體和軟體
18.PSW的OV位為( C )
A.輔助進位標志 B.進位標志 C.溢出標志位 D.奇偶標志位
19.在單片機中( A )為程序存儲器。
A.ROM B. RAM C.EPROM D.EEPROM
20.能用紫外線光擦除ROM中的程序的只讀存儲器為( C )
A.掩膜ROM B.PROM C.EPROM D.EEPROM
二、填空(每題 2 分,共 10 分)
1、從單片機系統擴展的角度出發,單片機的引腳可以構成三匯流排結構,即 數據
匯流排、地址匯流排和 控制 匯流排。
2、ALE信號的作用是 鎖存低8位地址信號(或 低8位地址鎖存) 。
3、MOV A,40H 指令對於源操作數的定址方式是 直接 定址。
4、PC存放的內容為: 下一條要執行的指令的地址 。
5、MCS-8051系列單片機字長是 8 位,有 40 根引腳。
三、簡答題:(共 25 分)
1、什麼是單片機?簡述單片機的應用領域。(15 分)
答:單片微型計算機簡稱單片機,它是把微型計算機的各個功能部件:中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、定時/計數器及I/O介面電路等集成在一塊晶元上,構成一個完整的微型計算機。
應用領域:(1)單片機在智能儀器儀表中的應用;(2)單片機在工業控制中的應用;(3)單片機在計算機網路與通信技術中的應用;(4)單片機在日常生活及家電中的應用。
2、什麼叫中斷?中斷有什麼特點?(10 分)
答:(1)「中斷」是指計算機在執行某段程序的過程中,由於計算機系統內、外的某種原因,當出現CPU以外的某種情況時,由服務對象向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應的處理程序,待處理程序執行完畢後,再返回繼續執行原來被中斷的程序。
(2)特點:分時操作;實時處理;故障處理。
四.已知:(R1)=32H,(30H)=AAH,(31H)=BBH,(32H)=CCH,求執行下列指令後累加器A.50H.R6.32H.和P1口中的內容。(10分)
MOV A ,#30H
MOV 50H ,A
MOV R6 ,31H
MOV @R1 ,31H
MOV P1,32H
解:上述指令執行後的操作結果為:
A=30H
(50H)=30H
R6=BBH
(32H)=BBH
P1=BBH
五、分析執行如下指令後,PSW中的Cy 、Ac、OV、P各為多少? A中的結果用十進製表示是多少?(15分)
MOV A,#85H
ADD A,#0AEH
Cy=1,Ac=1,OV=1,P=0。(A)=51
六、編程題: (每小題10分,共20分)
1、在程序中定義一個0——9的平方表,利用查表指令找出累加器A=03的平方值。(10分)
解:編程如下:
ORG 0050H
MOV DPTR,#TABLE ;表首地址→DPTR
MOV A,# ;03→A
MOVC A ,@A+DPTR ;查表指令,25→A
SJMP $ ;程序暫停
TABLE:DB 0,1,4,9,16,25,36,49,64,81 ;定義0——9平方表
END
2、試採用兩種方法編製程序,開放定時器T1的溢出中斷。(10分)
解:編程如下:
MOV IE,88H
或者MOV A8H,88H
或者 SETB EA
SETB ET1