單片機課后習題答案解析_第1頁
單片機課后習題答案解析_第2頁
單片機課后習題答案解析_第3頁
單片機課后習題答案解析_第4頁
單片機課后習題答案解析_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習題答案

習題0

1.單片機是把組成微型計算機的各功能部件即(微處理器(CPU))、(存儲器(ROM和RAM))、

(總線)、(定時器/計數(shù)器)、(榆入/榆出接口(I/O口))及(中斷系統(tǒng))等部件集成

在一塊芯片上的微型計算機。

2.什么叫單片機?其主要特點有哪些?

將微處理器(CPU)、存儲器(存放程序或數(shù)據(jù)的ROM和RAM)、總線、定時器/計數(shù)器、

輸入/輸出接口(I/O口)、中斷系統(tǒng)和其他多種功能器件集成在一塊芯片上的微型計機,稱

為單片微型計算機,簡稱單片機。

單片機的特點:可靠性高、便于擴展、控制功能強、具有豐富的控制指令、低電壓、低

功耗、片內(nèi)存儲容量較小、集成度高、體積小、性價比高、應用廣泛、易于產(chǎn)品化等。

3.單片機有哪幾個發(fā)展階段?

(1)第一階段(1974—1976年):制造工藝落后,集成度低,而且采用了雙片形式。典

型的代表產(chǎn)品有FairchiId公司的F8系列。其特點是:片內(nèi)只包括了8位CPU,64B的RAM

和兩個并行口,需要外加一塊3851芯片(內(nèi)部具有1KB的ROM、定時器/計數(shù)器和兩個并行

口)才能組成一臺完整的單片機。

(2)第二階段(1977—1978年):在單片芯片內(nèi)集成CPU、并行口、定時器/計數(shù)器、

RAM和ROM等功能部件,但性能低,品種少,應用范圍也不是很廣。典型的產(chǎn)品有Intel公

司的MCS-48系列。其特點是,片內(nèi)集成有8位的CPU,1KB或2KB的ROM,64B或128B的

RAM.只有并行接口,無串行接口,有1個8位的定時器/計數(shù)器,中斷源有2個。片外尋址

范圍為4KB,芯片引腳為40個。

(3)第三階段(1979—1982年):8位單片機成熟的階段。其存儲容量和尋址范圍增

大,而且中斷源、并行"??诤投〞r器/計數(shù)器個數(shù)都有了不同程度的增加,并且集成有全

雙工串行通信接口。在指令系統(tǒng)方面增設了乘除法、位操作和比較指令。其特點是,片內(nèi)包

括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2個或3個

16位的定時器/計數(shù)器,有5?7個中斷源。片外尋址范圍可達64KB,芯片引腳為40個。代

表產(chǎn)品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系

列,Zilog公司的Z8系列等。

(4)第四階段(1983年至今):16位單片機和8位高性能單片機并行發(fā)展的時代。16

位機的工藝先進,集成度高,內(nèi)部功能強,運算速度快,而且允許用戶采用面向工業(yè)控制的

專用語言,其特點是,片內(nèi)包括了16位的CPU,8KB的ROM,232B的RAM,具有串/并行接

口,4個16位的定時器/計數(shù)器,有8個中斷源,具有看門狗(Watchdog),總線控制部件,

增加了D/A和A/D轉(zhuǎn)換電路,片外尋址范圍可達64KB。代表產(chǎn)品有Intel公司的MCS-96系

列,Motorola公司的MC68HC16系列,TI公司的TMS9900系列,NEC公司的783XX系列和

NS公司的HPC16040等。然而,由于16位單片機價格比較貴,銷售量不大,大量應用領(lǐng)域

需要的是高性能、大容量和多功能的新型8位單片機。

近年來出現(xiàn)的32位單片機,是單片機的頂級產(chǎn)品,具有較高的運算速度。代表產(chǎn)品有

Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。

4.在實際應用中,如何選擇單片機的類型?

選擇原則:主要從指令結(jié)構(gòu)、運行速度、程序存儲方式和功能等幾個方面選擇單片機。

MCS-51為主流產(chǎn)品。

Motorola是世界上最大的單片機廠商。品種全、選擇余地大、新產(chǎn)品多。其特點是噪

聲低,抗干擾能力強,比較適合于工控領(lǐng)域及惡劣的環(huán)境。

Microchip單片機是市場份額增長較快的單片機。它的主要產(chǎn)品是PIC系列8位單片機。

