單片機(jī)習(xí)題集題庫(kù)及答案_第1頁(yè)
單片機(jī)習(xí)題集題庫(kù)及答案_第2頁(yè)
單片機(jī)習(xí)題集題庫(kù)及答案_第3頁(yè)
單片機(jī)習(xí)題集題庫(kù)及答案_第4頁(yè)
單片機(jī)習(xí)題集題庫(kù)及答案_第5頁(yè)
已閱讀5頁(yè),還剩173頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)習(xí)題及答案

第一章

1?1選擇

1.計(jì)算機(jī)中最常用的字符信息編碼是(A)

AASCIIBBCD碼C余3碼D循環(huán)碼

2.要MCS?51系統(tǒng)中,若晶振頻率屢8MHz,一個(gè)機(jī)器周期等于(A)us

A1.5B3C1D0.5

3.MCS-51的時(shí)鐘最高頻率是(A).

A12MHzB6MHzC8MHzD10MHz

4.以下不是構(gòu)成的控制器部件(D):

A程序計(jì)數(shù)器、B指令寄存器、C指令譯碼器、D存儲(chǔ)器

5.以下不是構(gòu)成單片機(jī)的部件(D)

A微處理器(CPU)、B存儲(chǔ)器C接口適配器(I\O接口電路)D打印機(jī)

6.下列不是單片機(jī)總線是(D)

A地址總線B控制總線C數(shù)據(jù)總線D輸出總線

7.~49D的二進(jìn)制補(bǔ)碼為.(B)

A11101111B11101101C0001000D11101100

8.十進(jìn)制29的二進(jìn)制表示為原碼(C)

A11100010B10101111C00011101D00001111

9.十進(jìn)制0.625轉(zhuǎn)換成二進(jìn)制數(shù)是(A)

A0.101B0.111C0.110D0.100

10選出不是計(jì)算機(jī)中常作的碼制是(D)

A原碼B反碼C補(bǔ)碼DASCII

1-2填空

1.計(jì)算機(jī)中常作的碼制有原碼、反碼和補(bǔ)碼

2.十進(jìn)制29的二進(jìn)制表示為00011101

3.十進(jìn)制數(shù)-29的8位補(bǔ)碼表示為.11100011

4.單片微型機(jī)£EU、存儲(chǔ)器和八O接口三部分組成.

5.若不使用MCS-51片內(nèi)存器引腳E區(qū)必須接地.

6.輸入輸出設(shè)備是計(jì)算機(jī)與外部世界交換信息的載體.

7.十進(jìn)制數(shù)47用8位二進(jìn)制補(bǔ)碼表示為.11010001

8.-49D的二進(jìn)制補(bǔ)碼為

9.計(jì)算機(jī)中最常用的字符信息編碼是ASCH

10.計(jì)算機(jī)中的數(shù)稱為機(jī)器數(shù),它的實(shí)際值叫真值。

1?3判斷

1.我們所說(shuō)的計(jì)算機(jī)實(shí)質(zhì)上是計(jì)算機(jī)的硬件系統(tǒng)與軟件系統(tǒng)的總稱。(V)

2.MCS-51上電復(fù)位時(shí),SBUF=00Ho(X)。SBUF不定。

3.使用可編程接口必須處始化。(V)o

4.8155的復(fù)位引腳可與89c51的復(fù)位引腳直接相連。(J)

5.MCS-51是微處理器。(X)不是。

6.MCS-51系統(tǒng)可以沒(méi)有復(fù)位電路。(X)不可以。復(fù)位是單片機(jī)的初始化操作。

7.要MCS-51系統(tǒng)中,一個(gè)機(jī)器周期等于L5us。(X)若晶振頻率屢8MHz,才可

能為1.5us

8.計(jì)算機(jī)中常作的碼制有原碼、反碼和補(bǔ)碼(J)

9.若不使用MCS-51月內(nèi)存器引腳EA必須接地.(V)

10.十進(jìn)制數(shù)-29的8位補(bǔ)碼表示為.11100010(X)

1?4簡(jiǎn)答

1.何謂單片機(jī)?單片機(jī)與一般微型計(jì)算機(jī)相比,具有哪些特點(diǎn)?

答:?jiǎn)纹瑱C(jī)是在一塊集成電路.1:把CPU、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器及多種形式的I/O接口集

成在一起而構(gòu)成的微型計(jì)算機(jī)。它與通用微型計(jì)算機(jī)相比,具有如下特點(diǎn):

(1)單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分工的,前者為ROM,后者為RAM;

(2)采用面向控制的指令系統(tǒng),控制功能強(qiáng);

(3)多樣化的I/O接口,多功能的I/O引腳;

(4)產(chǎn)品系列齊全,功能擴(kuò)展性強(qiáng);

(5)功能是通用的,像一般微處理機(jī)那樣可廣泛地應(yīng)用在各個(gè)方面。

2單片機(jī)主要應(yīng)用在哪些領(lǐng)域?

答:?jiǎn)纹瑱C(jī)的應(yīng)用范圍很廣泛,諸如智能化家用電器、儀器儀表、工業(yè)控制、計(jì)算機(jī)外部設(shè)

備、智能機(jī)器人、電信及導(dǎo)航等方面。

3在各種系列的單片機(jī)中,片內(nèi)ROM的配置有幾種形式?用戶應(yīng)根據(jù)什么原則來(lái)選用?

答:各種類型的單片機(jī)片內(nèi)程序存儲(chǔ)器的配置形式主要有以下幾種形式:

一、掩膜(Msak)ROM型單片機(jī):內(nèi)部具有工廠掩膜編程的ROM,ROM中的程序只

能由單片機(jī)制造廠家用掩摸工藝固化,用戶不能修改ROM中的程序。例如:MCS

