單片機原理及應用復習題(附答案)_第1頁
單片機原理及應用復習題(附答案)_第2頁
單片機原理及應用復習題(附答案)_第3頁
單片機原理及應用復習題(附答案)_第4頁
單片機原理及應用復習題(附答案)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理及應用復習

一、填空題

1.單片機又稱為微控制器,將空y、存儲器、組集成到一個芯片上。

2.單片機的RST/VPD引腳為單片機的商店復位或掉電保護端,但單片機振蕩器工作時,該引腳

上只要出現(xiàn)持續(xù)兩個機器周期的高電平,就可實現(xiàn)復位操作,是單片機回到初始狀態(tài)。

3.單片機只訪問外部程序存儲器,必須使一端保持低電平。

4.單片機程序地址空間中0000H代表復位入口地址、0003H代表外部中斷0入口地址、OOOBH

代表定時器/計數(shù)器0溢出中斷入口地址、0013H代表外部中斷1中斷入口地址、001BH

代表定時器/計數(shù)器1溢出中斷入口地址、0023H代表串口中斷入口地址。通常在這些地

址中存放一條無條件轉(zhuǎn)移指令。

5.擴展片外數(shù)據(jù)存儲器地址空間與片內(nèi)數(shù)據(jù)存儲器地址空間可以重疊,是因為訪問片內(nèi)、外使

用不同的指令,訪問片外采用MOVX指令。

6.單片機應用程序一般放在ROM中,數(shù)據(jù)一般存放到RAM中。

7.單片機復位后,寄存器PC為0000H、ACC為咽、PSW為曬、SP為空此時選擇第0

組工作寄存器作為通用寄存器。

8.機器指令由操作碼和操作數(shù)兩部分構(gòu)成。

9.操作數(shù)表示參加操作的數(shù)本身或操作數(shù)所在的地址。

10.單片機特殊寄存器的選址方式只能是直接尋址。

11.可用于寄存器間接尋址的寄存器包括股、Rl>DPTR,這些寄存器起到地址指針的作用。

12.要用傳輸指令訪問單片機片外RAM,它的指令操作助記符是MOVX。

13.指令AJMP的跳轉(zhuǎn)范圍是2K,LJMP可在64KB范圍內(nèi)無條件轉(zhuǎn)移。

14.執(zhí)行PUSH時堆棧指針SP先加1,執(zhí)行POP堆棧指令是SP后減1,子程序調(diào)用LCALL指令

隱含2次壓棧,子程序返回指令RET隱含2次出棧(彈棧)。

絕對調(diào)用指令所能調(diào)用子程序的范圍是指令則是

15.ACALLaddr2K,LCALLaddr64KO

16.DB、DW、DS偽指令都只能對程序存儲器起作用,不能對數(shù)據(jù)存儲器進行初始化。

17.匯編語言程序包含順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等3種結(jié)構(gòu)。

18.

19.中斷源的允許是由中斷允許(IE)寄存器決定的,中斷源的優(yōu)先級別是由中斷優(yōu)先級(IP)

寄存器決定的。

20.MCS-51單片機程序存儲器擴展空間地址為0000H~0FFFFH,數(shù)據(jù)存儲器擴展的空間地址為

0000H~0FFFFH

21.MCS-51單片機進行擴展時,單片機數(shù)據(jù)總線由P0口提供。

22.單片機系統(tǒng)并行擴展中程勇的譯碼方式有線譯碼和譯碼器譯碼。

23.設定T1為計數(shù)器方式,工作方式2,則TMOD中的值為60H(高位為6即可)。

24.定時和計數(shù)都是對脈沖進行計數(shù),定時與計數(shù)的區(qū)別是周期已知的脈沖計數(shù);計數(shù)是對周

期未知的脈沖計數(shù)。

25.中斷處理的全過程分為以下3個段:中斷請求、中斷響應、中斷服務。

26.半導體存儲器分成兩大類:RAM和ROM,其中RAM具有易失性,常用于存儲臨時性數(shù)據(jù)。

27.中斷響應時間是指從查詢中斷請求標志位到轉(zhuǎn)向中斷區(qū)入口地址所需的機器周期數(shù)

28.若由程序設定RSI、RS0=01,則工作寄存器R0?R7的直接地址為08?0FH。

29.

二、選擇題

1.MCS—51單片機的CPU主要的組成部分為(A)。

A.運算器、控制器B.加法器、寄存器C.運算器、加法器D.運算器、譯碼器

