單片機(jī)原理與應(yīng)用課后習(xí)題答案_第1頁
單片機(jī)原理與應(yīng)用課后習(xí)題答案_第2頁
單片機(jī)原理與應(yīng)用課后習(xí)題答案_第3頁
單片機(jī)原理與應(yīng)用課后習(xí)題答案_第4頁
單片機(jī)原理與應(yīng)用課后習(xí)題答案_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

習(xí)題0

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

和RAM))、(總線)、(定時(shí)器/計(jì)數(shù)器)、(輸入檢出接口(I/O口))及(中斷系統(tǒng))

等部件集成在一塊芯片上的微型計(jì)算機(jī)。

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

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

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

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

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

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

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

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

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

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

行口)才能組成一臺完整的單片機(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ī)成熟的階段。其存儲容量和尋址范圍增

大,而且中斷源、并行I/O口和定時(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á)64K.B?代表產(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)行速度、程序存儲方式和功能等幾個(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)體廠家、電器公司以MCS-51系列中的8051為基核,推出

了許多兼容性的CHMOS單片機(jī)--80C51系列。

此外,還有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工藝制造,低功耗設(shè)計(jì)為低功耗產(chǎn)品,價(jià)格較低。

具有三個(gè)中斷源、R-OPTION功能、I/O喚醒功能、多功能1/0口等。具有優(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ū)動LED。支持ISP、IAP,I/O口驅(qū)動能力較強(qiáng)。

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

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

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

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

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

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

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

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

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

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

(5)單片機(jī)在辦公自動化方面。

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

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

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

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

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

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

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

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

器是分開的)。

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

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

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

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)的存儲單元的地址為(04H),因上電時(shí)PSW=(00H)。

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

9.8051型單片機(jī)內(nèi)部有(A)的口0\1。

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

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

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

11孑(2用來存放(C)。

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

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

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

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

13.PSW=18H時(shí),則當(dāng)前工作寄存器是(D)0

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

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

什么?

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

(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í)行指令的指令碼從存儲器中取出,

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

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

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

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

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

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

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

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

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

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

I/O接口是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ū)動器和輸入緩沖器。通常把4個(gè)端

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

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

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

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

控制線一共有6條:

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

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

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

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

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

作為現(xiàn)脈沖源使用。

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

用片外ROM。若瓦=0,則允許使用片內(nèi)ROM;若瓦=1則允許使用片外ROM。

(3)PSEN:片外ROM選通線,在執(zhí)行訪問片外ROM的指令MOVC時(shí),8051自動在PSEN

上產(chǎn)生一個(gè)負(fù)脈沖,用于為片外ROM芯片的選通。其他情況下PSEN線均為高電平封鎖狀

態(tài)。

(4)RST/VPD:復(fù)位/備用電源線,可以使8051處于復(fù)位工作狀態(tài)。

17.什么是指令?什么是程序?簡述程序在單片機(jī)中的執(zhí)行過程。

指令:人為輸入計(jì)算機(jī),由計(jì)算機(jī)識別并執(zhí)行一步步操作的命令的形式稱為指令。

程序:一系列指令的有序集合稱為程序。

程序在計(jì)算機(jī)中是按序執(zhí)行的,CPU通過程序計(jì)數(shù)器PC控制程序的執(zhí)行順序,一般情

況下程序是按序執(zhí)行的,當(dāng)執(zhí)行轉(zhuǎn)移、調(diào)用、返回等指令時(shí),程序轉(zhuǎn)移到相應(yīng)的目的地址處

執(zhí)行。CPU根據(jù)程序計(jì)數(shù)器PC中的地址將欲執(zhí)行指令的指令碼從存儲器中取出,存放在IR

中,ID對IR中的指令碼進(jìn)行譯碼,定時(shí)控制邏輯在OSC配合下對ID譯碼后的信號進(jìn)行分

時(shí),產(chǎn)生執(zhí)行本條指令所需的全部信號,完成本條指令的執(zhí)行。

18.8051單片機(jī)的存儲器組織采用何種結(jié)構(gòu)?存儲器地址空間如何劃分?各地址空間的地

址范圍和容量如何?在使用上有何特點(diǎn)?

(1)80C51在結(jié)構(gòu)上的特點(diǎn)

80C51采用將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為Harvard結(jié)構(gòu)。

(2)在物理和邏輯上的地址空間

存儲器上設(shè)有4個(gè)存儲器空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、

片外數(shù)據(jù)存儲器。

在邏輯上有3個(gè)存儲器地址空間:片內(nèi)、片外統(tǒng)一的64KB程序存儲器地址空間,片內(nèi)