—51系列的8051。

掩膜ROM單片機(jī)適合于大批量生產(chǎn)的產(chǎn)品。用戶可委托芯片生產(chǎn)廠家采用掩膜方法將

程序制作在芯片的ROM。

二、EPROM型單片機(jī):內(nèi)部具有紫外線可擦除電可編程的只讀存儲(chǔ)器,用戶可以自行

將程序?qū)懭氲叫酒瑑?nèi)部的EPROM中,也可以將EPROM中的信息全部擦除。擦去

信息的芯片還可以再次寫入新的程序,允許反復(fù)改寫。例如:MCS-51系列的8751。

EPROM型單片機(jī)使用比較方便,但價(jià)格較高,適合于研制產(chǎn)品或結(jié)構(gòu)要求簡(jiǎn)單的小批

量產(chǎn)品。

三、無(wú)ROM型單片機(jī):內(nèi)部沒(méi)有程序存儲(chǔ)器,它必須連接程序存儲(chǔ)器才能組成完整的

應(yīng)用系統(tǒng)。例如:MCS—51系列的8031。

無(wú)ROM型單片機(jī)價(jià)格低廉,用戶可根據(jù)程序的大小來(lái)選擇外接程序存儲(chǔ)器的容量。這

種單片機(jī)擴(kuò)展靈活,但系統(tǒng)結(jié)構(gòu)較復(fù)雜。

四、E2ROM型單片機(jī):內(nèi)部具有電可擦除叫可編程的程序存儲(chǔ)器,使用更為方便。例如:

MCS—51的派生型89c51單片機(jī)。

五、OTP(OneTimeProgrammable)ROM單片機(jī):內(nèi)部具有一次可編程的程序存儲(chǔ)器,用

戶可以在編程器上將程序?qū)懭肫瑑?nèi)程序存儲(chǔ)器中,程序?qū)懭牒蟛荒茉俑膶?。例如?/p>

NEC公司的uPD75P308GF—3B9o這種芯片的價(jià)格也較低。

4.控制器的組成和作用

答:控制器:由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序發(fā)生器和操作控制器等組成。

用來(lái)協(xié)調(diào)指揮計(jì)算機(jī)系統(tǒng)的操作。

5.微型計(jì)算機(jī)組成

答:微型計(jì)算機(jī)組成由微處理器(CPU)、存儲(chǔ)器、接口適配器(1\0接口電路)及輸入/輸

出設(shè)備組成。通過(guò)系統(tǒng)總線將它們連接起來(lái),以完成某些特定的運(yùn)算與控制。

6.什么叫尋址方式

答:尋址方式:尋址方式就是尋找指令中操作數(shù)或操作數(shù)所在地址的方式。也就是如何

找到存放操作數(shù)的地址,把操作數(shù)提取出來(lái)的方法。

7.什么叫堆棧:

答:堆棧是在片內(nèi)RAM中專門開辟出來(lái)的一個(gè)區(qū)域,數(shù)據(jù)的存取是以“后進(jìn)先出”的結(jié)構(gòu)方

式處理的。實(shí)質(zhì)上,堆棧就是一個(gè)按照“后進(jìn)先出”原則組織的一段內(nèi)存區(qū)域。

8.什么是匯編語(yǔ)言?什么叫指令周期?

答:匯編:匯編語(yǔ)言源程序在交付計(jì)算機(jī)執(zhí)行之前,需要先翻譯成目標(biāo)程序,這個(gè)翻譯

過(guò)程叫匯編。

指令周期:指執(zhí)行一條指令所占用的全部時(shí)間。通常一個(gè)指令周期含1~4個(gè)機(jī)器周期。

9.什么是進(jìn)位和溢出

答:兩數(shù)運(yùn)算的結(jié)果若沒(méi)有超出字長(zhǎng)的表示范圍,則由此產(chǎn)生的進(jìn)位是自然進(jìn)位;若兩數(shù)的

運(yùn)算結(jié)果超出了字長(zhǎng)的表示范圍(即結(jié)果不合理),則稱為溢出。例如將正數(shù)3FH和負(fù)數(shù)

DOH相加,其結(jié)果不會(huì)超出8位字長(zhǎng)的表示范圍,所以其結(jié)果10FH中的進(jìn)位是正常進(jìn)位(也

就是模)。但是,若正數(shù)3FH與正數(shù)70H相加,其結(jié)果為AFH,最高位為“1”,成了負(fù)數(shù)的

含義,這就不合理了,這種情況稱為溢出。

第二章

2-1填空

1..微處器由寄存器、控制器和運(yùn)算器三部分組成..

2.當(dāng)MCS-51引腳ALE信號(hào)有效時(shí).表示從Po口穩(wěn)定地送出了低8位地址.

3.MCS-51的堆棧是軟件填寫堆棧指針臨時(shí)在片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)開辟的區(qū)域.

4.MCS-51中凡字節(jié)地址能被出整除的特殊功能寄存器均能尋址.

5.MCS-51有4組工作寄存器,它們的地址范圍是00H~lFH.

6.MCS-51片內(nèi)20H~2FH范圍內(nèi)的數(shù)據(jù)存儲(chǔ)器.既可以字節(jié)尋址又可以位尋址.

7.計(jì)算機(jī)的系統(tǒng)總線有地址總線、控制總線和數(shù)據(jù)總線。

8.80C51含4KB掩膜ROM。

9.80C51在物理有生個(gè)獨(dú)立的存儲(chǔ)空間。

10.一個(gè)機(jī)器周期等于6個(gè)狀態(tài)周期,振蕩脈沖2分頻后產(chǎn)生的時(shí)釧信號(hào)的周期定義為狀態(tài)