2.單片機能直接運行的程序叫(C)。

A.源程序B.匯編程序C.目標程序D.編譯程序

3.單片機中的程序計數(shù)器PC用來(C)。

A.存放指令B.存放正在執(zhí)行的指令地址

C.存放下一條指令地址D.存放上一條指令地址

4.單片機上電復位后,PC的內(nèi)容和SP的內(nèi)容為(B)。

A.0000H,OOHB.0000H,07HC.0003H,07HD.0800H,08H

5.單片機8031的ALE引腳是(B)。

A.輸出高電平B.輸出矩形脈沖,頻率為fosc的1/6

C.輸出低電平D.輸出矩形脈沖,頻率為fosc的1/2

6.訪問外部存貯器或其它接口芯片時,作數(shù)據(jù)線和低8位地址線的是(A)。

A.P0□B.P1□C.P20D.P0口和P2口

7.PSW中的RS1和RSO用來(A)。

A.選擇工作寄存器區(qū)號B.指示復位C.選擇定時器D.選擇工作方式

8.單片機上電復位后,堆棧區(qū)的最大允許范圍是內(nèi)部RAM的(D)。

A.OOH—FFHB.OOH-07HC.07H—7FHD.08H—7FH

9.尋址方式就是(C)的方式。

A.查找指令操作碼B.查找指令C.查找指令操作數(shù)D.查找指令操作碼和操作數(shù)

10.單片機中PUSH和POP指令常用來(C)o

A.保護斷點B.保護現(xiàn)場C.保護現(xiàn)場,恢復現(xiàn)場D.保護斷點,恢復斷點

11.執(zhí)行中斷返回指令,從堆棧彈出地址送給(C)

A.AB.CYC.PCD.DPTR

12.8031單片機的哪個口的引腳,還具有外中斷、串行通信等第二功能。(D)

A.P0B.PlC.P2D.P3

13.8051單片機中既可位尋址又可字節(jié)尋址的單元是(A)

A.20HB.30HC.00HD.70H

14.當需要從MCS-51單片機程序存儲器取數(shù)據(jù)時,采用的指令為(B)。

A.MOVA,@R1B.MOVCA,@A+DPTR

C.MOVXA,@ROD.MOVXA,@DPTR

15.MCS-51單片機復位操作的主要功能是把PC初始化為(C)。

A.0100HB.2080HC.0000HD.8000H

16.若單片機的振蕩頻率為6MHz,設定時器工作在方式1需要定時1ms,則定時器初值應為

(C)

A.500B.1000C.2A16-500D.2A16-1000

17.MCS-51單片機在同一優(yōu)先級的中斷源同時申請中斷時,CPU首先響應(A)o

A.外部中斷0B.外部中斷1C.定時器0中斷D.定時器1中斷

18.要想把數(shù)字送入DAC0832的輸入緩沖器,其控制信號應滿足(B)。

A.ILE=1,CS=1,恤1=0

B.ILE=1,CS=0,恤1=0

C.ILE=O,CS=1,WRi=o

D.ILE=O,CS=0,恤1=0

19.在中斷服務程序中至少應有一條(D)

A.傳送指令B.轉(zhuǎn)移指令C.加法指令D.中斷返回指令

20.下面哪條指令產(chǎn)生旅信號(D)

A.MOVXA,@DPTRB.MOVCA,@A+PCC.MOVCA,@A+DPTRD.MOVX@DPTR,A

21.若某存儲器芯片地址線為12根,那么它的存儲容量為(C)

A.1KBB.2KBC.4KBD.8KB

22.要想測量方而引腳上的一個正脈沖寬度,則TMOD的內(nèi)容應為(A)

A.09HB.87HC.OOHD.80H

23.執(zhí)行PUSHACC指令,MCS-51完成的操作是(A)

A.SP+1TSP,ACCTspB.ACCfSP,SP-1—SP

C.SP-1->SP,ACC->SPD.ACCfSP,SP+1—SP

三、判斷題

1.查表指令MOVC將程序存儲器中的內(nèi)容送至累加器。(T)

2.DB、DW、DS偽指令對成俗存儲器和數(shù)據(jù)存儲器都起作用。(F)

3.五個中斷源中優(yōu)先級是高的是外部中斷0,優(yōu)先級最低的是串行口中斷。()

4.工作寄存器工作在0區(qū),則R2所對應的內(nèi)部數(shù)據(jù)存儲器的地址是03H。(T)

