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

下載本文檔

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

文檔簡介

習(xí)題答案

習(xí)題0

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

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

在一塊芯片上的微型計(jì)算機(jī)。

2.什么叫單片機(jī)?其主要特點(diǎn)有哪些?

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

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

為單片微型計(jì)算機(jī),簡稱單片機(jī)。

單片機(jī)的特點(diǎn):可靠性高、便于擴(kuò)展、控制功能強(qiáng)、具有豐富的控制指令、低電壓、低

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

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

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

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

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

口)才能組成一臺(tái)完整的單片機(jī)。

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

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

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

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

范圍為4KB,芯片引腳為40個(gè)。

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

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

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

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

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

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

列,Zilog公司的Z8系列等。

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

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

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

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

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

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

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

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

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

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

4.在實(shí)際應(yīng)用中,如何選擇單片機(jī)的類型?

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

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

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

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

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

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

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

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

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

命力的一個(gè)單片機(jī)系列。許多半導(dǎo)體廠家、電器公司以NCS-51系列中的8051為基核,推出

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

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

ARM等單片機(jī)。

5.試比較MCS-51,MSP430,EM78,PIC,M6800及AVR等系列單片機(jī)的特點(diǎn)。

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

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

合。

EM78系列單片機(jī)采用高速CMOS工藝制造,低功耗談?dòng)?jì)為低功耗產(chǎn)品,價(jià)格較低。具有

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

采用RISC結(jié)構(gòu)設(shè)計(jì)。

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

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

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

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

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

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

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

6.舉例說明生活中應(yīng)用單片機(jī)的例子。

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

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

熱水器、電子稱、電子表、計(jì)算器、汽車鑰匙、可視門禁、公交車報(bào)站器、公交車刷卡器、

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

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

1\

J

Z單片機(jī)在智能儀器儀表中的應(yīng)用;

z2\

(J

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

/3X

<J

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

z4\

(J

\Z單片機(jī)在日常生活及家電中的應(yīng)用;

Z5X

()

N/單片機(jī)在辦公自動(dòng)化方面。

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

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

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

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

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

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

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

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

是分開的)。

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

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

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

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

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

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

8.8031單片機(jī)復(fù)位后,R4所對應(yīng)的存儲(chǔ)單元的地址為(04H),因上電時(shí)PSW二(00H)。這

時(shí)當(dāng)前的工作寄存器區(qū)是(0)組工作寄存器區(qū)。

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

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

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

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

11.PC用來存放(C)o

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

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

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

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

13.PSVM8H時(shí),則當(dāng)前工作寄存器是(D)。

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

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

什么?

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

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

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

輯運(yùn)算,其操作順序在控制器控制下進(jìn)行。控制器是由程序計(jì)數(shù)器PC(ProgramCounter).

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

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

取出,存放在IR中,ID對IR中的指令碼進(jìn)行譯碼,定時(shí)控制邏輯在OSC配合下對ID譯碼

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

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

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

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

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

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

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

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

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

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

中的速度匹配和增加它的負(fù)載能力。可分為串行和并行I/O接口。

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

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

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

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

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

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

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

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

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

控制線一共有6條:

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

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

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

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

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

作為定時(shí)脈沖源使用。

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

A(ACC)累加落EOH可以

PSW程序狀,態(tài)字(標(biāo)志寄存粉)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計(jì)數(shù)數(shù)高8位寄存器8DH不可以

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

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

TLOTC計(jì)效器低8位寄存若8AH不可以

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

ICON定時(shí)及控制寄存若88H可以

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

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

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

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

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

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

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

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

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

節(jié)寄存器DPL)o

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

器使用,

24.8051單片機(jī)的PSW寄存器各位標(biāo)志的意義如何?

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

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

志位的意義如下:

PSW.7(Cy):進(jìn)位標(biāo)志位。

PSW.6(AC):輔助進(jìn)位標(biāo)志位,又稱為半進(jìn)位標(biāo)志位。

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

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

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

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

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

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

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

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

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

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

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

允許使用片外R0Mo

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

27.MCS-51單片機(jī)的時(shí)鐘周期、機(jī)器周期、指令周期是如何定義的?當(dāng)主頻為12MHz的時(shí)

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

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

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

拍,

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

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

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

令可能包括1?4個(gè)不等的機(jī)器周期。

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

4gSo

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

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

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

寄存器復(fù)位時(shí)內(nèi)容寄存器復(fù)位時(shí)內(nèi)容

PC0000HICON0X000000B

ACCOOHTLOOOH

BOOHTHOOOH

PSWOOHTH1OOH

SP07HTH1OOH

DPTR0000HSCONOOH

P0—P3FFHSBUF不確定

TMODXX000000BPCONOXXX00008

單片機(jī)復(fù)位方法有:上電自動(dòng)復(fù)位,按鍵電平復(fù)位和外部

脈沖三種方式。

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

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

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

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

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

(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.指出下列各指令在程序存儲(chǔ)器中所占的字節(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單片機(jī)指令系統(tǒng)按功能可分為幾類?具有幾種尋址方式?它們的尋址范圍如何?

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

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

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

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

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

(5)位操作指令

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

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

立即尋址立即數(shù)

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

直接尋址個(gè)字節(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程序存儲(chǔ)器

相對尋址PC+偏移量程序存儲(chǔ)器

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

位尋址

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

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

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

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

在。?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”指令的作用是什么?怎樣使用?

這條指令是在進(jìn)行BCD碼加法運(yùn)算時(shí),跟在“ADD”和“ADDC”指令之后,用來對BCD

碼的加法運(yùn)算結(jié)果自動(dòng)進(jìn)行修正的,使其仍為BCD碼表達(dá)形式。

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

路自動(dòng)進(jìn)行的。用戶不必考慮何時(shí)該加“6”,使用時(shí)只需在上述加法指令后面緊跟一條“DA

A”指令即可。

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

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

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

個(gè)單元的單元地址范圍OCH?7FH形式完全相同,但是在應(yīng)用中可以通過以下的方法區(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.當(dāng)指令操作碼一樣時(shí),可通過操作數(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作基址,請

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

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

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

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

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

14.設(shè)片內(nèi)RAM中的(40H)=50H,寫出當(dāng)執(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.設(shè)堆棧指針(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.設(shè)有兩個(gè)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.編程計(jì)算片內(nèi)RAM區(qū)30H?37H的8個(gè)單元中數(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.編寫計(jì)舁下式的程序,談乘積的結(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論