周期。

2?2判斷

I.我們所說(shuō)的計(jì)算機(jī)實(shí)質(zhì)上是計(jì)算機(jī)的硬件系統(tǒng)與軟件系統(tǒng)的總稱。(V)

2.MCS-51的相對(duì)轉(zhuǎn)移指令最大負(fù)挑距是127B。X)

3.MCS-51的程序存儲(chǔ)器只是用來(lái)存放程序的。(X)存放程序和表格常數(shù)。

4.MCS-51的時(shí)鐘最高頻率是18MHz.(X).12MHz。

5.使用可編程接口必須處始化。(V)。

6.當(dāng)MCS-5I上電復(fù)位時(shí),堆棧指針SP=OOHo(X)。SP=07H

7.MCS-51外擴(kuò)I/O口與外RAM是統(tǒng)一?編址的。(V)o

8.使用8751且=1時(shí),仍可外擴(kuò)64KB的程序存儲(chǔ)器。(X)60KB.

9.8155的復(fù)位引腳可與89c51的復(fù)位引腳直接相連。(4)

10.MCS-51是微處理器。(X)不是。

11.MCS-51的串行接口是全雙工的。(J)

12.PC存放的是當(dāng)前執(zhí)行的指令。(X)是將要執(zhí)行的下一條指令的地址。

13.MCS-51的特殊功能寄存器分布在60H~80H地址范圍內(nèi)。(X)80H~FFH。

14.MCS-51系統(tǒng)可以沒(méi)有復(fù)位電路。(X)不可以。復(fù)位是單片機(jī)的初始化操作。

15.要MCS-51系統(tǒng)中,一個(gè)機(jī)器周期等于1.5us。(X)若晶振頻率屢8MHz,才可

能為1.5ns

2-3選擇

1.要想測(cè)理INTO引腳上的一個(gè)正冰沖寬度,那么特殊功能寄存器TMOD的內(nèi)容應(yīng)為(B).

(A)09H(B)87H(C)OOH(D)80H

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

(A)0組(B)l組(C)2組(D)3組

3.控制串行口工作方式的寄存器是(C)

(A)TCON(B)PCON(C)SCON(D)TMOD

4.P1口的每一位能驅(qū)動(dòng)(B)

(A)2個(gè)TTL低電平負(fù)載有(B)4個(gè)TTL低電平負(fù)載

(C)8個(gè)TTL低電平負(fù)載有(D)10個(gè)TTL低電平負(fù)載

5.MCS-51的中斷允許觸發(fā)器內(nèi)容為83HCPU將響應(yīng)的中斷請(qǐng)求是(B)

(A)T1,(B)TO,T1(C)T1,串行接口(D),T0

2-4問(wèn)答題

18051單片機(jī)內(nèi)部包含哪些主要邏輯功能部件?

答:8051單片機(jī)是個(gè)完整的單片微型計(jì)算機(jī)。芯片內(nèi)部包括下列硬件資源:

五.8位CPU;

六.4KB的片內(nèi)程序存儲(chǔ)器ROM??蓪ぶ?4KB程序存儲(chǔ)器和64KB外部數(shù)據(jù)存儲(chǔ)器;

七.128B內(nèi)部RAM;

A.21個(gè)SFR;

九.4個(gè)8位并行I/O口(共32位I/O線);

十.一個(gè)全雙工的異步串行口;

十一.兩個(gè)16位定時(shí)器/計(jì)數(shù)器;

十二.5個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí);

十三.十部時(shí)鐘發(fā)生器。

2E西P引腳有何功用?8031的引腳應(yīng)如何處理?為什么?

答:E?VPP是雙功能引腳,功能如下:

2.E乘高電平時(shí),在低4KB程序地址空間(0000H~0FFFH),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器

的指令,當(dāng)程序地址超出低4KB空間(1000H~FFFFH)時(shí),CPU將自動(dòng)執(zhí)行片外程序

存他圈的指令。

3.EA接低電平時(shí),CPU只能執(zhí)行外部程序存儲(chǔ)器的指令。_

8031單片機(jī)內(nèi)部無(wú)ROM,必須外接程序存儲(chǔ)器。因此,8031的E丁引腳必須接低電

平。

在對(duì)8751單片機(jī)內(nèi)部的EPROM編程時(shí),此引腳VPP外接+I2V電壓,用于固化

EPROM程序。

(A)8051單片機(jī)存儲(chǔ)器的組織結(jié)構(gòu)是怎樣的?

答:8051存儲(chǔ)器包括程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,從邏輯結(jié)構(gòu)上看,可以分為三個(gè)不同的空

間:

(1)64KB的程序存儲(chǔ)器地址空間:0000H~FFFFH,其中OOOOH~OFFFH為片內(nèi)4KB的

ROM地址空間,1000H~FFFFH為外部ROM地址空間;

(2)256B的內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間,00H~FFH,分為兩大部分,其中00H-7FH(共

I28B單元)為內(nèi)部靜態(tài)RAM的地址空間,80H~FFH為特殊功能寄存器的地址空間,

21個(gè)特殊功能寄存器離散地分布在這個(gè)區(qū)域;

(3)64KB的外部數(shù)據(jù)存儲(chǔ)器地址空間:OOOOH-FFFFH,包括擴(kuò)展I/O地址空間。

4.片內(nèi)數(shù)據(jù)存儲(chǔ)器分為哪幾個(gè)性質(zhì)和用途不同的區(qū)域?

答:8051內(nèi)部128B的數(shù)據(jù)RAM區(qū),包括有工作寄存器組區(qū)、可直接位尋址區(qū)和數(shù)據(jù)緩沖

區(qū)。各區(qū)域的特性如下:

(1)00H~lFH為工作寄存器組區(qū),共分4組,每組占用8個(gè)RAM字節(jié)單元,每個(gè)

單元作為一個(gè)工作寄存器,每組的8個(gè)單元分別定義為8個(gè)工作寄存器R0~R7。

當(dāng)前工作寄存器組的選擇是由程序狀態(tài)字PSW的RSI、RS0兩位來(lái)確定。如果

實(shí)際應(yīng)用中并不需要使用工作寄存器或不需要使用4組二作寄存器,不使用的

工作寄存器組的區(qū)域仍然可作為一般數(shù)據(jù)緩沖區(qū)使用,用直接尋址或用Ri的寄

存器間接尋址來(lái)訪問(wèn)。

(2)20H~2FH為可位尋址區(qū)域,這16個(gè)字節(jié)的每一位都有一個(gè)地址,編址為

00H~7FH。

當(dāng)然,位尋址區(qū)也可以用作字節(jié)尋址的一般數(shù)據(jù)緩沖區(qū)使用。

(3)30H~7FH為堆棧、數(shù)據(jù)緩沖區(qū)。

5單片機(jī)有哪幾個(gè)特殊功能寄存器?各在單片機(jī)的哪些功能部件中?

答:8051單片機(jī)內(nèi)部有21個(gè)特殊功能寄存器,在物理上是分散在片內(nèi)各功能部件中,在數(shù)

學(xué)上把它們組織在內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間80H~FFH中,以便能使月統(tǒng)?的直接尋址方式

來(lái)訪問(wèn)。這些特殊功能寄存器頒在以下各個(gè)功能部件中:

1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH兩個(gè)8位寄存器組成);

2)中斷系統(tǒng):IP、IE;

3)定時(shí)器/計(jì)數(shù)器:TMOD、TCOM、TLO、THO、TL1、TH1;

4)并行I/O口:P0、Pl、P2、P3;

5)串行口:SCON、SBUF、PCONo

6PC是什么寄存器?是否屬于特殊功能寄存器?它有什么作用?

答:PC是16位程序計(jì)數(shù)器(ProgramCounter),它不屬于特殊功能寄存器范疇,程序員不

以像訪問(wèn)特殊功能寄存器那樣來(lái)訪問(wèn)PCoPC是專門用于在CPU取指令期間尋址程序存儲(chǔ)

器。PC總是保存著下一條要執(zhí)行的指令的16位地址。通常程序是順序執(zhí)行的,在一般情況

下,當(dāng)取出一個(gè)指令(更確切地說(shuō)為一個(gè)指令字節(jié))字節(jié)后,PC自動(dòng)加1。如果在執(zhí)行轉(zhuǎn)

移指令、子程序調(diào)用/返回指令或中斷時(shí),要把轉(zhuǎn)向的地址賦給PC。

7DPTR是什么寄存器?它由哪些特殊功能寄存器組成?它的主要作用是什么?

答:DPTR是16位數(shù)據(jù)指針寄存相,它由兩個(gè)8位特殊功能寄存器DPL(數(shù)據(jù)指針低8位)

和DPH(數(shù)據(jù)指針高8位)組成,DPTR用于保存16位地址,作間址寄存器用,可尋址外

部數(shù)據(jù)存儲(chǔ)器,也可尋址程序存儲(chǔ)器。

第三章

3-1選擇題

1、MOVXA,@DPTR指令中源操作數(shù)的尋址方式是(B)

五、寄存器尋址(B)寄存器間接尋址(C)直接尋址(D)立即尋址

6.ORG0003H

LJMP2000H

ORG000BH

UMP3000H當(dāng)CPU響應(yīng)外部中斷0后,PC的值是(B)

(A)0003H(B)2000H(C)OOOBH(D)3OOOH

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

五、SP+1(ACC)(B)(ACC)T?!?)SP-1,

六、(C)SP-1-S^(ACC)fP)(D)(ACC)(SP)SP+1夕

a)LCALL指令操作碼地址是2000H,執(zhí)行完相子程序返回指令后,PC=(D)

七、2000H(B)2001H(C)2002H(D)2003H

5、51執(zhí)行完MOVA,#08H后,PSW的一位被置位(D)

(A)(A)C(B)F0(C)OV(D)P

6、下面條指令將MCS-51的工作寄存器置成3區(qū)(B)

(A)MOVPSW,#13H(B)MOVPSW,#18H

(B)SETBPSW.4CLRPSW.3(d)SETBPSW.3CLRPSW.4

7、執(zhí)行MOVXA,@DPTR指令時(shí),MCS-51產(chǎn)生的控制信號(hào)是(C)

八、/PSEN(B)ALE(C)/RD(D)/WR

8、MOVC,#OOH的尋址方式是(A)

(1)位尋址(B)直接尋址(C)立即尋址(D)寄存器尋址

9、ORG0000H

AJMP0040H

ORG0040H

MOVSP,#00H當(dāng)執(zhí)行完左邊的程序后,PC的值是(C)

一、0040H(B)0041H(C)0042H(D)0043H

1。、對(duì)程序存儲(chǔ)器的讀操作,只能使用(D)

