單片微型計(jì)算機(jī)原理和應(yīng)用參考答案與解析_第1頁(yè)
單片微型計(jì)算機(jī)原理和應(yīng)用參考答案與解析_第2頁(yè)
單片微型計(jì)算機(jī)原理和應(yīng)用參考答案與解析_第3頁(yè)
單片微型計(jì)算機(jī)原理和應(yīng)用參考答案與解析_第4頁(yè)
單片微型計(jì)算機(jī)原理和應(yīng)用參考答案與解析_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《單片微型計(jì)算機(jī)原理及應(yīng)用》習(xí)題參考答案

姜志海劉連鑫王蕾編著

電子工業(yè)出版社

目錄

第1章微型計(jì)算機(jī)根基1

第2章半導(dǎo)體存儲(chǔ)器及I/O接口根基3

第3章MCS-51系列單片機(jī)硬件構(gòu)造9

第4章MCS-51系列單片機(jī)指令系統(tǒng)14

第5章MCS-51系列單片機(jī)匯編語言程序設(shè)計(jì)17

第6章MCS-51系列單片機(jī)中斷系統(tǒng)與定時(shí)器/計(jì)數(shù)器22

第7章MCS-51系列單片機(jī)的串行口28

第8章MCS-51系列單片機(jī)系統(tǒng)擴(kuò)展技術(shù)30

第9章MCS-51系列單片機(jī)鍵盤/顯示器接口技術(shù)31

第10章MCS-51系列單片機(jī)模擬量接口技術(shù)34

第11章單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)37

第1章微型計(jì)算機(jī)根基

1.簡(jiǎn)述微型計(jì)算機(jī)的構(gòu)造及各局部的作用

微型計(jì)算機(jī)在硬件上由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備及輸出設(shè)備五大局部組成。

運(yùn)算器是計(jì)算機(jī)處理信息的主要局部;控制器控制計(jì)算機(jī)各部件自動(dòng)地、協(xié)調(diào)一致地工

作;存儲(chǔ)器是存放數(shù)據(jù)與程序的部件;輸入設(shè)備用來輸入數(shù)據(jù)與程序;輸出設(shè)備將計(jì)算機(jī)的

處理結(jié)果用數(shù)字、圖形等形式表示出來。

通常把運(yùn)算器、控制器、存儲(chǔ)器這三局部稱為計(jì)算機(jī)的主機(jī),而輸入、輸出設(shè)備則稱為

計(jì)算機(jī)的外部設(shè)備(簡(jiǎn)稱外設(shè))。由于運(yùn)算器、控制器是計(jì)算機(jī)處理信息的關(guān)鍵部件,所以

常將它們合稱為中央處理單元CPU(CentralProcessUnit)。

2.微處理器、微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)有什么聯(lián)系與區(qū)別

微處理器是利用微電子技術(shù)將計(jì)算機(jī)的核心部件(運(yùn)算器和控制器)集中做在?塊集成

電路上的一個(gè)獨(dú)立芯片。它具有解釋指令、執(zhí)行指令和與外界交換數(shù)據(jù)的能力。其內(nèi)部包括

三局部:運(yùn)算器、控制器、內(nèi)部存放器陣列(工作存放器組)。

微型計(jì)算機(jī)由CPU、存儲(chǔ)器、輸入/輸出(I/O)接口電路構(gòu)成,各局部芯片之間通過

總線(Bus)連接。

以微型計(jì)算機(jī)為主體,配上外部輸入/輸出設(shè)備、電源、系統(tǒng)軟件一起構(gòu)成應(yīng)用系統(tǒng),

稱為微型計(jì)算機(jī)系統(tǒng)。

3.微型計(jì)算機(jī)是以CPU為核心,配上存儲(chǔ)器、輸入/輸出接口和系統(tǒng)總線組成的計(jì)算

機(jī)。

4.在計(jì)算機(jī)內(nèi)部,一切信息的存取、處理和傳遞的形式是(C)。

A.ASCII:碼B.BCD碼C.二進(jìn)制D.十六進(jìn)制

5.。?9的ASC工工碼是(C)。

A.0—9B.30?39C.30H?39HD.40H?49H

6.在微型計(jì)算機(jī)中,一般具有哪三類總線試說出各自的特征(包括傳輸?shù)男畔㈩愋汀?/p>

單向傳輸還是雙向傳輸)。

所謂總線,就是在微型計(jì)算機(jī)各芯片之間或芯片內(nèi)部各部件之間傳輸信息的一組公共通

信線。計(jì)算機(jī)元件級(jí)總線包括地址總線AB(AddressBus)、數(shù)據(jù)總線DB(DataBus)、

控制總線CB(COULLUIBUS)三種。

(1)地址總線:地址總線是CPU用來向存儲(chǔ)器或工/o接口傳送地址信息的,是三態(tài)單

向總線。地址總線的寬度決定了CPU可直接尋址的內(nèi)存容量。通過地址總線確定要操作的

存儲(chǔ)單元或工/。接口的地址。

(2)數(shù)據(jù)總線:數(shù)據(jù)總線是CPU與存儲(chǔ)器及外設(shè)交換數(shù)據(jù)的通路,是三態(tài)雙向總線。

(3)控制總線:控制總線是用來傳輸控制信號(hào)的,傳送方向依據(jù)具體控制信號(hào)而定,

如CPU向存儲(chǔ)器或工/。接口電路輸出讀信號(hào)、寫信號(hào)、地址有效信號(hào),而工/。接口部件向

CPU輸入復(fù)位信號(hào)、中斷請(qǐng)求信號(hào)等。

7.將以下二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。

111101.101B100101.11B1100110.011B

111101.101B=29.625100101.11B=37.751100110.011B=102.375

8.將以下十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)、BCD碼數(shù)。

126.635317.12587.0735

126.635=1111110.101B=(000100100110.011000110101)BCD

317.125=100111131.001B=(001100010111.000100100101)BCD

87.0735=1010111.0001B=(10000111.0000011100110101)BCD

9.設(shè)機(jī)器數(shù)為8位,寫出以下用真值表示的二進(jìn)制數(shù)的原碼、補(bǔ)碼和反碼。

+0010101B-0010101B+1000000B-1000000B

+0010101B-0010101B+1000000B-1000000B

原碼00010101B10010101B01000000B11000000B

反碼00010101B11101010B01000000B10111111B

補(bǔ)碼00010101B11101011B01000000B11000000B

10.將以下BCD碼表示成十進(jìn)制數(shù)和二進(jìn)制數(shù)。

01111001010101111000001110011001

(01111001)BCD=79=1001111B(01010111)BCD=57=111001B

(10000011)BCD=83=101001IB(10011001)BCD=99=110001IB