5.MOVCA,@A+DPTR這是條相對尋址指令。(F)

6.8051單片機的P2口只能用作通用I/O口。(F)

7.程序存儲器和數(shù)據(jù)存儲器的作用不同,程序存儲器一般用存放數(shù)據(jù)表格和程序,而數(shù)據(jù)存儲

器一般用來存放數(shù)據(jù)。(T)

8.MCS-51的程序存儲器只能用來存放程序。(F)

9.單片機偽指令在匯編時會產(chǎn)生目標代碼,但不會影響程序的執(zhí)行(F)

10.P2口既可以作為I/O使用,又可以作地址/數(shù)據(jù)復用口使用。(F)

11.MOVA,30H的源操作數(shù)為立即尋址方式。(F)

12.MULAB的執(zhí)行結(jié)果是高8位在A中,低8位在B中。(F)

13.DPTR是由DPH和DPL兩個8位特殊寄存器組成的。(T)

14.特殊功能寄存器IE,與定時器/計數(shù)器的控制無關(F)

15.單片機在執(zhí)行MOVCA,@A+DPTR指令時,通信號有效。(F)

四、問答題

1.MCS-51共有哪幾種尋址方式?各有什么特點?

答:共有7種尋址方式。

(1)寄存器尋址方式操作數(shù)在寄存器中,因此指定了寄存器就能得到操作數(shù)。

(2)直接尋址方式指令中操作數(shù)直接以單元地址的形式給出,該單元地址中的內(nèi)容

就是操作數(shù)。

(3)寄存器間接尋址方式寄存器中存放的是操作數(shù)的地址,即先從寄存器中找到操

作數(shù)的地址,再按該地址找到操作數(shù)。

(4)立即尋址方式操作數(shù)在指令中直接給出,但需在操作數(shù)前面加前綴標志“

(5)基址寄存器加變址寄存器間接尋址方式以DPTR或PC作基址寄存器,以累加

器A作為變址寄存器,并以兩者內(nèi)容相加形成的16位地址作為操作數(shù)的地址,以達

到訪問數(shù)據(jù)表格的目的。

(6)位尋址方式位尋址指令中可以直接使用位地址。

(7)相對尋址方式在相對尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“rel”表示,

即把PC的當前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。

2.上電按鍵復位電路工作過程?P28

3.MCS—51指令系統(tǒng)中direct表示的含義是什么?P33

4.設計子程序時注意哪些問題?

答:在編寫子程序時應注意以下問題:

(1)子程序的第一條指令的地址稱為子程序的入口地址。該指令前必須有標號。

(2)主程序調(diào)用子程序,是通過主程序或調(diào)用程序中的調(diào)用指令來實現(xiàn)的。

(3)注意設置堆棧指針和現(xiàn)場保護,因調(diào)用子程序時,要把斷點壓入堆棧,子程序

返回執(zhí)行RET指令時再把斷點彈出堆棧送入PC指針,因此子程序結(jié)構(gòu)中必須用堆

棧。

(4)子程序返回主程序時,最后一條指令必須是RET指令,它的功能是在執(zhí)行調(diào)

用指令時,把自動壓入堆棧中的斷點地址彈出送入PC指針中,從而實現(xiàn)子程序返回

主程序斷點處繼續(xù)執(zhí)行主程序。

(5)子程序可以嵌套,即主程序可以調(diào)用子程序,子程序又可以調(diào)用另外的子程序,

通常情況下可允許嵌套8層。

(6)在子程序調(diào)用時,還要注意參數(shù)傳遞的問題。

5.不同尋址方式中,操作數(shù)在存儲器地址空間中的分配(程序存儲器、數(shù)據(jù)存儲器)?

6.MCS-51單片機的時鐘周期與振蕩周期之間有什么關系?一個機器周期的時序如何劃分?

答:時鐘周期是單片機最基本的時間單位。機器周期則是完成某一個規(guī)定操作所需的時間。

一個機器周期為6個時鐘周期,共12個振蕩周期性,依次表示為S1P1>S1P2、......S6P1、S6P2o

7.MCS-51內(nèi)部四個并行I/O口各有什么異同?作用是什么?

答:MCS-51單片機共有四個8位雙向并行的I/O端口,每個端口都包括一個鎖存器、一個

輸出驅(qū)動器和一個輸入緩沖器。但這四個端口的功能不全相同,P0口既可作一般I/O端口使用,