(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令

3?2判斷題。

8.MCS-51的相對(duì)轉(zhuǎn)移指令最大負(fù)跳距是127Bo(錯(cuò))128B

9.當(dāng)MCS-51上電復(fù)位時(shí),堆棧指針SP=OOH。(SP=07H)(錯(cuò))

10.調(diào)用子程序指令(如:CALL)及返回指令(如:RET)與堆棧有關(guān)但與PC

無(wú)關(guān)。(錯(cuò))子序的轉(zhuǎn)返與PC也有關(guān)(PC入棧與出棧)

II.MOV@R1,#8OH(對(duì))

5、INCDPTR(對(duì))

6、CLRRO(錯(cuò))指令系統(tǒng)中沒(méi)有。

7、MOV@RI,#80H(對(duì))

8、ANLR1,#OFH(錯(cuò)〕

9、ADDCA,C(錯(cuò))

10、XORPl,#31H(對(duì))

3-3簡(jiǎn)答題

1簡(jiǎn)述MCS-51匯編語(yǔ)言指令格式。

答:MCS-51匯編語(yǔ)言格式如下:

[標(biāo)號(hào):]操作碼助記符[操作數(shù)I][操作數(shù)2][操作數(shù)3H注釋]標(biāo)號(hào)是月戶定義的符號(hào),其值

代表這條指令的地址。操作碼助記符是指令系統(tǒng)規(guī)定的代表特定指令功能的英文縮寫符。每

條指令都有操作碼記符。指令的操作數(shù)最多有3個(gè),也有無(wú)操作數(shù)的指令。注釋字段是用戶

對(duì)程序的說(shuō)明,便于對(duì)程序的閱讀和理解。

簡(jiǎn)答

2MCS-51指令系統(tǒng)主要有哪幾種尋址方式?試舉例說(shuō)明。

答:MCS-5I指令操作數(shù)主要有以下7種尋址方式:

尋址方式舉例

立即尋址MOVA,#16

直接尋址MOV20H,Pl

寄存器尋址MOVA,RO

寄存器間接尋址MOVXA,@DPTR

變址尋址MOVCA,@A+DPRT

相對(duì)尋址SJMPLOOP

位尋址ANLC,70H

3對(duì)訪問(wèn)內(nèi)部RAM和外部RAM,各應(yīng)采用哪些尋址方式?

答:對(duì)內(nèi)部RAM的尋址方式有直接尋址、寄存器間接尋址和可對(duì)位尋址的位尋址。對(duì)外部

RAM的尋址方式只能用寄存器R0/R1(8位地址)或DPTR(16位地址)間接尋址。

4設(shè)內(nèi)部RAM(30H)=5AH,(5AH)=40H,(40H)=OOH,端口P1=7FH,問(wèn)執(zhí)行下列

指令后,各有關(guān)存儲(chǔ)單元(即RO,RI,A,B,Pl,30H,40H及5AH單元)的內(nèi)容如何?

MOVRO,#30H;R0=30H

MOVA,@R0;A=5AH

MOVRI,A;R1=5AH

MOVB,R1;B=5AH

MOV@RI,P1;(5AH)=7FH

MOVA,Pl;A=7FH

MOV40H,#20H;(40H)=20H

MOV30H,40H;(30H)=20H

解:每一條指令執(zhí)行后的結(jié)果如在釋字段所標(biāo)。最后結(jié)果為:R0=30H,R1=5AH,A=7FH,

B=5AH,P1=7FH,OOH)=20H,(40H)=20H,(5AH)=7FH。

5SJMP(短轉(zhuǎn)移)指令和AJMP(絕對(duì)轉(zhuǎn)移)指令的主要區(qū)別。

前者提供了以SJMP的下一條指令的起始地址為中心的256字節(jié)范圍的轉(zhuǎn)移J128?

+127),后者的轉(zhuǎn)移目標(biāo)地址必須在與AJMP的下一條指令的第一字節(jié)相同的2KB區(qū)的程序

儲(chǔ)存器中。短轉(zhuǎn)移方便了可重定位編碼。SJMP方便了PC可重定位編碼,但轉(zhuǎn)移范圍小。

而ASJMP轉(zhuǎn)移范圍大,但存在跳區(qū)的限制,AJMP指令只能位于2KB區(qū)的最后2個(gè)字節(jié)處

時(shí),才可跳到下一個(gè)區(qū)去。因此用AJMP指令來(lái)代替SJMP指令是有條件的,也就是目標(biāo)地

址必須與它下面的指令存放地址在同一個(gè)2KB區(qū)域內(nèi)。

3-4編程題

1編程將片內(nèi)RAM30H單元開始的15B的數(shù)據(jù)傳送到片外RAM3000H開始的單元中

去。

解:STRAT:MOVRO,#30H

MOVR7,#0FH

MOVDPTR,#3000H

LOOP:MOVA,@R0

MOVX@DPTR,A

INCRO

INCDPTR

DJNZR7XOOP

RET

2片內(nèi)RAM30H開始的單元中有10B的二進(jìn)制數(shù),請(qǐng)編程求它們之和(和V256).

解ADDIO:MOVRO,30H

MOVR7,#9

MOVA,@R0

LOOP:INCRO

ADDA,@R0

DJNZR7,LOOP

MOV30H,A

RET

3編一個(gè)程序,將累加器中的一個(gè)字符從串行接口發(fā)送出去.

解SOUT:MOVSCON,#40H;設(shè)置串行接口為工作方式

MOVTMOD,#20H;定時(shí)器T1工作于模式2

MOVTL1,#OE8H;;設(shè)置波特率為1200b/s

MOVTHl,#0E8H

SETBTRI

MOVSBUF,A

JNBn,$

CLBT1

RET

4用查表法編一子程序,將R3中的BCD碼轉(zhuǎn)換成ASCH碼.

解MAIN:MOVA,R3;待轉(zhuǎn)換的數(shù)送A

MOVDPTR,#TAR;表首地址送DPTR

MOVCA,@A+DPTR;查ASCII碼表

MOVR3,A;查表結(jié)果送R3

RET

TARDB30H,31H,32H,33H,34H

DB35H,36H,37H,38H,39H

5片內(nèi)RAM40H開始的單元內(nèi)有10B二進(jìn)制數(shù),編程找出其中最大值并存于50H單