11.設(shè)以下數(shù)據(jù)為8位補(bǔ)碼表示的十六進(jìn)制數(shù),計(jì)算a+b和a-b,并且判斷有

無溢出。

aba+b是否溢出a-b是否溢出

37H97HOCEHNOAOHY

0B7H0D7H8EHYOEOHY

0F7H0D7HOCEHY20HN

037H0C7HOFEHN70HY

12.計(jì)算機(jī)某字節(jié)存儲(chǔ)單元的內(nèi)容為10000111,假設(shè)解釋為無符號(hào)數(shù),則真值為

(135);假設(shè)解釋為有符號(hào)數(shù),則真值為(-121);假設(shè)解釋為BCD碼,則真值為(87);

假設(shè)用十六進(jìn)制數(shù)表示,則為(87)Ho

第2章半導(dǎo)體存儲(chǔ)器及I/O接口根基

1.半導(dǎo)體存儲(chǔ)器分兩大類:易失性存儲(chǔ)器RAM和非易失性存儲(chǔ)器ROM。閃速存儲(chǔ)器

屬于非易失性存儲(chǔ)器ROM。

2.SRAM6264芯片的地址線為A12?A0,其存儲(chǔ)容量為8K地址空間。

3.可用紫外線擦除后改寫的存儲(chǔ)器EPROM經(jīng)擦除后,各單元的內(nèi)容應(yīng)為0FFH。

4.8x8KB的SRAM存儲(chǔ)器芯片需要13根地址線和8根數(shù)據(jù)線。

5.半導(dǎo)體存儲(chǔ)器有哪幾種類型各自有什么特點(diǎn)半導(dǎo)體存儲(chǔ)器的兩個(gè)重要指標(biāo)是什么

半導(dǎo)體存儲(chǔ)器通常分為隨機(jī)存取存儲(chǔ)器(RAM,RandomAccessMemory)和只讀存

儲(chǔ)器(ROM,ReadOnlyMemory)兩類。

(1)RAM:

RAM又稱讀寫存儲(chǔ)器,它的數(shù)據(jù)讀取、存入時(shí)間都很短,因此計(jì)算機(jī)運(yùn)行時(shí),既可以從

RAM中讀數(shù)據(jù),又可以將數(shù)據(jù)寫入RAM。但掉電后RAM中存放的信息將喪失。RAM適宜存

放輸入數(shù)據(jù)、中間結(jié)果及最后的運(yùn)算結(jié)果,因此又被稱為數(shù)據(jù)存儲(chǔ)器。

隨機(jī)存儲(chǔ)器有靜態(tài)RAM和動(dòng)態(tài)RAM兩種。靜態(tài)RAM用觸發(fā)器存儲(chǔ)信息,只要不斷電,

信息就不會(huì)喪失。動(dòng)態(tài)RAM依靠電容存儲(chǔ)信息,充電后為、'1",放電后為''0"。為了保存

信息,每隔1?2ms必須對(duì)高電平的電容重新充電,這稱為動(dòng)態(tài)RAM的定時(shí)刷新。動(dòng)態(tài)RAM

的集成度高;靜態(tài)RAM的集成度低、功耗大,優(yōu)點(diǎn)是省去了刷新電路。在設(shè)計(jì)專用的微型

計(jì)算機(jī)系統(tǒng)時(shí),一般只用靜態(tài)RAM就可以滿足要求。

(2)ROM:

ROM稱為只讀存儲(chǔ)器。讀出一個(gè)數(shù)據(jù)的時(shí)間為數(shù)百納秒,有時(shí)也可改寫,但寫入一個(gè)數(shù)

據(jù)的時(shí)間長(zhǎng)達(dá)數(shù)十亳秒。因此在計(jì)算機(jī)運(yùn)行時(shí)只能執(zhí)行“讀”操作。掉電后ROM中存放的

數(shù)據(jù)不會(huì)喪失。ROM適宜存放程序、常數(shù)、表格等,因此又稱為程序存儲(chǔ)器。只讀存儲(chǔ)器有

以下五類:

掩模ROM:在半導(dǎo)體工廠生產(chǎn)時(shí),已經(jīng)用掩模技術(shù)將程序做入芯片,用戶只能讀出內(nèi)容

而不能改寫。掩模ROM只能應(yīng)用于有固定程序且批量很大的產(chǎn)品中。

一次可編程只讀存儲(chǔ)器(PROM,ProgrammableROM):用戶可將程序?qū)懭隤ROM,

但程序一經(jīng)寫入就不能改寫。

紫外線擦除可編程只讀存儲(chǔ)器(EPROM,ErasablePROM):用戶可將程序?qū)懭隕PROM

芯片。如果要改寫程序,先用EPROM擦除器,擦去原先的程序,然后寫入新程序。與PROM

芯片一樣,寫入的速度很慢,且要用到高壓,所以必須用特定的EPROM編程器寫入信息。

在計(jì)算機(jī)運(yùn)行時(shí)只能執(zhí)行讀操作。

電擦除可編程只讀存儲(chǔ)器(EEPROM,ElectricallyErasablePROM):由于采用

電擦除方式,而且擦除、寫入、讀出的電源都用+5V,故能在應(yīng)用系統(tǒng)中在線改寫。但目前

寫入時(shí)間較長(zhǎng),約需10ms,讀出時(shí)間約為幾百納秒。

閃爍存儲(chǔ)器(FldtshMeniory):快速擦寫存儲(chǔ)器(FlashMeniury,簡(jiǎn)稱Flash)

是20世紀(jì)80年代中期推出的新型器件。它可以在聯(lián)機(jī)條件下,在計(jì)算機(jī)內(nèi)進(jìn)展擦除、改

寫,因而稱為快擦寫型存儲(chǔ)器或閃爍存儲(chǔ)器。它具有芯片整體或分區(qū)電擦除和可再編程功能,

從而使它成為性價(jià)比和可靠性最高的可讀寫、非易失性存儲(chǔ)器。主要性能特點(diǎn)如下:

高速芯片整體電擦除:芯片整體擦除時(shí)間約1s,而一般的EPROM需要15min以上。

高速編程:采用快速抓沖編程方法,編程時(shí)間短。

最少1萬次擦除/編程周期,通??傻竭_(dá)10萬次擦除/編程周期。

早期的Flash采用12V編程電壓,改進(jìn)后在Flash內(nèi)部集成了1個(gè)DC/DC變換器,

可以采用單一的5V電壓供電。

高速度的存儲(chǔ)器訪問:最大讀出時(shí)間不超過200”。高速Flash的讀出時(shí)間到達(dá)6*s。

低功耗:最大工作電流為30mA,備用狀態(tài)下的最大電流為lOOpA。

密度大,價(jià)格低,性價(jià)比高。

衡量半導(dǎo)體存儲(chǔ)器性能的主要指標(biāo)有存儲(chǔ)容量、存取速度、存儲(chǔ)器周期、功耗、可靠性、