其特點是運行速度快,低價位,適用于量大、檔次低、價格敏感的產(chǎn)品。

美國德州儀器(TI)公司生產(chǎn)的MSP430系列單片機是一種特低功耗的Flash微控制器。

主要用于三表及越低功耗場合。

在嵌入式系統(tǒng)低端的單片機領(lǐng)域,Intel公司的MCS-51形成了既具有經(jīng)典性又不乏生

命力的一個單片機系列。許多半導體廠家、電器公司以NCS-51系列中的8051為基核,推出

了許多兼容性的CHM0S單片機——80C51系列o

此外,還有Zilog、EM78、Senix、NEC、Epson,NS、三星、富士通、華邦、Philips、

ARM等單片機。

5.試比較MCS-51,MSP430,EM78,PIC,M6800及AVR等系列單片機的特點。

MCS-51為主流產(chǎn)品。

MSP430的功能較強。是一種特低功耗的Flash微控制器。主要用于三表及超低功耗場

合。

EM78系列單片機采用高速CMOS工藝制造,低功耗談計為低功耗產(chǎn)品,價格較低。具有

三個中斷源、R-0PTI0N功能、I/O喚醒功能、多功能I/O口等。具有優(yōu)越的數(shù)據(jù)處理性能,

采用RISC結(jié)構(gòu)設計。

PIC系列8位單片機是Microchip公司的產(chǎn)品。CPU采用RISC結(jié)構(gòu),運行速度快,價格

低適于用量大、檔次低、價格敏感的產(chǎn)品。

Motorola是世界上最大的單片機生產(chǎn)廠家之一,品種全、選擇余地大、新產(chǎn)品多。其

特點是噪聲低,抗干擾能力強,比較適合于工控領(lǐng)域及惡劣的環(huán)境。

AVR是增強RISC內(nèi)載Flash的單片機,單片機內(nèi)部32個寄存器全部與ALU直接連接,

突破瓶頸限制,每1MHz可實現(xiàn)1MIPS的處理能力,為高速、低功耗產(chǎn)品。端口有較強的負

載能力,可以直接驅(qū)動LED。支持ISP、IAP,I/O口驅(qū)動能力較強。

6.舉例說明生活中應用單片機的例子。

生活中單片機無處不在:如洗衣機的控制主板、太陽能的溫度控制器,電動車的控制器,

電磁爐、(高級)電冰箱的控制系統(tǒng)、手機、電視遙控器、空調(diào)、洗衣機、微波爐、冰箱、

熱水器、電子稱、電子表、計算器、汽車鑰匙、可視門禁、公交車報站器、公交車刷卡器、

紅綠燈控制器等等。歐美日等國家,一個家庭中所擁有的單片機數(shù)量平均到100720顆。

單片機有著廣泛的應用領(lǐng)域:

1\

J

Z單片機在智能儀器儀表中的應用;

z2\