元中.

解START:MOVR0,#40H;數(shù)據(jù)塊首地址送RO

MOVR7,#09H;比較次數(shù)送R7

MOVA,@R0;取數(shù)送A

LOOP:INCRO

MOV30H,@R0;取數(shù)送30H

CJNEA,30H,NEHT;(A)與OOH)相比

NEXT:JNCBIEI(A)2(30H)轉(zhuǎn)BIRI

MOVA,30H;(A)V(30H)次數(shù)送A

BIEI:DJNZR7,LOOP;比較次數(shù)減1,不為0,繼續(xù)比較

MOV50H,A;比較結(jié)束,大數(shù)送50H

RET

編一子程序,從串行接口接受一個(gè)字符.

解:START:MOVTMOD,#20H;定時(shí)器TI工作于模式2

MOVTHI.#0E8H;設(shè)置波特率為1200b/s

MOV1LI,#OE8H

SETBTRI;啟動(dòng)T1

MOVSCON,#50H;串行接口工作于方式1,充許接收

L1:JNBRI,LI;等待接收數(shù)據(jù),末接收到數(shù)據(jù),繼續(xù)等待

CLRRI;接收到數(shù)據(jù),清RI

MOVA,SBUF;接收到數(shù)據(jù)送A

RET

7利用調(diào)子程序的方法,進(jìn)行兩個(gè)無(wú)符號(hào)數(shù)相加。請(qǐng)編主程序及子程序。

解用R0和R1作數(shù)據(jù)指針,R0指向第一個(gè)加數(shù),并兼作“和”的指針,R1指向

另一個(gè)加數(shù),字節(jié)存放到R2中作計(jì)數(shù)初值。

主程序:

JAFA:MOVR0,#20H;指向加數(shù)最低字節(jié)

MOVR1,#29H;指向另一加數(shù)最低字節(jié)

MOVR2,#04H;字節(jié)數(shù)作計(jì)數(shù)值

ACALLJASUB;調(diào)用加法子程序

AJMP$

RTE

多字節(jié)加法子程序:

JASUB:CLRC

JASUB1:MOVA,@R0;取出加數(shù)的一個(gè)字節(jié)(4B無(wú)符號(hào)數(shù)加數(shù))

ADDCA,@RI;加上另一數(shù)的一個(gè)字節(jié)

MOV@R0,A;保存和數(shù)

INCRO;指向加數(shù)的高位

INCRI;指向另一加數(shù)的高位

DJNZR2,JASUB1;全部加完了嗎?

RET

8若圖數(shù)據(jù)塊是有符號(hào)數(shù),求正數(shù)個(gè)數(shù),編程并注釋。

解ORG0030H

START:MOV20H,#00H;計(jì)正數(shù)個(gè)數(shù)計(jì)數(shù)器

MOVDErK,#OUUOH;

MOVXA,@DPTR;數(shù)據(jù)塊長(zhǎng)度f(wàn)lOH

MOV10H,A

INCDPTR;DPTR指向第一個(gè)數(shù)的地址

TWO:MOVXA,@DPTR;取數(shù)fA

JBACC.7,ONE;是負(fù)數(shù)轉(zhuǎn)ONE,準(zhǔn)備取下一個(gè)數(shù)

INC20H;是正數(shù),正數(shù)計(jì)數(shù)器加1

ONE:INCDPTR;地址指針加1

DJNZ10H,TW;數(shù)據(jù)塊長(zhǎng)度減1不等于0,繼續(xù)尋找

RET

9編制一個(gè)循環(huán)閃爍燈的程序。有8個(gè)發(fā)光二極管,每次其中某個(gè)燈閃爍點(diǎn)亮10次后,轉(zhuǎn)

到下一個(gè)閃爍10次,循環(huán)不止。畫出電路圖。

P1.0

8013

P1.7

本程序的硬件連接如圖所示。當(dāng)P1.0輸出高電平時(shí),LED燈亮,否則不亮。

其程序如下:

MOVA,#0IH;燈亮初直

SHIFT:LCAILFLASH;調(diào)閃亮10次子程序

RRA;右移一位

SJMPSHIFT;循環(huán)

FLASH:MOVR2,#0AH閃爍10次計(jì)數(shù)

FLASH1;MOVPl,A;點(diǎn)亮

LCALLDELAY:延時(shí)

MOVPl,#00H;熄滅

LCALLDELAY;延時(shí)

DJNZR2,FLASH1;循環(huán)

RET

第四章

4-1填空

1.MCS-51的Po口作為輸出端口時(shí),每位能驅(qū)動(dòng)一個(gè)SL型TTL負(fù)載.

2.MCS-51有___二個(gè)并行I\O口,其中P0-P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時(shí)必須先寫

入H_______

3.設(shè)計(jì)8031系統(tǒng)時(shí).PO、P2口不能用作一般1\0口.

4.MCS-51串行接口有4種工作方式,這可在初始化程序中用軟件填寫特殊功能寄存器

SCON加以選擇.

5.當(dāng)使用慢速外設(shè)時(shí),最佳的傳輸方式是中斷.

6.當(dāng)定時(shí)器To工作在方式3時(shí),要占定時(shí)器T1的TR1和TF1_兩個(gè)控制位.

7.MCS-51有5個(gè)中斷源.有2個(gè)中斷優(yōu)先級(jí),優(yōu)先級(jí)由軟件填寫特殊功能寄存器」E加

以選擇..

8.用串口擴(kuò)并口時(shí),串行接口工作方式應(yīng)選為方式0.

9.在串行通信中,有數(shù)據(jù)傳送方向單工、半雙工、全雙工三種方式.

10.外部中斷入口地址為0013H