又可作地址/數(shù)據(jù)總線使用;P1口是一個準雙向并行口,作通用并行I/O口使用;P2口除了可

作為通用I/O使用外,還可在CPU訪問外部存儲器時作高八位地址線使用;P3口是一個多功

能口除具有準雙向I/O功能外,還具有第二功能。

8.MCS51的中斷系統(tǒng)有幾個中斷源?幾個中斷優(yōu)先級?中斷優(yōu)先級是如何控制的?在出現(xiàn)同

級中斷申請時,CPU按什么順序響應(按由高級到低級的順序?qū)懗龈鱾€中斷源)?各個中

斷源的入口地址是多少?

答:MCS51單片機有5個中斷源,2個中斷優(yōu)先級,中斷優(yōu)先級由特殊功能寄存器IP控制,

在出現(xiàn)同級中斷申請時,CPU按如下順序響應各個中斷源的請求:INTO、TO、INTI、T1、串口,

各個中斷源的入口地址分別是0003H、OOOBH、0013H、OO1BH、0023H。

9.簡述MCS-51單片機的中斷響應過程。

答:CPU在每個機器周期的S5P2期間順序采樣每個中斷源,在下一個機器周期S6區(qū)間按

優(yōu)先級順序查詢中斷標志,如查詢到某個中斷定標志為1,將在接下來的機器周期S1期間按

優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將相應的中斷矢量地址裝入PC,以便進入相應

的中斷服務程序。一旦響應中斷,CPU首先置位相應的中斷“優(yōu)先級觸發(fā)器”,然后由硬件執(zhí)

行一條長調(diào)用指令,把當前的PC值壓入堆棧,以保護斷點,再將相應的中斷服務的入口地址

送入PC,于是CPU接著從中斷服務程序的入口處開始執(zhí)行。對于有些中斷源,CPU在響應中

斷后會自動清除中斷標志。

10.何謂鍵抖動?鍵抖動對單片機系統(tǒng)有何影響?如何消除抖動?

11.MCS51單片機內(nèi)部有幾個中斷源?各中斷標識是如何產(chǎn)生的?如何消除?

12.簡述子程序調(diào)用和執(zhí)行中斷服務程序的異同點。

答:相同點:均能中斷主程序執(zhí)行本程序,然后再返回斷點地址繼續(xù)執(zhí)行主程序。

不同點:

(1)中斷服務程序入口地址是固定的,子程序調(diào)用入口地址是用戶自己設定的。

(2)中斷服務子程序返回指令除具有子程序返回指令所具有的全部功能之外,還有清

除中斷響應時被置位的優(yōu)先級狀態(tài)、開放較低級中斷和恢復中斷邏輯等功能。

(3)中斷服務子程序是在滿足中斷申請的條件下,隨機發(fā)生的;而子程序調(diào)用是用戶

主程序事先安排好的。

五、程序分析

1.在下面一段程序中,累加器A的作用是什么?(中間寄存器)

MOVR6,#29H

XCHA,R6

SWAPA

XCHA,R6

2.分析下列程序段執(zhí)行后,A=6E,(30H)=EE

MOV30H,#0A4H

MOVA,#0D6H

MOVRO,#30H

MOVR2,#5EH

ANLA,R2

ORLA,@R0

SWAPA

CPLA

XRLA,#OFEH

ORL30H,A

3.設(A)=85H,(20H)=34H,C=l,執(zhí)行如下指令后,(A)=51,C=0,AC=0,OV=1

CLRC

SUBBA,20H

4.設(A)=78H,(R2)=34H,執(zhí)行以下指令后,(A)=12,C=1

ADDA,R2

DAA

5.設(21H)=71H,C=l,順序執(zhí)行以下命令后(21H)=0F2H,C=0

CLRC

CLR08H

CPL09H

SETBC

SETBOFH

CPLC

6.設(A)=40H,(RI)=23H,(40H)=05Ho執(zhí)行下列兩條指令后,累加器A和R1以及內(nèi)部

RAM中40H單元的內(nèi)容各位何值?A=25、R1=40、(40H)=03H

XCHA,RI

XCHDA,@R1

7,設堆棧指針SP中的內(nèi)容為60H,內(nèi)部RAM中30H和31H段元的內(nèi)容分別為24H、10H,執(zhí)

行下列程序后61H、62H、30H、31H、DPTR以及SP的值分別是多少?24H、10H、00H、

OFFH、2410H、60H

PUSH30H

PUSH31H

POPDPL