價(jià)格、電源種類等,其中主要的技術(shù)指標(biāo)是存儲(chǔ)容量和存取速度。

存儲(chǔ)容量是存儲(chǔ)器的一個(gè)重要指標(biāo)。存儲(chǔ)器芯片的存儲(chǔ)容量用''存儲(chǔ)單元個(gè)數(shù)x每個(gè)

單元的存儲(chǔ)位數(shù)”來表示,如存儲(chǔ)器有256個(gè)單元,每個(gè)單元存放8位二進(jìn)制數(shù),那么該

存儲(chǔ)器的容量為256x8位。存儲(chǔ)器容量1K=1024=210。對(duì)于以字節(jié)編址的微型計(jì)算

機(jī),可以以字節(jié)表示容量,如某微型計(jì)算機(jī)的容量為64KB。

在表示存儲(chǔ)器的容吊時(shí),一般是以某一空間范圍來表示的,而空間范圍是由地址線來決

定的,即存儲(chǔ)器的容量和存儲(chǔ)器的地址線的寬度(數(shù)量:有關(guān)。地址的二進(jìn)制位數(shù)N與容

量的關(guān)系是Q=

如某存儲(chǔ)器芯片有13條地址線A12-A0,則存惆器容量為8KB,空間表示范圍為

0000H?1FFFH。

存取速度:

該項(xiàng)指標(biāo)一般用以卜.兩個(gè)參數(shù)中的一個(gè)來描述。

①存取時(shí)間(AccessTime,TA):是指從CPU給出有效的存儲(chǔ)地址啟動(dòng)一次存儲(chǔ)器

讀/寫操作,到操作完成所經(jīng)歷的時(shí)間。

具體地說,對(duì)一次讀操作的存取時(shí)間就是讀出時(shí)間,即從地址有效到數(shù)據(jù)輸出有效之間

的時(shí)間;對(duì)于一次寫操作,存取時(shí)間就是寫入時(shí)間。

②存取周期(AccessCycle,TAC):是指連續(xù)兩次存儲(chǔ)器讀/寫操作之間所需要的

最小時(shí)間間隔。對(duì)于讀操作,就是讀周期時(shí)間;對(duì)于寫操作,就是寫周期時(shí)間。因?yàn)樵谝淮?/p>

數(shù)據(jù)訪問后,芯片不可能無間歇地進(jìn)入下一次訪問,所以存取周期TAC要略大于存取時(shí)間

TA。表示上,該參數(shù)常表示為讀周期TRC或?qū)懼芷赥WC,存取時(shí)間TAC是其統(tǒng)稱。

6.型號(hào)是1KX4位的靜態(tài)RAM,應(yīng)有多少條地址線多少條數(shù)據(jù)線

10條地址線、4條數(shù)據(jù)線

7.說明EPROM、PROM、ROM和Flash存儲(chǔ)器之間的主要區(qū)別。

參考第5題。

8.什么是'、閃存”它有哪些特點(diǎn)用于哪些場(chǎng)合

參考第5題。

9.簡(jiǎn)述堆棧的作用與操作。

所謂堆棧,是指在存儲(chǔ)器中開辟的一個(gè)區(qū)域,用來存放需要暫時(shí)保存的數(shù)據(jù)。

(1)堆棧的作用

用來存放斷點(diǎn)地址或保存臨時(shí)數(shù)據(jù)。在調(diào)用了程序和執(zhí)行中斷服務(wù)程序的過程中,要保

存斷點(diǎn)地址,有時(shí)還要保護(hù)現(xiàn)場(chǎng)。只有保存了斷點(diǎn)地址,才能在子程序或中斷服務(wù)程序執(zhí)行

后保證返回到主程序的斷點(diǎn)處,繼續(xù)執(zhí)行主程序。斷點(diǎn)地址與現(xiàn)場(chǎng)信息是送入堆棧保存的。

在返回主程序前,要把保存在堆棧中的現(xiàn)場(chǎng)信息送回對(duì)應(yīng)的存放器,這稱為恢復(fù)現(xiàn)場(chǎng)。

(2)堆棧操作

堆棧有兩種操作方式,將數(shù)據(jù)送入堆棧稱為推入操作,又稱為壓入操作,如壓入指令

PUSHA

把堆棧中內(nèi)容取出來的操作稱為彈出操作,如彈出指令

POPA

執(zhí)行把棧頂內(nèi)容送回A的操作。

10.簡(jiǎn)述1/O接口的功能。

接口電路是專門為解決CPU與外設(shè)之間的不匹配、不能協(xié)調(diào)工作而設(shè)置的,它處在總

線和外設(shè)之間,一般應(yīng)具有以下根本功能。

(1)對(duì)輸入/輸出數(shù)據(jù)進(jìn)展緩沖、隔禽和鎖存

(2)對(duì)信號(hào)的形式和數(shù)據(jù)格式進(jìn)展交換與匹配

(3)提供信息相互交換的應(yīng)答聯(lián)絡(luò)信號(hào)

(4)根據(jù)尋址信息選擇相應(yīng)的外設(shè)

由此可見,工/0電路是外設(shè)和計(jì)算機(jī)之間傳送信息的交換器件,也有人稱它為界面,它

使兩者之間能很好地協(xié)調(diào)工作,每一個(gè)外設(shè)都要通過接I1電路才能和計(jì)算機(jī)相連。

11.CPU處理1/0操作有幾種方式各自有什么特點(diǎn)和應(yīng)用范圍

CPU和外設(shè)之間的數(shù)據(jù)傳輸有4種方式,即無條件方式、查詢方式、中斷方式、直接

存儲(chǔ)器存取方式(DMA方式)。

(1)無條件傳輸方式

所謂無條件傳輸方式,是指CPU對(duì)外設(shè)接口的讀寫隨時(shí)都可以進(jìn)展,不需要等待某種

條件的滿足。無條件傳送方式也稱同步傳送方式,主要用于對(duì)簡(jiǎn)單外設(shè)進(jìn)展操作,或者外設(shè)

的定時(shí)是固定的或的場(chǎng)合。對(duì)于這類外設(shè),在任何時(shí)刻均以準(zhǔn)備好數(shù)據(jù)或處于接收數(shù)據(jù)狀態(tài),

或者在某些固定時(shí)刻,它們處在數(shù)據(jù)就緒或準(zhǔn)備接收狀志,因此程序可以不必檢杳外設(shè)的狀

態(tài),而在需要進(jìn)展輸入或輸出操作時(shí),直接執(zhí)行輸入/輸出指令。當(dāng)輸入/輸出指令執(zhí)行后,

數(shù)據(jù)傳送便立即進(jìn)展。