4?2判斷

1.MCS-51的5個(gè)中斷源優(yōu)先級(jí)相同。(X)

2.要進(jìn)行多機(jī)通信,MCS-51串行接口的工作方式應(yīng)為方式1。(X)

3.MCS-51上電復(fù)位時(shí),SBUF=00Ho(X)。

4.MCS-51有3個(gè)中斷源,優(yōu)先級(jí)由軟件填寫特殊功能寄存器IP加以選擇..(X)

5.用串口擴(kuò)并口時(shí),串行接口工作方式應(yīng)選為方式1.(X)

6.外部中斷INTO入口地址為_00l3H(X)

7.MCS-51外部中斷0的入口地址是0003H。(V).

8.TMOD中的GATE=1時(shí),表示由兩個(gè)信號(hào)控制定時(shí)器的啟停。(V)。

9.使用8751且=1時(shí),仍可外擴(kuò)64KB的程序存儲(chǔ)器。(X)

10.PC存放的是當(dāng)前執(zhí)行的指令。(X)

II.MCS-51的特殊功能寄存器分布在60H~80H地址范圍內(nèi)。(X)

12.MCS-51有4個(gè)并行I\O口淇中P0-P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時(shí)必須先寫入“0"

(X)

4-3選擇

1.在中斷服務(wù)程序中,至少應(yīng)有一條(D)

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

2.要使MCS-51能夠響應(yīng)定時(shí)器T1中斷、串行接口中斷,它的中斷允許寄存器IE的內(nèi)容

應(yīng)是(A)

(A)98H(B)84H(C)42(D)22H

3.DMCS-51在響應(yīng)中斷時(shí),下列哪種操作不會(huì)發(fā)生(D).

(A)保護(hù)現(xiàn)場(chǎng)(B)保護(hù)PC(C)找到中斷入口(D)保護(hù)PC轉(zhuǎn)入中斷入口

4.用MCS-51串行接口擴(kuò)展并行1\0口時(shí),串行接口工作方式應(yīng)選擇(C)

(A)方式0(B)方式1(C)方式2(D)方式3

5.MCS-51有中斷源(A)

(A)5個(gè)(B)2個(gè)(C)3個(gè)(D)6個(gè)

6.MCS-51響應(yīng)中斷時(shí),下面哪一個(gè)條件不是必須的()

(A)當(dāng)前指令執(zhí)行完畢(B)中斷是開放的確

(C)沒(méi)有同級(jí)或高級(jí)中斷服務(wù)須(D)必須有RET1指令

7.使用定時(shí)器T1時(shí),有幾種工作模式(C)

(A)l種(B)2種(C)3種(D)4種

8.計(jì)算機(jī)在使用中斷方式與外界交換信息時(shí),保護(hù)現(xiàn)場(chǎng)的工作方式應(yīng)該是(B)

(A)由CPU自動(dòng)完成(B)在中斷響應(yīng)中完成

(。應(yīng)由中斷服務(wù)程序完成(D)在主程序中完成

9.下面哪一種傳送方式適用于處理外部事件(C)

(A)DMA(B)無(wú)條件傳遞進(jìn)(C)中斷(D)條件傳遞

1、2、4章的編程

a)8225A控制字地址為300FH,請(qǐng)按:A口方式0輸入,B口方式1輸出,C口高

位輸出,C口低位輸入,確定8225A控制字并編初始化程序.

解:控制字為10010101=95H

初始化程序:MOVDPTR,#300FH

MOVA,#95H

MOVX@DPTR.A

b)編定一個(gè)軟件延時(shí)IS和Imin的子程序.設(shè)fosc=6Hz,則一個(gè)機(jī)器周期

1PSO

解:⑴1S=2US*5*100000

5*10(X)00=250*200*10

1.ORG1000H

TIME:MOVR7,#10

T3:MOVR6,#200

T2:MOVR6,#250

Tl:DJNZR5,T1

DJNZR6,T2

DJNZR7,T3

RET

(2)lmin=60,調(diào)用上面Is子程序60次

ORG0030H

MOVR0,#60

LOOP:LCALLTIME

DJNZR0,LOOP

RET

c)請(qǐng)編制串行通信的數(shù)據(jù)發(fā)送程序,發(fā)送片內(nèi)RAM50H~5FH的I6B數(shù)據(jù),

串行接口設(shè)定為方式2,采用偶校驗(yàn)方式。設(shè)晶振頻率為6MHz。

解:查詢方式發(fā)送程序如下

MOVSCON,#8OH

MOVPCON,#80H

MOVR0,#50H

MOVR7,#I6H

LOOP:MOVA,@R0

MOVC,P

MOVTB8,C

MOVSBUF,A

JNBTl,$

CLRT1

INCR0

DJNZR7,LOOP

RET

4.應(yīng)用單片機(jī)內(nèi)部定時(shí)器TO工作在方式1下,從PI.0輸出周期為2ms的方波脈沖信號(hào),已

知單片機(jī)的晶振頻率為6MHZo

請(qǐng)(1)計(jì)算時(shí)間常數(shù)X,應(yīng)用公式X=2"—t(f/12)

(2)寫出程序清單

解:X=2,6-t(F/12)

=2,6-1*10-3*6*10712

=OFEOCH

ORG3000H

START:MOVTMOD,#0111

MOVTLO,#OCH

MOVTHO,#OFEH

SETBTRO

LOOP:JBCTFO,DONE

SJMPLOOP

DONE:MOVTLO,#OCH

MOVTHO,#OFEH

CPLPL0

SJMPLOOP

5.應(yīng)用單片機(jī)內(nèi)部定時(shí)器TO工作在方式1下,從P1.0輸出周期為1ms的方波脈沖信號(hào),已