POPDPH

MOV30H,#00H

MOV31H,#0FFH

8.已矢口出0)=20匕(20田=364(211~1)=17乩(361~1)=34乩執(zhí)行過程如下:

MOVA,@R0

MOVR0,A

MOVA,@R0

ADDA,21H

ORLA,#21H

RLA

MOVR2,A

RET

則執(zhí)行結(jié)束(R0)=36H(R2)=D6H

9.設/)=38乩(20田=491~1/5\/\/二00乩(8)=02乩填寫以下中間結(jié)果。

SETBC

ADDC:A,20H(A)=82H(CY)=0(AC)=1

RLCA(A)=04H(CY)=1(P)=l

MULAB(A)=08H(B)=00H(OV)=0

10.數(shù)據(jù)塊傳送,將RAM從30H開始的連續(xù)32個單元的內(nèi)容傳遞給片內(nèi)RAM從60H開始的

連續(xù)32個單元。

ORG1000H

MOVR7,____(#20H)

MOVR0,#30H

MOVRl,#60H

LOOP:MOVA,@R0

MOV,A(R1)

INCRO

INCRI

DJNZR7,(LOOP)

SJMP$

END

11.下列程序中注釋的數(shù)字為執(zhí)行該指令所需的機器周期數(shù),如單片機的晶振頻率為6MHz,

請問執(zhí)行下列程序需要多少時間?1006US

MOVR3,#100;1

LOOP:NOP;1

NOP

NOP

DJNZR3,L00P;2

RET;2

12.ADRI表示內(nèi)容中的某個地址單元,試分析以下程序的作用和結(jié)構(gòu)。比較兩個數(shù)的大小,分

支結(jié)構(gòu)

ORG8000H

START:CLRC

MOVDPTR,#ADR1

MOVXA,@DPTR

MOVRI,A

INCDPTR

MOVXA,@DPTR

MOVR2,A

SUBBA,RI

JNCLI

XCHA,RI

SJMPL

L1:MOVA,R2

L:INCDPTR

MOVX@DPTR,A

RET

13.已知如圖并給出下列程序,請在讀圖并理解程序后回答下列問題:

+5V

⑴程序功能為—循環(huán)采集8個通道的數(shù)據(jù)。

(2)ADC0809的口地址為?FFOH?7FF7H。

(3)E0C的作用是—A/P轉(zhuǎn)換結(jié)束信號,用來引起中斷或查詢,以便讀取A/D的轉(zhuǎn)換結(jié)果

(4)程序運行結(jié)果存于—外部RAM的AOH?A7H

ADC:MOVDPTR,#7FFOH

MOVRo,#0A0H

MOVR2,#8

MOVA,#0

LOOP:MOVX@DPTR,A

JBP3.3,$

MOVXA,@DPTR

MOVX@R0,A

INCDPTR

INCRo

DJNZR2LOOP

AJMPADC

六、設計題

L片內(nèi)RAM50H~59H中存放10個數(shù)值,試編程去掉一個最大值和一個最小值,求出其余8個

數(shù)的平均值,并將結(jié)果放到60H中。課后習題

2.按以下要求編寫8051單片機定時器的初始化程序:

a)TO作為定時,定時時間為10ms;

b)T1作為計數(shù),記滿1000溢出。

TO的工作方式0時:tmax=2八13X12/fc=2"3X2us=16.384ms

定時10ms可達要求,則X=2A13-10ms/2us=3192=C78H=6318H

②TO工作在方式1時:tmax=2八16X12/fc=2八16X2us=131.072ms

定時10ms也可達要求,則X=2A16-10ms/2us==EC78H

③TO工作在方式2或3時:tmax=2A8X12/fc=28X2us=512us

定時500us,循環(huán)20次,X=2八8-500us/2us=06H

⑵方式0:2A13-100=8092=lF9CH=FClCH

X二M-計數(shù)值方式1:216-100=FF9CH

方式2或3:28-100=9CH

①DELAY:MOVTMOD#00H(#01H/#10H/#11H)

(MOVR3,#14H)

MOVTHO,#63H

MOVTLO,#18H

SETBTRO

LP1:JBCTFO,CLOSE

SJMPLP1

CLOSE:SJMP$

RET

3.若單片機的晶振頻率為6MHz。有一外部信號是周期為200ms的連續(xù)方波,請利用該信號作

為定時器用T1的計數(shù)輸入,T

溫馨提示

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

評論

0/150

提交評論