這是一種最簡(jiǎn)單的輸入/輸出傳送方式,所需要的硬件和軟件都非常小,一般用于控制

CPU與低速工/0接口之間的數(shù)據(jù)交換。

無條件傳輸方式的軟、硬件簡(jiǎn)單,但一般的外設(shè)難以滿足上述條件,所以這種輸出方式

用得較少,只用于一些簡(jiǎn)單外設(shè),如開關(guān)、數(shù)碼管顯示等。

(2)程序杳詢傳輸方式

程序查詢傳輸方式是指CPU在向外設(shè)傳遞數(shù)據(jù)前,首先查詢外設(shè)的狀態(tài)(即條件:,假

設(shè)外設(shè)準(zhǔn)備好則傳送,假設(shè)未準(zhǔn)備好,CPU就等待??梢?,接II電路除了有傳送數(shù)據(jù)的端口

外,還有傳送狀態(tài)的端口。對(duì)于輸入過程,當(dāng)外設(shè)將數(shù)據(jù)準(zhǔn)備好時(shí),則使接口的狀態(tài)端口中

的''準(zhǔn)備好〃標(biāo)志置1;對(duì)于輸出過程,外設(shè)取走一個(gè)數(shù)據(jù)后,接口便將狀態(tài)端口中的對(duì)應(yīng)

標(biāo)志置1,表示當(dāng)前輸出存放器已經(jīng)處于''空"狀態(tài),可以接收下一個(gè)數(shù)據(jù)。

因此,對(duì)應(yīng)條件傳送,一個(gè)數(shù)據(jù)傳送過程由3個(gè)環(huán)節(jié)組成:

①CPU從接口中讀出狀態(tài)字。

②CPU檢測(cè)狀態(tài)字的對(duì)應(yīng)位是否滿足''就緒"條件,如果不滿足,則回到前一步讀出狀

態(tài)字。

③如果狀態(tài)字說明外設(shè)已處于''就緒"狀態(tài),則傳送數(shù)據(jù)。

程序查詢傳輸方式接口電路中除了數(shù)據(jù)端U外,還必須有傳送狀態(tài)的端I」,同時(shí)CPU

要不斷查詢外設(shè)狀態(tài),占用大量CPU的時(shí)間,硬件比無條件傳輸方式復(fù)雜,并使用較多的

端口地址C

用查詢方式輸入數(shù)據(jù)時(shí),在接口電路與外設(shè)間要交換數(shù)據(jù)、狀態(tài)和控制3種信息。查

詢方式的缺點(diǎn)是CPU的利用受到影響,陷于等待和反復(fù)查詢,不能再做它用;而且,這種

方法不能處理掉電、設(shè)備故障等突發(fā)事件。

(3)中斷傳輸方式

在中斷傳送方式下,外設(shè)具有申請(qǐng)CPU服務(wù)的主動(dòng)權(quán),當(dāng)輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好或者

輸出設(shè)備可以接收數(shù)據(jù)時(shí),便可以向CPU發(fā)中斷請(qǐng)求,使CPU暫時(shí)停卜.目前的工作而和外

設(shè)進(jìn)展一次數(shù)據(jù)傳輸,等輸入操作或者輸出操作完畢以后,CPU繼續(xù)進(jìn)展原來的工作。即中

斷傳送方式就是外設(shè)中斷CPU的工作,使CPU停頓執(zhí)行當(dāng)前程序,而去執(zhí)行一個(gè)輸入/輸

出程序,此程序稱為中斷處理子程序或中斷服務(wù)子程序。中斷服務(wù)子程序執(zhí)行完后,CPU

又回來執(zhí)行原來的程序。

采用中斷方式后,CPJ平時(shí)可以執(zhí)行主程序,只有當(dāng)輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好了,或者輸

出端口的數(shù)據(jù)緩沖器已空時(shí),才向CPU發(fā)出中斷請(qǐng)求。CPU響應(yīng)中斷后,暫停執(zhí)行當(dāng)前的

程序,轉(zhuǎn)去執(zhí)行管理外設(shè)的中斷服務(wù)程序。在中斷服務(wù)程序中,用輸入或輸出指令在CPU

和外設(shè)之間進(jìn)展次數(shù)據(jù)交換。等輸入或輸出操作完成后,CPU又回去執(zhí)行原來的程序。

(4)DMA傳輸方式

DMA方式要利用系統(tǒng)的數(shù)據(jù)總線、地址總線和控制總線來傳送數(shù)據(jù)。原先這些總線是由

CPU管理的,但當(dāng)外設(shè)需要利用DMA方式進(jìn)展數(shù)據(jù)傳送時(shí),接口電路可以向CPU提出請(qǐng)求,

要求CPU讓出對(duì)總線的控制權(quán),用一種稱為DMA控制器的專用硬件接口電路來取代CPU臨

時(shí)接收總線,控制外設(shè)和存儲(chǔ)器之間直接進(jìn)展高速的數(shù)據(jù)傳送,而不要CPU進(jìn)展干預(yù)。這

種控制器能給出訪問內(nèi)存所需要的地址信息,并能自動(dòng)修改地址指針,也能設(shè)定和修改傳送

的字節(jié)數(shù),還能向存儲(chǔ)器和外設(shè)發(fā)出相應(yīng)的讀/寫控制信號(hào)。在DMA傳送完畢后,它能釋放

總線,把對(duì)總線的控制權(quán)交還給CPU。可見用DMA方式傳送數(shù)據(jù)時(shí)、不需要進(jìn)展保妨和恢

復(fù)斷點(diǎn)及現(xiàn)場(chǎng)之類的額外操作,一旦進(jìn)入DMA操作,就可直接在硬件的控制下快速完成一

批數(shù)據(jù)的交換任務(wù),數(shù)據(jù)傳送的速度根本取決「外設(shè)和存儲(chǔ)器的存取速度。

12.什么是中斷什么是可屏蔽中斷什么是非屏蔽中斷CPU在什么條件下可以響應(yīng)中斷

所謂中斷,是指CPU正常運(yùn)行程序時(shí),由于微處理器內(nèi)部事件或外設(shè)請(qǐng)求,引起CPU

中止正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的外設(shè)(或內(nèi)部事件)的中斷服務(wù)程序,中斷服務(wù)

程序執(zhí)行完畢,再返回被中止的程序。利用中斷可以防止不斷檢測(cè)外設(shè)狀態(tài),提高CPU的

效率。

可屏蔽中斷有時(shí)也稱為直接中斷。屏蔽是指CPU可以不處理的中斷請(qǐng)求。這種屏蔽實(shí)

際上是CPU的一種工作方式,可以通過軟件(指令)來設(shè)置,也就是可以通過指令,使CPU

或者允許承受中斷請(qǐng)求,或者不承受中斷請(qǐng)求。具體的指令由CPU的指令系統(tǒng)來決定。可

屏蔽中斷是最常見的一種中斷方式,所有的微處理器都有這種中斷方式。

對(duì)非屏蔽中斷來說,如果該中斷源申請(qǐng)了中斷,CPU是一定要處理的。CPU不可以也

不能用軟件將該中斷屏蔽掉。一般一些緊急的情況,如掉電中斷申請(qǐng),就可以安排為這種中

斷方式,以保證緊急情況一定能得到處理。但并不是所有的微處理器的中斷系統(tǒng)都有這種中

斷方式,MCS-51單片機(jī)的中斷系統(tǒng)就沒有非屏蔽中斷。

一個(gè)完整的中斷處理的根本過程應(yīng)包括:中斷請(qǐng)求、中斷優(yōu)先權(quán)判別、中斷響應(yīng)、中

斷處理及中斷返回。

如果提出中斷請(qǐng)求的中斷源優(yōu)先權(quán)高,而且接口電路與CPU都中斷開放,CPU將響應(yīng)

中斷,自動(dòng)執(zhí)行以下工作:

①保存斷點(diǎn):中止正在執(zhí)行的程序,并對(duì)斷點(diǎn)進(jìn)展保護(hù),即將斷點(diǎn)地址的值壓入堆棧

保存,以便中斷服務(wù)程序執(zhí)行完后能返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行程序。

②轉(zhuǎn)入中斷服務(wù)程序:將中斷服務(wù)程序的人口地址送入PC,以轉(zhuǎn)到中斷服務(wù)程序。各

中斷源要求服務(wù)的內(nèi)容不同,所以要編制不同的中斷服務(wù)程序,它們有不同的入口地址。

CPU首先要確定是哪?個(gè)中斷源在申請(qǐng)中斷,然后將對(duì)應(yīng)的入口地址送入PC。

13.DMA傳送的根本過程是什么為什么DMA方式可以加快數(shù)據(jù)在外設(shè)和存儲(chǔ)器之間

的傳送

參看第11題。

14.什么是接口什么是端口一個(gè)接口電路是否可以有多個(gè)端口

所謂接口,是指在兩臺(tái)計(jì)算機(jī)之間、計(jì)算機(jī)與外設(shè)之間、計(jì)算機(jī)內(nèi)部各部件之間起連接

作用的邏輯電路,是CPU與外界進(jìn)展信息交換的中轉(zhuǎn)站。

所謂端口,是指工/0接口(包括芯片和控制卡)中供CPU直接存取訪問的那些存放器

或某些硬件特定電路。

一個(gè)工/0接口總要包括假設(shè)干端口,除常見的數(shù)據(jù)端口、命令端口和狀態(tài)端口外,還

有特殊用途的端口,如方式控制端11、操作結(jié)果端11和地址索引端11等。端口的多少及相應(yīng)

的功能完全取決于與I/O接口所關(guān)聯(lián)的1/0設(shè)備。

15.CPU和外設(shè)之間傳輸?shù)男畔⒂心膸最惛饔泻翁攸c(diǎn)