256B數(shù)據(jù)存儲器地址空間,片外64KB的數(shù)據(jù)存儲器地址空間。

(3)訪問格式

訪問片內(nèi)RAM采用MOV格式

訪問片外RAM采用MOVX格式

19.8051片內(nèi)RAM低128單元?jiǎng)澐譃槟娜齻€(gè)主要部分?各部分主要功能是什么?

片內(nèi)RAM低128單元?jiǎng)澐旨爸饕δ苋缦拢?/p>

(1)工作寄存器組(OOH—1FH)

這是一個(gè)用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù)RAM區(qū)的0—31,共32個(gè)單元。它是4

個(gè)通用工作寄存器組,每個(gè)組包含8個(gè)8位寄存器,編號為RO—R7。

(2)位尋址區(qū)(20H—2FH)

16個(gè)字節(jié)單元,共包含128位,這16個(gè)字節(jié)單元既可以進(jìn)行字節(jié)尋址,又可以實(shí)現(xiàn)位

尋址。主要用于位尋址。

(3)堆棧與數(shù)據(jù)緩沖區(qū)(30H—7FH)

用于設(shè)置堆棧、存儲數(shù)據(jù)。

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

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

允許使用片外ROM。

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

指令。

21.何為堆棧指針?堆棧操作有何規(guī)定?

堆棧是一個(gè)特殊的存儲區(qū)。主要功能是暫時(shí)存放數(shù)據(jù)和地址,通常用來保護(hù)斷點(diǎn)和現(xiàn)場。

它的特點(diǎn)是按照“先進(jìn)后出”的存取數(shù)據(jù)。堆棧指針SP是一個(gè)8位寄存器,是用于指示堆棧

的棧頂?shù)刂返募拇嫫?,它決定了堆棧在內(nèi)部RAM中的物理位置。

22.8051單片機(jī)有多少個(gè)特殊功能寄存器?這些特殊功能寄存器能夠完成什么功能?特殊

功能寄存器中的哪些寄存器可以進(jìn)行位尋址?

8051有21個(gè)特殊功能寄存器(PC除外),它們被離散地分布在內(nèi)部RAM的80H-FFH

地址單元中,共占據(jù)了128個(gè)存儲單元,其中有83位可以位尋址。特殊功能寄存器SFR的

分布和功能見下表。

特殊功能寄存器功能名稱物理地址可否位尋址

B寄存器BF0H可以

A(ACC)累加器E0H可以

PSW程序狀態(tài)字(標(biāo)志寄存器)D0H可以

IP中斷優(yōu)先級控制寄存器B8H可以

P3P3口數(shù)據(jù)寄存器B0H可以

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

P2P2口數(shù)據(jù)寄存器A0H可以

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

SCON串行口控制寄存器98H可以

PlP1口數(shù)據(jù)寄存器90H可以

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

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

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

TLOT0計(jì)數(shù)器低8位寄存器8AH不可以

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

TCON定時(shí)器控制寄存器88H可以

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

DPH數(shù)據(jù)指針寄存器高8位83H不可以

DPL數(shù)據(jù)指針寄存器低8位82H不可以

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

P0P0口數(shù)據(jù)寄存器80H可以

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

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

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

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

低位字節(jié)寄存器DPL)。

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

存器使用,

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

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

是在指令執(zhí)行的過程中自動形成的,但也可以由用戶根據(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(OV):溢出標(biāo)志位。

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

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

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

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

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

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

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

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

允許使用片外ROM。

數(shù)據(jù)存儲器通過指令區(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的主頻為12MHz時(shí),一個(gè)機(jī)器周期為Ipso執(zhí)行一條指令需要的最長時(shí)間

為4那。

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

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

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

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

PC0000HTCON0x000000B

ACCOOHTLOOOH

BOOHTH0OOH

PSWOOHTH1OOH

SP07HTH1OOH

DPTR0000HSCONOOH

P0—P3FFHSBUF不確定

TMODxxOOOOOOBPCONOxxxOOOOB

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

脈沖三種方式。

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:OVD:P

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

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

(2)MOVA,30H直接尋址

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

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

(5)MOVCA,@A+DPTR變址尋址

(6)MOVPl,P2直接尋址

(7)MOVC,30H位尋址

(8)MULAB寄存器尋址

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

(10)POPACC寄存器間接尋址

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

(1)MOVDPTR,#1234H3字節(jié)

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

(3)LJMPLOOP3字節(jié)

(4)MOVR0,A1字節(jié)

(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ù)

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

直接尋址128個(gè)字節(jié);特殊功能寄存器SFR

位地址空間

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

@R0、@R1、SP內(nèi)部RAM

寄存器間接尋址

@R0、@R1、@DPTR外部RAM

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

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

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

位尋址

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

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

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

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

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

MOVXA,@R0或MOVXA,@R1

MOVX@R0,A或MOVX@R1,A

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

MOVXA,@DPTR

MOVX@DPTR,A

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

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

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

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

電路自動進(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è)單元的單元地址范圍00H-7FH形式完全相同,但是在應(yīng)用中可以通過以下的方法區(qū)

分:

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

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

些指令是無效的。

MOVC,bitCPLbit(C)JBbit,rel

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

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

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)直接使用位地址形式。如:MOV00H,C

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

(3)位的符號地址(位名稱)的形式。如: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)指令,LIMP