(J

\Z單片機在工業(yè)測控中的應用;

/3X

<J

\Z單片機在計算機網(wǎng)絡和通訊技術(shù)中的應用:

z4\

(J

\Z單片機在日常生活及家電中的應用;

Z5X

()

N/單片機在辦公自動化方面。

目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪

個領(lǐng)域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀

表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程

的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用

豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機

的控制,以及程控玩具、電子寵物、自動控制領(lǐng)域的機器人、

智能儀表、醫(yī)療器械等等。

1.MCS51單片機是基于(Harvard(哈佛))結(jié)構(gòu)的,其特點是(程序存儲器和數(shù)據(jù)存儲器

是分開的)。

2.CPU由(運算器)和(控制器)組成。

3.若不使用MCS-51片內(nèi)程序存儲器,引腳(EA)必須接地.。

4.在MCS-51單片機中,如果采用6MHz晶振,一個機器周期為(2us)o

5.8051內(nèi)部RAM位尋址區(qū)的單元地址范圍為(20H?2FH),其位地址范圍為(00H?7FH)。

6.8051芯片的引腳可以分為三類:(電源線)、(端口線)和(控制線)。

7.若A中的內(nèi)容為63H,那么,P標志位的值為(0)。

8.8031單片機復位后,R4所對應的存儲單元的地址為(04H),因上電時PSW二(00H)。這

時當前的工作寄存器區(qū)是(0)組工作寄存器區(qū)。

9.8051型單片機內(nèi)部有(A)的ROM。

A:4KBB:6KBC:256BD:8KB

10.MCS-51上電復位后,SP的內(nèi)容應是(B),,

A:OOHB:07HC:60HD:70H

11.PC用來存放(C)o

A:指令B:上一條的指令地垃

C:下一條的指令地址D:正在執(zhí)行的指令地址

12.采用8031單片機必須擴展(B).,

A:數(shù)據(jù)存儲器B:程序存儲器C:I/O接口D:顯示接口

13.PSVM8H時,則當前工作寄存器是(D)。

A:0組B:1組C:2組D:3組

14.MCS-51系列單片機在片內(nèi)集成了哪些主要邏輯功能部件?各個邏輯部件的主要功能是

什么?

MCS-51單片機在片內(nèi)集成了中央處理器(CPU)、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、

定時器/計數(shù)器、并行I/O接口、串行I/O接口、中斷系統(tǒng)等幾大單元。

CPU是整個單片機的核心部件,由運算器和控制器組成。運算器可以完成算術(shù)運算和邏

輯運算,其操作順序在控制器控制下進行??刂破魇怯沙绦蛴嫈?shù)器PC(ProgramCounter).

指令寄存器IR(InstructionRegister)、指令譯碼器ID(InstructionDecoder定時控

制邏輯和振蕩器OSC等電路組成。CPU根據(jù)PC中的地址將欲執(zhí)行指令的指令碼從存儲器中

取出,存放在IR中,ID對IR中的指令碼進行譯碼,定時控制邏輯在OSC配合下對ID譯碼

后的信號進行分時,以產(chǎn)生執(zhí)行本條指令所需的全部信號。

程序存儲器(ROM)用于存儲程序、常數(shù)、表格等。

數(shù)據(jù)存儲器(RAM)用于存儲數(shù)據(jù)。

8051內(nèi)部有兩個16位可編程序的定時器/計數(shù)器TO和T1,均為二進制加1計數(shù)器???/p>

用于定時和對外部揄入脈沖的計數(shù)。

8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級控制器IP等電路組成??蓪?/p>

現(xiàn)對5個中斷源的管理。8351的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級控制器IP

等電路組成。其中,IE用于控制5個中斷源中哪些中斷請求被允許向CPU提出,哪些中斷

源的中斷請求被禁止;IP用于控制5個中斷源的中斷請求的優(yōu)先權(quán)級別。

1/0接口是MCS-51單片機對外部實現(xiàn)控制和信息交換的必經(jīng)之路,用于信息傳送過程

中的速度匹配和增加它的負載能力??煞譃榇泻筒⑿蠭/O接口。

中斷系統(tǒng)用于處理中斷過程。

15.MCS-51系列單片機的引腳中有多少根I/O線?它們與單片機對外的地址總線和數(shù)據(jù)總

線之間有什么關(guān)系?其地址總線和數(shù)據(jù)總線各有多少位?對外可尋址的地址空間有多大?

80c51單片機有4個I/O端口,每個端口都是8位雙向口,共占32根引腳。每個端口

都包括一個鎖存器(即專用寄存器P0?P3)、一個輸入驅(qū)動器和輸入緩沖器。通常把4個端

口稱為P0?P3。在無片外擴展的存儲器的系統(tǒng)中,這4個端口的每一位都可以作為雙向通

用I/O端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分時作

為低8位地址線和雙向數(shù)據(jù)總線。對外可尋址空間為64KBo

16.8051單片機的控制總線信號有哪些?各有何作用?

控制線一共有6條:

(1)ALE/PROG:地址鎖存允許/編程線,配合P0口引腳的第二功能使用。在訪問片外存

儲器時,8051CPU在P0.7?P0.0引腳上輸出片外存儲器低8位地址的同時在ALE/的石上

揄出一個高電位脈沖,用于把這個片外存儲器低8位地玨鎖存到外部專用地址鎖存器,以便

空出P0.7?P0.0引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時,

8051自動在ALE/的而上輸出頻率為fosc/6的脈沖序列。該脈沖序列可用作外部時鐘源或

作為定時脈沖源使用。

(2)EA/Vpp:允許訪問片外存儲器/編程電源線,可以控制8051使用片內(nèi)ROM還是使用

A(ACC)累加落EOH可以

PSW程序狀,態(tài)字(標志寄存粉)DOH可以

IP中斷優(yōu)先坡按制寄存落B8H可以

P3P2。數(shù)娓寄存BOH可以

IE中斷允許校制寄存器A8H可以

P2P2u數(shù)據(jù)寄存給AOH可以

SBUF申療口發(fā)送/接收數(shù)據(jù)垓沖寄存器99H不可以

SCON申療口控制寄存器98H可以

P1P1。數(shù)據(jù)寄存方90H可以

TH1T1計數(shù)數(shù)高8位寄存器8DH不可以

THOTC計數(shù)然高8位寄存器8CH不可以

TL1T1計數(shù)器低8位寄存落8BH不可以

TLOTC計效器低8位寄存若8AH不可以

TMOD定時給/計數(shù)方方式控制寄存影89H不可以

ICON定時及控制寄存若88H可以

PCON電源控制寄存若87H不可以

DPH敦據(jù)指針寄存若高8位83H不可以

DPL紙據(jù)指針寄存粉低8位82H不可以

SP堆棧指針寄存若81H不可以

P0PC口數(shù)據(jù)寄存四80H可以

23.DPTR是什么寄存器?它的作用是什么?

數(shù)據(jù)指針DPTR是16位的專用寄存器,它由兩個8位的寄存器DPH(高8位)和DPL(低

8位)組成。專門用來寄存片外RAM及擴展I/O口進行敷據(jù)存取時的地址。編程時,既可以

按16位寄存器來使用,也可以按兩個8位寄存器來使用(即高位字節(jié)寄存器DPH和低位字

節(jié)寄存器DPL)o

DPTR主要是用來保存16位地址,當對64KB外部數(shù)據(jù)存儲器尋址時,可作為間址寄存

器使用,

24.8051單片機的PSW寄存器各位標志的意義如何?

程序狀態(tài)字PSW是8位寄存器,用于存放程序運行的狀態(tài)信息,PSW中各位狀態(tài)通常是

在指令執(zhí)行的過程中自動膨成的,但也可以由用戶根據(jù)需要采用傳送指令加以改變。各個標

志位的意義如下:

PSW.7(Cy):進位標志位。

PSW.6(AC):輔助進位標志位,又稱為半進位標志位。

PSW.5(F0):用戶標志位。

PSW.4、PSW.3(RS1和RS0):寄存器組選擇位。

PSW.2(0V):溢出標志位。

PSW.1(空塊位):此位未定義。

PSW.O(P):奇偶校驗位。

25.開機復位后,CPU使用的是哪組工作寄存器(Ro-Rn)?它們的地址是什么?CPU如何確

定和改變當前工作寄存器組(Ro-Rn)?

開機復位后,CPU使用的是第O組工作寄存器。它們的地址是00H—07H。CPU通過對程

序狀態(tài)字PSW中RS1和RSO的設置來確定和改變當前工作寄存器組。

26.8051單片機的片內(nèi)、片外存儲器如何選擇?

程序存儲器通過諉/'Vpp引腳選擇。若啟=0,則允許使用片內(nèi)ROM;若甌=1則

允許使用片外R0Mo

數(shù)據(jù)存儲器通過指令區(qū)分:訪問片內(nèi)RAM采用MOV指令,訪問片外RAM采用MOVX指令。

27.MCS-51單片機的時鐘周期、機器周期、指令周期是如何定義的?當主頻為12MHz的時

候,一個機器周期是多長時間?執(zhí)行一條最長的指令需要多長時間?

時鐘周期又稱為振蕩周期,由單片機內(nèi)部振蕩電路OSC產(chǎn)生,定義為OSC時鐘頻率的倒

數(shù)。時鐘周期又稱為節(jié)拍(用P表示)。時鐘周期是時序中的最小單位。一個狀態(tài)有兩個節(jié)

拍,

機器周期定義為實現(xiàn)特定功能所需的時間。MCS-51的機器周期由12個時鐘周期構(gòu)成。

執(zhí)行一條指令所需要的時間稱為指令周期,指令周期是時序中的最大單位。由于機器執(zhí)

行不同指令所需的時間不同,因此不同指令所包含的機器周期數(shù)也不盡相同。MCS-51的指

令可能包括1?4個不等的機器周期。

當MCS-51的主頻為,2MHz時,一個機器周期為執(zhí)行一條指令需要的最長時間為

4gSo

28.8051單片機或位后,各寄存器的初始狀態(tài)如何?復位方法有幾種?

8051單片機復位后機器的初始狀態(tài),即各寄存器的狀態(tài):PC之外,復位操作還對其

它一些特殊功能寄存器有影響,它們的復位狀態(tài)如下:

寄存器復位時內(nèi)容寄存器復位時內(nèi)容

PC0000HICON0X000000B

ACCOOHTLOOOH

BOOHTHOOOH

PSWOOHTH1OOH

SP07HTH1OOH

DPTR0000HSCONOOH

P0—P3FFHSBUF不確定

TMODXX000000BPCONOXXX00008

單片機復位方法有:上電自動復位,按鍵電平復位和外部

脈沖三種方式。

1.指令格式是由(操作碼)和(操作數(shù))所組成,也可能僅由(操作碼)組成。

2.在MCS-51中,PC和DPTR都用于提供地址,但PC是為訪問(程序)存儲器提供地址,

而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。

3.在變址尋址方式中,以(A)作變址寄存器,以(DPTR)或(PC)作基址寄存器。

4.假定累加器A中的內(nèi)容為30H,執(zhí)行指令1000H:MOVCA,@A+PC后,把程序存儲器

(1031H)單元的內(nèi)容送入累加器A中。

5.8051執(zhí)行完MOVA,#08H后,PSW的(D)位被置位。

A:CB:F0C:0VD:P

6.指出下列指令中的源操作數(shù)的尋址方式

(1)MOVRO,#30H立即尋址

(2)MOVA,30H直接尋址

(3)MOVA,@R0寄存器間接尋址

(4)MOVXA,@DPTR寄存器間接尋址

(5)MOVCA,g+DPTR變址尋址

(6)MOVP1,P2直接尋址

(7)MOVC,30H位尋址

(8)MULAB寄存器尋垃

(9)MOVDPTR,#1234H立即尋址

(10)POPACC寄存器間接尋址

7.指出下列各指令在程序存儲器中所占的字節(jié)數(shù)

節(jié)

(1)MOVDPTR,#1234H3

(2)MOVXA,@DPTR1,節(jié)

(3)LJMPLOOP節(jié)

(4)MOVRO,A

(5)AJMPLOOP2字節(jié)

(6)MOVA,30H2字節(jié)

(7)SJMPLOOP2字節(jié)

(8)MOVB,#30H2字節(jié)

8.8051單片機指令系統(tǒng)按功能可分為幾類?具有幾種尋址方式?它們的尋址范圍如何?

MCS-51單片機指令系統(tǒng)按功能可分為5類:

(1)數(shù)據(jù)傳送指令

(2)算術(shù)運算指令

(3)邏輯運算和移位指令

(4)控制轉(zhuǎn)移指令

(5)位操作指令

MCS-51單片機的指令系統(tǒng)提供了七種尋址方式,其對應的尋址范圍如下表:

尋址方式使用的變量尋址范圍

立即尋址立即數(shù)

程序存儲器ROM:內(nèi)部RAM低128

直接尋址個字節(jié):特殊功能寄存器SFR

位地址空間

寄存器尋址R0~R7:A、B、DPTR,C四組通用寄存器,A、B、DPTR、C

抓0、?R1、SP內(nèi)部RAM

寄存器間接尋址

泳0、如1、@DPTR外部RAM

變址尋址@A+PC、@A+DPTR程序存儲器

相對尋址PC+偏移量程序存儲器

內(nèi)部RAM低128B位尋址區(qū)

位尋址

可住尋址的特殊功能寄存器SFR位

9.訪問特殊功能寄存器和外部數(shù)據(jù)存儲器應采用哪種尋址方式?

訪問特殊功能寄存器,應采用直接尋址、位尋址方式。

訪問外部數(shù)據(jù)存儲器,應采用寄存器間接尋址方式。

在。?255B范圍內(nèi),可用寄存器RO、R1間接尋址:

MOVXA,@R0或MOVXA,@R1

MOVX@R0,A或MOVX@R1,A

在。?64KB范圍內(nèi),可用16位寄存器DPTR間接尋址:

MOVXA,如PTR

MOVX@DPTR,A

10.“DAA”指令的作用是什么?怎樣使用?

這條指令是在進行BCD碼加法運算時,跟在“ADD”和“ADDC”指令之后,用來對BCD

碼的加法運算結(jié)果自動進行修正的,使其仍為BCD碼表達形式。

在計算機中,遇到十進制調(diào)整指令時,中間結(jié)果的修正是由ALU硬件中的十進制修正電

路自動進行的。用戶不必考慮何時該加“6”,使用時只需在上述加法指令后面緊跟一條“DA

A”指令即可。

11.片內(nèi)RAM20H~2FH單元中的128個住地址與直接地址00H~7FH形式完全相同,如何在

指令中區(qū)分出位尋址操作和直接尋址操作?

位尋址是直接尋址方式的一種。雖然內(nèi)部RAM位尋址區(qū)的位地址范圍00H-7FH與低128

個單元的單元地址范圍OCH?7FH形式完全相同,但是在應用中可以通過以下的方法區(qū)分:

1.通過指令操作碼(指令的類型)區(qū)分:

位操作只有17條指令,位尋址的操作只適用于下列位指令,而直接尋址操作對這

些指令是無效的。

MOVC,bitCPLbit(C)JBbit,rel

MOVbit,CORLC,bit(/bit)JNBbit,rel

CLRbit(C)ANLC,bit(/bit)JCreI

SETBbit(C)JBCbit,relJNCrel

位操作只有MOV、CLR、SETB、CPL、ORL、ANL、JB、JNB、JBC、JC、JNC幾

種操作碼,其中:JB、JNB、JBC、JC、JNC是位尋址特有的。

2.當指令操作碼一樣時,可通過操作數(shù)的表現(xiàn)形式來區(qū)分。直接位地址的表示方法有:

(1)直接使用位地址形式。如:MOVOOH,C

(2)字節(jié)地址加位序號的形式。如:MOV20H.0,C

(3)位的符號地址1位名稱)的形式。如:ANLC,P

(4)字節(jié)符號地址《字節(jié)名稱)加位序號的形式。如:CPLPSW.6