計(jì)算機(jī)與外設(shè)間的這種交換數(shù)據(jù)、狀態(tài)和控制命令的過程統(tǒng)稱為通信

(Communication)。通信過程就是數(shù)據(jù)傳輸?shù)倪^程,在這個(gè)過程中要傳輸?shù)男畔⒂袛?shù)據(jù)信

息、狀態(tài)信息、控制信息。

(1)數(shù)據(jù)信息

CPU和外設(shè)交換的根本信息就是數(shù)據(jù),數(shù)據(jù)通常為8位或16位。數(shù)據(jù)信息可分為以

下三種類型。具體可分為數(shù)字量、模擬量、開關(guān)量。

(2)狀態(tài)信息

狀態(tài)信息反映了當(dāng)前外設(shè)所處的工作狀態(tài),是外設(shè)通過接口往CPU傳送的。

對(duì)于輸入設(shè)備來說,通常用準(zhǔn)備好(READY)信號(hào)來說明輸入的數(shù)據(jù)是否準(zhǔn)備就緒:對(duì)

干輸出設(shè)備來說.通常用It(BUSY)信號(hào)表示輸出設(shè)備是否處干空閑?如為空閑,則可接

收CPU送來的信息,否貝!CPU應(yīng)等待。

(3)控制信息

控制信息是CPU通過接口傳送給外設(shè)的,CPU通過發(fā)送控制信息控制外設(shè)的工作,如

外設(shè)的啟動(dòng)、停頓就是常見的控制信息。

16.串行傳送的特點(diǎn)是什么

數(shù)據(jù)傳送按位順序進(jìn)展,最少只需一根傳輸線即可完成,本錢低但速度慢。計(jì)算機(jī)與外

界的數(shù)據(jù)傳送大多數(shù)是串行的,其傳送的距離可以從幾米到幾千千米。

17.串行通信和并行通信的主要區(qū)別是什么各有什么優(yōu)缺點(diǎn)

計(jì)算機(jī)與外設(shè)之間或計(jì)算機(jī)之間的信息交換或數(shù)據(jù)傳輸稱為通信(Communication)。

根本的通信方式有兩種,一種是并行通信,另一種是串行通信。

(1)并行通信

并行通信是指數(shù)據(jù)的各位同時(shí)進(jìn)展傳送。在并行通信中,有多少位數(shù)據(jù),就需要多少條

傳輸線,因此傳送速度較快,即在一樣傳輸率的情況下,并行通信能夠提供高速、高信息率

的傳輸。

由于并行通信所需的傳輸線較多,如果傳輸距離增加,傳輸線的開銷會(huì)成為一個(gè)突出的

問題,因而并行通信一般用于數(shù)據(jù)傳輸率要求較高、傳輸距離乂比照短的場(chǎng)合。

(2)串行通信

串行通信是指數(shù)據(jù)一位一位地按順序傳送。串行通信時(shí),要傳送的數(shù)據(jù)或信息必須按一

定的格式編碼,然后在單根線上,按一位接一位的先后順序進(jìn)展傳送,發(fā)送完一個(gè)字符,再

發(fā)送第二個(gè)。接收數(shù)據(jù)時(shí),每次從單根線上一位接一位地接收信息,再把它們拼成一個(gè)字符,

送給CPU做進(jìn)一步處理。

采用串行通信方式的另?個(gè)出發(fā)點(diǎn)是,有些外設(shè)如調(diào)制解調(diào)器(Modem)、鼠標(biāo)等,本

身需要用串行通信方式,因?yàn)檫@些設(shè)備是以串行方式存取數(shù)據(jù)的。

第3章MCS-51系列單片機(jī)硬件構(gòu)造

1.MCS-51系列單片機(jī)內(nèi)部有哪些主要的邏輯部件