知單片機(jī)的晶振頻率為6MHZo

請(qǐng)(1)計(jì)算時(shí)間常數(shù)X,應(yīng)用公式X=2"—i(f/12)

(2)寫出程序清單

解:解:X=2,<5-t(F/12)

=2,6-0.5*103*6*10712

=FF06H

ORG3000H

START:MOVTMOD,#01H

MOVTLO,#0611

MOVTHO,#FFH

SETBTRO

LOOP:JBCTFO,DONE

SJMPLOOP

DONE:MOVTLO,#06H

MOVTHO,ttFFH

CPLPl.0

SJMPLOOP

三、用89c51的Pl口,監(jiān)測(cè)某一按鍵開關(guān),使每按鍵一次,輸出一個(gè)正脈沖(脈寬隨

意)。編出匯編語(yǔ)言程序。

解:ORG0100H

ABC:SETBP1.0

SETBP1.7

JBPI.7,$

JNBP1.7,$

CLRP1.0

MOVR2,#0

DAY:NOP

NOP

DJNZR2,DAY

SJMPABC

7、設(shè)計(jì)一個(gè)4位數(shù)碼顯示電路,并用匯編語(yǔ)言編程使"8”從右到左顯示一遍。

解:ORG0100H

MOVA,#08H

MOVR2,#01H

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVPl,A

NEXT:MOVA,R2

MOVP3,A

ACALLDAY

JBACC.4,LPD

RLA

MOVR2,A

AJMPNEXT

LPD:RET

TAB:DB

END

8.編制?個(gè)循環(huán)閃爍的程序。有8個(gè)發(fā)光二極管,每次其中某個(gè)燈閃爍點(diǎn)亮10次后,轉(zhuǎn)

到下一個(gè)閃爍10次,循環(huán)不止。畫出電路圖。

解:MOVA,#01H

SHIFT:LCALLFLASH

RR

SJMPSHIFT

FLAH:MOVR2,#0AH

FLAHI:MOVPl,A

LCALLDELAY

MOVP,#00H

LCALLDELAY

DJNZR2,FLASHI

RET

9.在8051單片機(jī)的INTO引腳外接脈沖信號(hào),要求每送來(lái)一個(gè)脈沖,把30H單元值加1,

若30H單元記滿則進(jìn)位31H單元。試?yán)弥袛嘟Y(jié)構(gòu),編制一個(gè)脈沖計(jì)數(shù)程序。

解:ORG0000H

AJMPMAIN

ORG0003H

AJMPSUBG

MAIN:MOVA,#OOH

MOV30H,A

MOV31H,A

MOVSP,#70H

SETBINTO

SETBEA

SETBEXO

AJMP$

ORG0200H

SUBG:PUSHACC

INC30H

MOVA,30H

JNZBACK

INC31H

BACK:POP

RET1

10.利用89C51的Pl口控制8個(gè)發(fā)光俄二極管LED。相鄰的4個(gè)LED為一組,使2組每隔

0。5S交替發(fā)亮一次,周爾復(fù)始。試編寫程序。

解:ORG0100H

MOVA,#0FH

ABC:MOVPl,A

ACALLD05

SWAPA

SJMPABC

D05:MOVR6,250

DY:MOVR7,250

DAY:NOP

NOP

DJNZR6,DAY

DJNZR7,DAY

RET

END

II.設(shè)計(jì)89c51和ADC0809的接口,采集2通道10個(gè)數(shù)據(jù),存入內(nèi)部RAM的50H?59H

單元,畫出電路圖,編出:

(1)延時(shí)方式;

(2)查詢方式;

(3)中斷方式中的一種程序。

解:IN2的地址為7FFAH,P1.0查詢轉(zhuǎn)換結(jié)束信號(hào),查詢程序如下:

ORG0100H

MOVR7,#0AH

MOVRO.#50H

MOVDPTR,#7FFAH

NEXT:MOVX@DPTR,A

JBP1.0,$

MOVXA,@DPTR

MOV@R0,A

INCRO

DJNZNEXT

SJMP$

第五章

5-1選擇題

1、6264芯片是(B)

一、EEPROM(B)RAM(C)FLASHROM(D)EPROM

2、用MCS-51用串行擴(kuò)展并行I/O口時(shí),串行接口工作方式選擇(A)

(A)方式0(B)方式1(C)方式2(D)方式3

3、使用8255可以擴(kuò)展出的I/O口線是(B)

1.16根(B)24根(C)22根(D)32根

4、當(dāng)8。31外出擴(kuò)程序存儲(chǔ)器8KB時(shí),需使用EPROM2716(C)

(1)2片(B)3片(C)4片(D)5片

5、某種存儲(chǔ)器芯片是8KB*4/片,那么它的地址線根線是(C)

⑴11根(B)12根(C)13根(D)14根

6、MCS-51外擴(kuò)ROM,RAM和I/O口時(shí),它的數(shù)據(jù)總線是(A)

(A)P0(B)Pl(C)P2(D)P3

7、當(dāng)使用快速外部設(shè)備時(shí),最好使用的輸入粉出方式是(C)

(A)中斷(B)條件傳送(C)DMA(D)無(wú)條件傳送

8、MCS-51的中斷源全部編程為同級(jí)時(shí),優(yōu)先級(jí)最高的是(D)

(1)INTI(B)TI(C)串行接口(D)INTO

9、MCS-51的并行I/O口信息有兩種讀取方法:一種是讀引腳,還有一種是(A)

(A)讀鎖存器具(B)讀數(shù)據(jù)庫(kù)(C)讀A累加器具(D)讀CPU

10、MCS-51的并行I/O口讀?改?寫操作,是針對(duì)該口的(D)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論