3.可通過指令中的累加器區(qū)分:

住操作中的累加器為C,單元操作中的累加器為A。

12.SJMP,AJMP和LJMP指令在功能上有何不同?

指令的轉(zhuǎn)移范圍不同,

SJMP是256B范圍內(nèi)的相對轉(zhuǎn)移指令,AJMP是2KB范圍內(nèi)的無條件短跳轉(zhuǎn)指令,LJMP是64KB

范圍內(nèi)的無條件長跳轉(zhuǎn)指令。

13.在“MOVCA,@A+DPTR”和“MOVCA,@A+PC”中,分別使用了DPTR和PC作基址,請

問這兩個基址代表什么地址?使用中有何不同?

使用@A+DPTR基址變址尋址時,DPTR為常數(shù)且是表格的首地址,A為從表格首址到被訪

問字節(jié)地址的偏移量。

使用@A+PC基址變址尋址時,PC仍是下條指令首地址,而A則是從下條指令首地址到常

數(shù)表格中的被訪問字節(jié)的偏移量。

14.設片內(nèi)RAM中的(40H)=50H,寫出當執(zhí)行下列程序段后寄存器A和R0,以及片內(nèi)RAM

中50H和51H單元的內(nèi)容為何值?

MOVA,40H

MOVRO,A