MCS-51單片機(jī)是在一塊芯片上集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多種工/。

功能部件,具有了一臺(tái)微型計(jì)算機(jī)的根本構(gòu)造,主要包括以下部件:

一個(gè)8位的CPU、一個(gè)布爾處理機(jī)、一個(gè)片內(nèi)振蕩器、128B的片內(nèi)數(shù)據(jù)存儲(chǔ)器、4KB

的片內(nèi)程序存儲(chǔ)器(8031無)、外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的尋址范圍為64KB、21個(gè)

字節(jié)的專用存放器、4個(gè)8位并行工/0接口、一個(gè)全雙工的串行口、2個(gè)16位的定時(shí)器/

計(jì)數(shù)器、5個(gè)中斷源、2個(gè)中斷優(yōu)先級(jí)、111□條指令、片內(nèi)采用單總線構(gòu)造。

2.MCS-51單片機(jī)設(shè)有4個(gè)8位并行端口,實(shí)際應(yīng)用中8位數(shù)據(jù)信息由哪個(gè)端口傳送

16位地址線假設(shè)何形成P3口有何功能

8位數(shù)據(jù)信息由P0口傳送。

P2口形成地址大高£位,P0口結(jié)果鎖存器形成地址的低8位。

P3口除具有一般的輸入/輸出功能,還具有第2功能:

P3.0RXD串行口輸入端

P3.1TXD串行口輸出端

P3.2INTO外部中斷。請(qǐng)求輸入端,低電平有效

P3.3INTI外部中斷1請(qǐng)求輸入端,低電平有效

P3.4TO定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端

P3.5T1定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端

P3.6WR外部數(shù)據(jù)存儲(chǔ)器及工/O接口寫選通信號(hào)輸出端,低電平有效

P3.7RD外部數(shù)據(jù)存儲(chǔ)器及1/O接口讀選通信號(hào)輸出端,低電平有效

3.MCS-51單片機(jī)內(nèi)部RAM區(qū)的功能構(gòu)造假設(shè)何分配4組工作存放器使用時(shí)假設(shè)何選

擇位尋址區(qū)域的字節(jié)范圍是多少

MCS-51單片機(jī)片內(nèi)RAM共有128B,字節(jié)范圍為00H?7FH,可分為工作存放器區(qū)、

位尋址區(qū)、數(shù)據(jù)緩沖區(qū)共3個(gè)區(qū)域。

(1)工作存放器區(qū)

00H-1FH單元為工作存放器區(qū)。工作存放器也稱通用存放器,用于臨時(shí)存放8位信息。

工作存放器分成4組,每組都是8個(gè)存放器,用R0?R7來表示。程序中每次只用一組,

其余各組不工作。使用哪一組存放器工作,由程序狀態(tài)字PSW中的PSW.3(RSO)和PSW.4

(RS1)兩位來選擇,其對(duì)應(yīng)關(guān)系如表所示。

工作存放器組的選擇表

當(dāng)前使用的工作存放器組

PSW.4(RSI)PSW.3(RS0)

區(qū)R0?R7

域000組((X)H-()7H)

011組(08H-0FH)

當(dāng)

102組(I0H-I7H)

不113組(18H?1FH)

用做工作存放器時(shí),可以作為一般的RAM區(qū)使用。

(2)位尋址區(qū)

20H?2FH單元是位尋址區(qū)。這16個(gè)單元(共計(jì)16x8=128位)的每一位都賦

予了一個(gè)位地址,位地址范圍為00H?7FH。位地址區(qū)的每一位都可當(dāng)做軟件觸發(fā)器,由程

序直接進(jìn)展位處理。通??梢园迅鞣N程序狀態(tài)標(biāo)志、位控制變量存入位尋址區(qū)內(nèi)。

0組

工作存

00H...07H1組

08H...0FH放器區(qū)

2組

10H...17H

18H...1FH3

0706050403020100

NnUnMu

OF0E0DOC0B0A0908

Z01inU位

22H1716151413121110

23HIFIEIDIC131A1918

24H2726252423222120

25H2F2E2D2C232A29

26H3736353433323130

27H3F3E3D3C333A3938

28H4746454443424140

29H4F4E4D4c434A4948

2AH5756555453525150

2BH5F5E5D5C535A5958

2CH6766656463626160

2DH

6F6E6D6C636A6968

zOETTHLT區(qū)

7776757473727170

zrn

7F7E7D7C737A7978

數(shù)據(jù)緩

30H...7FH

沖區(qū)

該區(qū)域當(dāng)不被用做位尋址區(qū)時(shí),可以作為一般的RAM區(qū)使用。

(3)數(shù)據(jù)緩沖區(qū)

30H?7FH是數(shù)據(jù)緩沖區(qū),即用戶RAM,共80個(gè)單亓。

由于工作存放器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪問,這三個(gè)區(qū)

的單元既有自己獨(dú)特的功能,又可統(tǒng)一調(diào)度使用。因此,前兩個(gè)區(qū)未使用的單元也可作為用

戶RAM單元使用,使容量較小的片內(nèi)RAM得以充分利用。

4.特殊功能存放器中哪些存放器可以位尋址它們的字節(jié)地址是什么

參看表3-6.

5.簡(jiǎn)述程序狀態(tài)字PSW中各位的含義。

程序狀態(tài)字PSW是一個(gè)8位存放器,它保存指令執(zhí)行結(jié)果的特征信息,為下一條指令

或以后的指令的執(zhí)行提供狀態(tài)條件。PSW中的各位一般是在指令執(zhí)行過程中形成的,但也可

以根據(jù)需要采用傳送指令加以改變。其各位定義如以以下列圖。

①進(jìn)位標(biāo)志C(PSW.7)

在執(zhí)行某些算術(shù)運(yùn)算類、邏輯運(yùn)算類指令時(shí),可被硬件或軟件置位或清零。它表示運(yùn)算

結(jié)果是否有進(jìn)位或借位。如果在最高位有進(jìn)位(加法時(shí):或借位〔減法時(shí)),則C=1,否

則C=0o

②輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志位AC(PSW.6)