是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)=10H?執(zhí)行下列程序

段后,61H,62H,30H,31H,DPTRASP中的內(nèi)容將有何變化?

PUSH30H

PUSH31H

POPDPL

POPDPH

MOV30H,#00H

MOV31H,#0FFH

解:

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

(31H)=0FFH(DPTR)=2410H(SP)=60H

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

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

MOVA,40H

MOVRO,A

MOVPl,#0F0H

MOV@R0,20H

MOV50H,RO

MOVA,@R0

MOVP2,P1

解:

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

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

MOVR0,A寄存器尋址(R0)=50H

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

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

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

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

MOVR0,30H直接尋址(R0)=40H

MOVDOH,R0直接尋址(D0H)=40H

MOV10H,#10H立即尋址(10H)=10H

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

MOVP2,P1直接尋址(P2尸80H

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

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

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

(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,RI

MOVRO,A

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

MOVRI,#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

MOVR0,#20H

MOVX@R0,A

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

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

解:ORG0000H

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ū)域全部清Oo

解:ORGOOOOHMOVX@DPTR,A

LJMPMAINCLRA

ORG0030HMOV@R1,A

MAIN:MOVSP,#60HINCRI

MOVR7,#21HINCDPTR

MOVRI,#40HDJNZR7,LOOP

MOVDPTR,#3000HSJMP$

END

LOOP:MOVA,@R1

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

元中。

解:ORG0000HDJNZR3,LP2

LJMPMAINMOVR3,#03H

ORG0030HCLRC

MAIN:MOVRO,#30HLP3:MOVA,RI

MOVRI,#00HRRCA

MOVR2,#00HMOVRI,A

MOVR3,#08HMOVA,R2

LP2:MOVA,@R0RRCA

ADDA,R2MOVR2,A

MOVR2,ADJNZR3,LP3

JNCLP1MOV3AH,R2

INCRISJMPS

LP1:INCROEND

21.編寫計(jì)算下式的程序,設(shè)乘積的結(jié)果均小-255。A,8值分別存放在片外RAM的2001H

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

XA+B)x(A+B)+10若(A+5)x(A+B)<10

Y=J(A+B)x(A+B)若(A+8)x(A+B)=10

(A+B)x(A+B)-10若(4+5)x(A+B)>10

解:I

ORG0000HADDA,30H

LJMPSTARTMOVB,A

ORG0030HMULAB

START:MOVDPTR,#2001HMOVRI,A

MOVXA,@DPTRCJNEA,#10,NET1

MOV30H,AMOVDPTR,#2000H

MOVDPTR,#2002HMOVX@DPTR,A

MOVXA,@DPTRSJMPNET3

NET1:JNCNET2NET2:MOVA,RI

CLRCADDA,#10

MOVA,R1MOVDPTR,#2000H

SUBBA,#10MOVX@DPTR,A

MOVDPTR,#2000HNET3:SJMP$

MOVX@DPTR,AEND

SJMPNET3

22.設(shè)有兩個(gè)長度均為15的數(shù)組,分別存放在片外RAM以2000H和2100H開始的存儲區(qū)

中,試編程求其對應(yīng)項(xiàng)之和,結(jié)果存放在以2200H為首地址的存儲區(qū)中。

解:ORG0000HINCDPTR

LJMPMAININCRI

ORG0030hDJNZR2,LOOP

MAIN:MOVDPTR,#2000HMOVRl,#30H

MOVA,#OFFHMOVDPTR,#2100H

MOVX@DPTR,AMOVR2,#15

MOVDPTR,#2100HMOVR0,#40H

MOVA,#34HLOOP1:

MOVX@DPTR,AMOVXA,@DPTR

MOVDPTR,#2008HCLRC

MOVA,#33HADDCA,@R1

MOVX@DPTR,AMOV@R0,A

MOVDPTR,#2108HINCDPTR

MOVA,#44HINCRI

MOVX@DPTR,AINCRO

MOVDPTR,#200EHDJNZR2,LOOP1

MOVA,#0EEH

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論