MOVA,#00

MOV@R0,A

MOVA,#30H

MOV51H,A

結(jié)果為:(A)=30H(RO)二50H(50H)=00H(51H)=30H

15.設堆棧指針(SP)=60H,片內(nèi)RAM中的(30H)=24H,(31H)=10Ho執(zhí)行下列程序段后,

61H,62H,30H,31H,DPTR及SP中的內(nèi)容將有何變化?

PUSH30H

PUSH31H

POPDPL

POPDPH

MOV30H,#00H

MOV31H,#OFFH

解:

結(jié)果為:61H、62H單元為堆棧單元,其內(nèi)容已被彈出棧。(30H)=00H

(31H)=OFFH(DPTR)=241OH(SP)=60H

16.在8051的片內(nèi)RAM中,已知(20H)=30H,(30H)=40H,(40H)=50H,(50H)=55HO分析下

面各條指令,說明源操作數(shù)的尋址方式,分析按順序執(zhí)行各條指令后的結(jié)果。

MOVA,40H

MOVR0,A

MOVP1,#OFOH

MOV@R0,20H

MOV50H,R0

MOVA,@R0

MOVP2,P1

解:

指令源操作數(shù)的尋址方式執(zhí)行指令后的結(jié)果

MOVA,40H直接尋址(A)二50H