它表示兩個(gè)8位數(shù)運(yùn)算,低4位有無進(jìn)(借)位的狀況。當(dāng)?shù)?位相加(或相減:時(shí),

假設(shè)D3位向D4位有進(jìn)位[或借位),貝IJAC=1,否則AC=0。在BCD碼運(yùn)算的十進(jìn)制

調(diào)整中要用到該標(biāo)志。

③用戶自定義標(biāo)志位F0(PSW.5)

用戶可根據(jù)自己的需要為F0賦予一定的含義,通過軟件置位或清零,并根據(jù)F0=1

或0來決定程序的執(zhí)行方式,或系統(tǒng)某一種工作狀態(tài)。

④工作存放器組選擇位RSI、RSO(PSW.4、PSW.3)

可用軟件置位或清零,用于選定當(dāng)前使用的4個(gè)工作存放器組中的某一組。

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

做加法或減法時(shí)由硬件置位或清零,以指示運(yùn)算結(jié)果是否溢出。在帶符號(hào)數(shù)加減運(yùn)算中,

0V=1表示加減運(yùn)算超出了累加器所能表示的數(shù)值范圍(-128?+127),即產(chǎn)生了溢出,

因此運(yùn)算結(jié)果是錯(cuò)誤的。。V=0表示運(yùn)算正確,即無溢出產(chǎn)生。

執(zhí)行乘法指令MULAB也會(huì)影響0V標(biāo)志,當(dāng)積大于255時(shí),0V=1,否則0V=0;

執(zhí)行除法指令DIVAB也會(huì)影響OV標(biāo)志,如B中所存放的除數(shù)為0,則OV=1,否則0V

=0O

⑥奇偶標(biāo)志位P(PSW.0)

在執(zhí)行指令后,單片機(jī)根據(jù)累加器A中1的個(gè)數(shù)的奇偶自動(dòng)將該標(biāo)志置位或清零。假設(shè)

A中1的個(gè)數(shù)為奇數(shù),則P=1,否則P=0。該標(biāo)志對(duì)串行通信的數(shù)據(jù)傳輸非常有用,

通過奇偶校驗(yàn)可檢驗(yàn)傳輸?shù)目煽啃浴?/p>

6.簡(jiǎn)述MCS-51單片機(jī)程序存儲(chǔ)器的幾個(gè)特殊入口地址的含義。

0000H:程序入口地址

0003H:外部中斷0中斷服務(wù)程序入口地址

000BH:定時(shí)器/計(jì)數(shù)器0溢出中斷服務(wù)程序入口地址

0013H:外部中斷1中斷服務(wù)程序入口地址

001BH:定時(shí)器/計(jì)數(shù)器1溢出中斷服務(wù)程序入口地址

0023H:串行口發(fā)送/接收中斷服務(wù)程序入口地址

7.位地址7FH與字節(jié)地址7FH有何區(qū)別位地址7FH具體在內(nèi)存中的什么位置

二者存儲(chǔ)的數(shù)據(jù)位數(shù)不一樣。位地址7FH存放一位二進(jìn)制數(shù),字節(jié)地址7FH存放8為

二進(jìn)制數(shù)。

位地址7FH具體在內(nèi)存中字節(jié)地址為20H的最高位上。

8.復(fù)位的作用是什么復(fù)位后單片機(jī)的狀態(tài)假設(shè)何

計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,這就使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的

初始狀態(tài),并從這個(gè)狀態(tài)開場(chǎng)工作。

單片機(jī)的復(fù)位都靠外部電路實(shí)現(xiàn)。MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,高電平有效。

它是施密特觸發(fā)輸入(對(duì)于CMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起

振后,該引腳上出現(xiàn)兩個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要

RST保持高電平,MCS-51便保持復(fù)位狀態(tài)。此時(shí)ALE、PSEN、P0、Pl、P2、P3口都輸

出高電平。RST變?yōu)榈碗娖剑顺鰪?fù)位狀態(tài),CPU從初始狀態(tài)開場(chǎng)工作。復(fù)位操作不影響

片內(nèi)RAM的內(nèi)容,復(fù)位以后內(nèi)部存放器的初始狀態(tài)如表3-7所示。

9.試分別說明程序計(jì)數(shù)器PC和堆棧指針SP的作用。復(fù)位后PC和SP各為何值

程序計(jì)數(shù)器PC是一個(gè)16位專用存放器,其內(nèi)容表示下一條要執(zhí)行的指令的地址。復(fù)

位后為OOOOHo

MCS-51單片機(jī)的堆棧是在片內(nèi)RAM中開辟的一個(gè)專用區(qū)。堆棧指針SP是一個(gè)8位專

用存放器,用來存放棧頂?shù)牡刂贰_M(jìn)棧時(shí),SP自動(dòng)加1,將數(shù)據(jù)壓入SP所指定的地址單元;

出棧時(shí),將SP所指示的地址單元中的數(shù)據(jù)彈出,然后SP自動(dòng)減lo因此SP總是指向棧頂。

復(fù)位后為07Ho

10.MCS-51單片機(jī)設(shè)置4組工作存放器,開機(jī)復(fù)位后,CPU使用的是哪組存放器它

們的地址假設(shè)何CPU假設(shè)何改變當(dāng)前工作存放器組

第0組。字節(jié)地址為00H?07H。

通過PSW的RSI、RSO來改變。

工作存放器組的選擇表

11.什么是時(shí)鐘周期、機(jī)器周期

當(dāng)前使用的工作存放器組

PSW.4(RSI)PSW.3(RSG)

R0?R7和指令周期當(dāng)外部的振蕩頻率是8MHz

組(?

00000H07H)時(shí),8051單片機(jī)的機(jī)器周期為多少

011組(08H?0FH)

102組U0H77H)MCS-51單片機(jī)的時(shí)序由下面4種周期

113組(18H?1FH)構(gòu)成。

(1)振蕩周期

振蕩周期是指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期。

(2)狀態(tài)周期(時(shí)鐘周期)

兩個(gè)振蕩周期為一個(gè)狀態(tài)周期,用S表示。兩個(gè)振蕩周期作為兩個(gè)節(jié)拍分別稱為節(jié)拍

P1和節(jié)拍P2o在狀態(tài)周期的前半周期P1有效時(shí),通常完成算術(shù)邏輯運(yùn)算;在后半周期P2

有效時(shí),一般進(jìn)展內(nèi)部存放器之間的傳輸。

(3)機(jī)器周期

CPU執(zhí)行一條指令的過程可以劃分為假設(shè)干階段,每一階段完成某一項(xiàng)根本操作,如

取指令、存儲(chǔ)器讀/寫等。通常把完成一個(gè)根本操作所需要的時(shí)間稱為機(jī)器周期。

(4)指令周期

指令周期是指執(zhí)行一條指令所占用的全部時(shí)間,它以機(jī)器周期為單位。MCS-51系列單

片機(jī)除乘法、除法指令是4機(jī)器周期指令外,其余都是單周期指令和雙周期指令。假設(shè)用

12MHz晶體振蕩器(晶振),則單周期指令和雙周期指令的指令周期時(shí)間分別是1"和2口s,

乘法和除法指令為4ns。

通過上面的分析,我們可以看出,外部晶振的二分頻是MCS-51單片機(jī)的內(nèi)部時(shí)鐘周期,

6個(gè)時(shí)鐘周期構(gòu)成了單片機(jī)的機(jī)器周期。