MOVRO,A寄存器尋址(R0)二50H

MOVP1,#80H立即尋址(P1)=80H

MOV迫RO,20H寄存器間接尋址(50H)=30H

MOVDPTR,#2000H立即尋址(DPTR)=2000H

MOV4OH,30H直接尋址(40H)=40H

MOVRO,30H直接尋址(RO)二40H

MOVDOH,RO直接尋址(DOH)=40H

MOV1OH,#1OH立即尋址(10H)=10H

MOVA,eRO寄存器間接尋址(A)=50H

MOVP2.P1直接尋址(P2)二80H

17.完成以下的數(shù)據(jù)傳送過程

(1)R1的內(nèi)容傳送到ROo

(2)片外RAM20H單元的內(nèi)容送RO。

(3)片外RAM20H單元的內(nèi)容送片內(nèi)RAM20H單元。

(4)片外RAM1000H單元的內(nèi)容送片內(nèi)RAM20H單元。

(5)ROM2000H單元的內(nèi)容送R0。

(6)ROM2000H單元的內(nèi)容送片內(nèi)RAM20H單元。

(7)ROM2000H單元的內(nèi)容送片外RAM20H單元。

解:

(1)R1的內(nèi)容傳送到R0;

MOVA,R1

MOVR0,A

(2)片外RAM20H單元內(nèi)容送R0;

MOVR1,#20H

MOVXA,@R1

MOVR0,A

(3)片外RAM20H單元的內(nèi)容送片內(nèi)RAM20H單元;

MOVR0,#20H

MOVXA,@R0

MOV20H,A

(4)片外RAM1000H單元的內(nèi)容送片內(nèi)RAM20H單元;

MOVDPTR,#1000H

MOVXA,@DPTR

MOV20H,A

(5)ROM2000H單元的內(nèi)容送R0單元;

CLRA

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOVR0,A

(6)ROM2000H單元的內(nèi)容送片內(nèi)RAM20H單元:

CLRA

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOV20H,A

(7)ROM2000H單元的內(nèi)容送片外RAM20H單元。

CLRA

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOVRO,#20H

MOVX@RO.A

18.設有兩個4位BCD碼,分別存放在片內(nèi)RAM的23H,22H單元和33H,32H單元中,求它

們的和,并送入43H,42H單元中去。(以上均為低位在祗字節(jié),高位在高字節(jié))。

解:ORGOOOOH

LJMPSTART

ORG0030H

START:MOVA,22H

ADDA,32H

DAA

MOV42H,A

MOVA,23H

ADDCA,33H

DAA

MOV43H,A

SJMP$

END

19.編程將片內(nèi)RAM的40H?60H單元中內(nèi)容送到片外RAM以3000H開始的單元中。并將原

片內(nèi)RAM數(shù)據(jù)塊區(qū)域全部清0o

解:ORGOOOOHMOVX@DPTR,A

LJMPMAINCLRA

ORG0030HMOV@R1,A

MAIN:MOVSP,#60HINCR1

MOVR7,#21HINCDPTR

MOVR1,#40HDJNZR7,LOOP

MOVDPTR,#3000HSJMP$

LOOP:MOVA,@R1END

20.編程計算片內(nèi)RAM區(qū)30H?37H的8個單元中數(shù)的算術(shù)平均值,結(jié)果存放在3AH單元中。

解:ORGOOOOHDJNZR3,LP2

LJMPMAINMOVR3,#03H

ORG0030HCLRC

MAIN:MOVRO,#30HLP3:MOVA,R1

MOVR1,#00HRRCA

MOVR2,#00HMOVR1,A

MOVR3,#08HMOVA,R2

LP2:MOVA,@R0RRCA

ADDA,R2MOVR2,A

MOVR2,ADJNZR3,LP3

JNCLP1MOV3AH,R2

INCR1SJMP$

LP1:INCROEND

21.編寫計舁下式的程序,談乘積的結(jié)果均小于255。A8值分別存放在片外RAM的2001H

和2002H單元中,結(jié)果存于2000H單元中。

?+皮X3+8)+10若(4+8)X3+8)<10

3+8)X(4+8)若3+8)X(彳+8)=10

3+8)X(彳+8)-10若(4+8)X3+8)>10

解:

ORG0000HMOV30H,A

LJMPSTARTMOVDPTR,#2002H

ORG0030HMOVXA,@DPTR

START:MOVDPTR,#2001HADDA,30H

MOVXA,@DPTR

溫馨提示

  • 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

提交評論