如果單片機(jī)的外部晶振是8MHz,則其內(nèi)部的機(jī)器周期是1.5pso

12.PSW=10H,則工作存放器R0的地址是10H,R4的地址是14H。

13.MCS-51單片機(jī)復(fù)位后,程序計(jì)數(shù)器PC=0000H,堆棧指針SP=07H。

14.MCS-51單片機(jī)內(nèi)部RAM的存放器區(qū)共有32個(gè)單元,分為4組存放器,每組8

單元。

15.MCS-51單片機(jī)的4個(gè)工/0接口的作用是什么三總線是假設(shè)何分配的為什么說能

作為工/0使用的一般只有P1口

P0口形成數(shù)據(jù)總線:P2口形成地址的高8位,P0口經(jīng)過鎖存器形成地址的低8位;

P3口形成控制總線。

在具有外部擴(kuò)展的時(shí)間,需要用到數(shù)據(jù)總線、地址總線和控制總線,而三總線占用了

PO、P2、P3口,可以單獨(dú)使用的只有P1口。

第4章MCS-51系列單片機(jī)指令系統(tǒng)

i.訪問外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器可以用哪些指令來實(shí)現(xiàn)舉例說明。

訪問外部數(shù)據(jù)存儲(chǔ)器;

MOVXA,@DPTR

MOVX@CPTRZA

MOVXA,@Ri

MOVX@Ri,A

訪問程序存儲(chǔ)器:

MOVCA,@A+DPTR

MOVCA,@A+PC

2.設(shè)堆棧指針SP中的內(nèi)容為60H,內(nèi)部RAM中30H和31H單元的內(nèi)容分別為24H

和10H,執(zhí)行以下程序段后,61H、62H、30H、31H、DPTR及SP的內(nèi)容將有何變化

PUSH3OH

PUSH31H

POPDPL

POPDPH

MOVOH,#00H

MOV31H,#0FFH

(61H)=24H(62H)=10H(30H)=00H(31H)=0FFH

(DPTR)=2410H(SP)=60H

3.設(shè)(A)=40H,(RI)=23H,(40H)=05H。執(zhí)行以下兩條指令后,累加器A

和R1以及內(nèi)部RAM中40H單元的內(nèi)容各為何值

XCHA,R1

XCHDA,0R1

(A)=25H(Rl)=40H(40H)=03H

4.設(shè)(A)=01010101B,(R5)=10101010B,分別寫出執(zhí)行ANLA,R5;

ORLA,R5;XRLA,R5指令后的結(jié)果。

00000000B11111111B11111111B

5.簡(jiǎn)述轉(zhuǎn)移指令A(yù)JMPaddrll,SJMPrel,LJMPaddrl6RJMP@A+DPTR

的應(yīng)用。

AJMPaddrll:2K范圍內(nèi)的轉(zhuǎn)移;SJMPrel:256字節(jié)復(fù)位內(nèi)的轉(zhuǎn)移;

LJMPaddrl6:64K范圍內(nèi)的轉(zhuǎn)移;JMP@A+DPTR:在某一地址開場(chǎng)的256字節(jié)

范圍內(nèi)的轉(zhuǎn)移。

6.試用以下4種方式編程,將立即數(shù)OEFH送入內(nèi)部RAM的40H單元中。

(1)用立即尋址;(2)用直接尋址;(3)用存放器尋址;(4)用存放器間接尋址

(1)MOV40H,#0EFH---目的操作數(shù)立即尋址

(2)MOV40H,#0EFH源操作數(shù)直接尋址

(3)MOVRO,#0EFH

MOV4OH,,RO源操作數(shù)存放器尋址

(4)MOVRO,#40H

MOV@R0,#0EFH目的操作數(shù)存放器間接尋址

7.寫出實(shí)現(xiàn)以下要求的指令或程序片段。

(1)將內(nèi)部RAM20H單元內(nèi)容與累加器A內(nèi)容相加,結(jié)果存放在20H單元中。

(2)將內(nèi)部RAM30H單元內(nèi)容與內(nèi)部RAM31H單元內(nèi)容相加,結(jié)果存放到內(nèi)部RAM31H

單元中。

(3)將內(nèi)部RAM20H單元內(nèi)容傳送到外部RAM2000H單元中。

(4)使內(nèi)部RAM20H單元的D7和D3位清零,其他位保持不變。

(5)使內(nèi)部RAM20H單元的D7和D3位置1,D5位清零,其他位保持不變。

(6)使內(nèi)部RAM20H單元的D7和D3位置1,D5位取反,其他位保持不變。

(1)ADDA,#20H

MOV20H,A

(2)MOVA,30H

ADDA,31H

MOV31H,A

(3)MOVAz2OH

MOVDPTR,#2000H

MOVX@DPTR,A

(4)CLR03H

CLR07H

或:

ANL20H,#011101118

(5)SETB03H

SETB07H

CLR05H

或:

ORL20H,#10001000B

ANL20H,#11011111B

(6)SETB03H

SETB07H

CPL05H

或:

ORL20H,#10001000B

XRL20H,#00100000B

8.試用三種方法實(shí)現(xiàn)累加器A和存放器B的內(nèi)容交換。

(1)MOVRO,A

MOVA,B

MOVB,RO

(2)PUSHA

PUSHB

POPA

POPB

(3)MOVRO,B

XCHA,R0

MOVB,RO

9.試分析以下程序段執(zhí)行后,(A)=,(30H)=

MOV3OH,#0A4H

MOVA,#0D6H

MOVRO,#30H

MOVR2,#5EH

ANLA,R2

ORLA,0R0

SWAPA

CPLA

XRLA,#0FEH

ORL3OH,A

(A)=6EH(30H)=0EFH

10.下述程序執(zhí)行后,(SP)=,(A)=,(B)=

ORG2000H

MOVSP,#40H

MOVA,#30H

LCALLSUBR

ADDA,#10H

MOVB,A

LI:SJMPLI

SUBR:MOVDPTR,#200AH

PUSHDPL

PUSHDPH

RET

(SP)=42H(A)=30H(B)=OOH

11.設(shè)(RO)=20H,(RI)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,

(25H)=0A0H,(26H)=6FH,(27H)=76H。以下程序執(zhí)行后,結(jié)果假設(shè)何

CLRC

MOVR2,#3

LOOP:MOVA,@R0

ADDCA,@R1

MOV@R0,A

INCRO

INCRI

DJNZR2,LOOP

JNCNEXT

MOV@R0,#01H

SJMP$

NEXT:DECRO

SJMP$

(R0)=22H,(RI)=24H,(20H)=10H,(21H)=31H,(22H)=0A1H,(25H)

=OAOH,(26H)=6FH,(27H)=76Ho

12.設(shè)片內(nèi)RAM

溫馨提示

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

評(píng)論

0/150

提交評(píng)論