單片機(jī)應(yīng)用技術(shù)張文灼課后復(fù)習(xí)題解答_第1頁
單片機(jī)應(yīng)用技術(shù)張文灼課后復(fù)習(xí)題解答_第2頁
單片機(jī)應(yīng)用技術(shù)張文灼課后復(fù)習(xí)題解答_第3頁
單片機(jī)應(yīng)用技術(shù)張文灼課后復(fù)習(xí)題解答_第4頁
單片機(jī)應(yīng)用技術(shù)張文灼課后復(fù)習(xí)題解答_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 單片機(jī)應(yīng)用技術(shù) 思考與練習(xí)參考答案 主編文灼 機(jī)械工業(yè)第1章 1. 單片機(jī)的含義是什么?其有哪些主要特點(diǎn)? 答:(1)單片機(jī)是指將CPU、存儲器、定時/計(jì)數(shù)器、I/O接口電路和必要的外設(shè)集成在一塊芯片上的微型計(jì)算機(jī),其構(gòu)成一個既小巧又很完善的計(jì)算機(jī)硬件系統(tǒng),實(shí)現(xiàn)微機(jī)的基本功能,早期稱其為單片微型計(jì)算機(jī)SCM,簡稱單片機(jī)。(2)體積小巧、可靠性高、控制功能強(qiáng)、易于擴(kuò)展、低電壓、低功耗、性能價格比優(yōu)異。 2. 簡述單片機(jī)發(fā)展的歷史和其主要技術(shù)發(fā)展方向。 答:發(fā)展歷史如下: (1)低性能8位單片機(jī)階段 約19761978年,以Intel公司的MCS-48系列單片機(jī)為代表。 (2)高性能8位單片機(jī)階

2、段 約19781982年,1978年Motorola公司推出M6800系列單片機(jī),Zilog公司推出Z8系列單片機(jī)。1980年Intel公司推出了高性能的MCS-51系列單片機(jī),并成為此時期的代表機(jī)型。 (3)8位單片機(jī)提高及16位單片機(jī)推出階段 約19821990年,8位機(jī)以MCS-51系列單片機(jī)為代表,同時16位單片機(jī)也有很大發(fā)展,如Intel公司的MCS-96系列單片機(jī)。 (4)單片機(jī)全面發(fā)展階段 約1990至今,目前單片機(jī)正朝著多品種、高速、強(qiáng)運(yùn)算能力、大尋址圍以及小型廉價方向發(fā)展。 發(fā)展趨勢:(1)低功耗CMOS化、(2)低噪聲與高可靠性、(3)存儲器大容量化、(4)高性能化、(5)

3、外圍電路裝化、(6)增強(qiáng)I/O及擴(kuò)展功能。 3. 了解單片機(jī)常用的系列、品種,AT89C51系列單片機(jī)的主要特征是什么? 略。 4. 簡述單片機(jī)程序存儲器和數(shù)據(jù)存儲器的區(qū)別與類別。 答: (1)區(qū)別:程序存儲器用來存放單片機(jī)的應(yīng)用程序及運(yùn)行中的常數(shù)數(shù)據(jù),數(shù)據(jù)存儲器用于暫存運(yùn)行期間的數(shù)據(jù)、現(xiàn)場采集的原始數(shù)據(jù)、中間結(jié)果、運(yùn)算結(jié)果、緩沖和標(biāo)志位等臨時數(shù)據(jù)。 (2)程序存儲器類別:1)掩膜ROM、2)可編程只讀存儲器PROM、3)紫外線擦除可編程只讀存儲器EPROM、4)電擦除可編程E2PROM、5)快閃存儲器 (3)數(shù)據(jù)存儲器類別:RAM按器件制造工藝不同分為兩類,分別為雙極型RAM和MOS型RAM

4、。MOS隨機(jī)存儲器按信息存儲的方式又分為靜態(tài)RAM和動態(tài)RAM兩種 5. 簡述單片機(jī)應(yīng)用系統(tǒng)開發(fā)的基本方法。 答:(1)在線仿真開發(fā) 首先利用仿真機(jī)提供給用戶的系統(tǒng)軟硬件進(jìn)行設(shè)計(jì)調(diào)試(稱仿真),然后試運(yùn)行,若滿足設(shè)計(jì)要求,則程序設(shè)計(jì)完成,不滿足則繼續(xù)在仿真機(jī)中修改;程序調(diào)試好后,取下仿真機(jī),將程序固化到用戶系統(tǒng)的單片機(jī)程序存儲器并將單片機(jī)插入用戶插座,開發(fā)結(jié)束。一般的仿真器自帶程序固化功能,也可使用單獨(dú)的編程器固化。 (2)離線仿真開發(fā) 對于接口電路較多的系統(tǒng),又無實(shí)時在線開發(fā)設(shè)備,可先設(shè)計(jì)好硬件電路做好印制板或搭接好線路,在PC機(jī)的仿真軟件中設(shè)計(jì)好程序,利用一個簡易編程器即可將程序固化到單片

5、機(jī)芯片,然后將單片機(jī)直接插入硬件電路中試運(yùn)行,如有問題,拔下單片機(jī)重新固化修改后的程序,如此反復(fù),直至成功。 (3)ISP開發(fā) 對于可在系統(tǒng)編程的單片機(jī)(如AT89S系列),可利用其串口對部的程序存儲器進(jìn)行編程,不需要編程器。單片機(jī)可以直接焊接到電路板上,同PC機(jī)連機(jī)后,通過ISP程序可將用戶事先編好的程機(jī)上修改程序重新下載,調(diào)試結(jié)束即PC序直接寫入片程序存儲器中,然后運(yùn)行調(diào)試,有問題然后在為成品。 6. 將下列二進(jìn)制和十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。 (1)11011B (2)0.01B (3)10111011B (4)EBH 答:(1)27 (2)0.25 (3)187 (4)235 7. 將下

6、列十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制和十六進(jìn)制數(shù)。 (1)255 (2)127 (3)0.90625 (4)5.1875 答:(1)11111111B、FFH (2)01111111B、7FH (3)0.11101B、0.E8H (4)101.0011B、5.3H 8. 機(jī)器數(shù)、真值、原碼、反碼和補(bǔ)碼如何表示? 答: (1)在計(jì)算機(jī)中使用的連同符號位一起數(shù)字化的數(shù),稱為機(jī)器數(shù),機(jī)器數(shù)所表示的真實(shí)值則稱為真值。 (2)對有符號數(shù),機(jī)器數(shù)常用的表示方法有原碼、反碼、補(bǔ)碼三種。1)原碼最高位為符號位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大?。?)反碼規(guī)定正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼逐位取反

7、,但符號位除外。3)正數(shù)的補(bǔ)碼與其原碼相同;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。 9. 設(shè)計(jì)器字長為8位,求下列數(shù)值的二、十六進(jìn)制原碼、反碼和補(bǔ)碼。 (1)+0 (2)-0 (3)+33 (4)-33 (5)-127 答: (1)+0= +0=+0=00000000 B=00H 補(bǔ)原反(2) -0= 00000000 B 原-0= 11111111 B 反-0= 00000000 B 補(bǔ)(3)+33= +33=+33=00100001 B=21H 補(bǔ)原反(4) -33= 10100001 B=A1H 原-33= 11011110 B=DEH 反-33= 11011111 B=DEH 補(bǔ)(5) -1

8、27= 11111111 B=FFH 原-127= 10000000 B=80H 反-127= 10000001 B=81H 補(bǔ)10. 把下列數(shù)看成無符號數(shù)時,對應(yīng)的十進(jìn)制數(shù)為多少?若把其看成有符號數(shù)的補(bǔ)碼,對應(yīng)的十進(jìn)制數(shù)是多少? (1)10100001 B (2)10000000B 答:看做無符號數(shù)時:(1)161(2)128;看做有符號數(shù)時:(1)-33(2)-127 11. 若要訪問片外32KB的存儲空間,假設(shè)每個存儲單元是一個字節(jié),計(jì)算需要多少根地址線。 答:15根。 第2章 1. MCS-51型單片機(jī)由哪些單元組成?各自的功能是什么? 答:(1)8位的CPU CPU是89C51單片機(jī)

9、的核心,完成運(yùn)算和控制功能,一次能處理8位二進(jìn)制數(shù)或代碼; (2)256B的部RAM 部RAM能作為寄存器供用戶使用的只是前128個單元,用于存放可讀寫的臨時數(shù)據(jù),其中后128個單元被專用寄存器占用; (3)4KB的部Flash ROM 簡稱部ROM,存放程序、原始數(shù)據(jù)或表格數(shù)據(jù); (4)2個16位的定時/計(jì)數(shù)器T0/T1 89C51共有2個16位的定時/計(jì)數(shù)器,以實(shí)現(xiàn)定時或計(jì)數(shù)功能,并以其定時或計(jì)數(shù)結(jié)果對計(jì)算機(jī)進(jìn)行控制; (5)4個8位并行I/O口 分別為P0、P1、P2、P3,實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出; (6)1個全雙工的串行口 實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送; (7)5個中斷源 包

10、括2個外部中斷,2個定時/計(jì)數(shù)中斷,1個串行口發(fā)送/接收中斷; (8)片時鐘振蕩電路 89C51芯片允許的晶振頻率一般為124MHz。 2. MCS-51型單片機(jī)控制線有幾根?每一根控制線的作用是什么? 答:控制線有4條,功能如下: PROG 地址鎖存控制信號。在系統(tǒng)擴(kuò)展時,ALE輸出的信號用于控制把1()P0ALE/口輸出的低8位地址鎖存器鎖存起來,配合P0口引腳的第二功能使用,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離。正常操作時因能按晶振頻率1/6的固定頻率,從ALE端發(fā)出正脈沖信號,所以有時可以加以利用, PROG是對片程但應(yīng)注意,每次訪問外部數(shù)據(jù)存儲器時,會少輸出一個ALE脈沖。此引腳第二功能序存儲

11、器固化程序時,作為編程脈沖輸入端。 外部程序存儲器讀選通信號。在讀外部程序存儲器時有效,發(fā)出低電平,) (2ENPSENPS可以用作對外部程序存儲器的讀操作選通信號。 信號為低電平時(=0),訪問程序存儲控制信號。當(dāng)CPU只執(zhí)行外部程(3/Vpp )EAEAEA 信號為高電平時(=1),則序存儲器指令;而當(dāng)CPU優(yōu)先從部程序存儲器執(zhí)行指令,并可自EAEA22動延至外部程序存儲器單元。對于EPROM型單片機(jī)(89C51)或EPROM型單片機(jī)(8751),在EPROM或EPROM編程期間,第二功能Vpp引腳用于施加一個+12V或+21V電源。 (4)RST/Vpd RST是復(fù)位信號輸入端,當(dāng)RST

12、端輸入的復(fù)位信號延續(xù)2個機(jī)器周期以上高電平,單片機(jī)完成復(fù)位初始化操作;第二功能V是備用電源引入端,當(dāng)電源發(fā)生故障電壓降低到下pd限值時,備用電源經(jīng)此端向部RAM提供電壓,以保護(hù)部RAM中的信息不丟失。 3. 何為單片機(jī)最小應(yīng)用系統(tǒng)? 答:單片機(jī)最小應(yīng)用系統(tǒng)是指能使單片機(jī)獨(dú)立工作運(yùn)行的盡可能少的電路連接。 4. 時鐘電路的作用是什么? 答:時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,唯一的時鐘信號控制下的時序可以保證單片機(jī)各部件的同步工作。 5. 簡述89C51的4個并行I/O端口的功能。 答: 89C51的并行I/O口為單片機(jī)與外部器件或設(shè)備進(jìn)行信息交換提供了多功能的輸入/輸出通道,是單片機(jī)擴(kuò)

13、展外部功能、構(gòu)成單片機(jī)應(yīng)用系統(tǒng)的重要物理基礎(chǔ)。 4個I/O口都具有字節(jié)尋址和位尋址功能,每一位均可作為雙向的通用I/O功能使用,具體如下: (1)P0口為雙功能8位并行I/O口??勺魍ㄓ脭?shù)據(jù)I/O端口使用;在訪問片外擴(kuò)展的存儲器時,又可作地址/數(shù)據(jù)總線分時傳輸?shù)?位地址和8位數(shù)據(jù)。 (2)P1口為單一功能的并行I/O口,只用作通用的數(shù)據(jù)I/O端口。 端口使用,又可在訪問片外擴(kuò)展的存I/O口??勺魍ㄓ脭?shù)據(jù)I/O位并行8口為雙功能P2)3(儲器時用作高8位地址總線。 (4)P3口為雙功能8位并行I/O口,第一功能是通用數(shù)據(jù)I/O端口,還有第二功能。 6. P3口的第二功能是什么? 答: 引名功能注

14、引名功能注定計(jì)數(shù)外部輸P3.0P3.4RXDT0串行數(shù)據(jù)接定串行數(shù)據(jù)發(fā)計(jì)數(shù)TXDT1外部輸P3.5P3.1外RA寫選P3.2外部中申P(guān)3.6INW P3.3 外部中斷讀選通外部RAM 1申請 P3.7 1INTRD 7. 對于任務(wù)3,編寫程序?qū)崿F(xiàn)監(jiān)視開關(guān)K1,如果開關(guān)K1合上,L1滅,開關(guān)K1打開,L1亮。 答: ORG 0000H START:JB P3.0,L1 SETB P1.0 SJMP START L1:CLR P1.0 SJMP START END 8. MCS-51型單片機(jī)片RAM的組成是如何劃分的,各有什么功能? 略,見課本2.6.2。 9. MCS89C51 單片機(jī)有多少個特

15、殊功能寄存器?其分布在何地址圍? 略,見課本2.6.2。 10. DPTR是什么寄存器?其作用是什么?其是由哪幾個寄存器組成? 答:DPTR主要是用來保存16位地址,編程時,DPTR既可以按16位寄存器使用,也可以按兩個8位寄存器(DPH、DPL)分開使用。 11. 簡述程序狀態(tài)寄存器PSW各位的含義。單片機(jī)如何確定和改變當(dāng)前的工作寄存器區(qū)? 略,見課本2.6.2。 12. 什么是堆棧?堆棧指示器SP的作用是什么?在堆棧中存取數(shù)據(jù)時的原則是什么? 答: (1)堆棧是一個特殊的存儲區(qū),設(shè)在部RAM中,用來暫存數(shù)據(jù)和地址,按“先進(jìn)后出”的原則存取數(shù)據(jù)。堆棧有入棧和出棧兩種操作,用SP作為堆棧指針。

16、 (2)系統(tǒng)復(fù)位后SP的容為07H,使得堆棧實(shí)際上從08H單元開始。如果需要改變,用戶可以通過指令在00H-7FH中任意選擇。但08H1FH單元分別屬于工作寄存器13區(qū),如程序中要用到這些區(qū),則最好把SP值改為1FH或更大的值,堆棧最好在部RAM的30H7FH單元中開辟。SP的容一經(jīng)確定,堆棧的底部位置即確定,由于SP可用指令初始化為不同值,因此堆棧底部位置是不確定的,棧頂最大可為7FH單元。 13. MCS-51型單片機(jī)ROM空間中,0003H002BH有什么用途?用戶應(yīng)怎樣合理安排? 答:0003H002AH,共40個單元,這40個單元被均勻地分為五段,作為五個中斷源的中斷地址區(qū)。程序存儲

17、器特殊功能存儲單元如下表所示。 地址 功能 程序執(zhí)行起始地址 0000H 外部中斷0000AH 0003H中斷服務(wù)程序地址起止區(qū) 定時/計(jì)數(shù)器000BH0012H 0中斷服務(wù)程序地址起止區(qū) 中斷服務(wù)程序地址起止區(qū)1外部中斷001AH 0013H 001BH0022H 定時/計(jì)數(shù)器1中斷服務(wù)程序地址起止區(qū) 串行口發(fā)送/0023H002AH 接收中斷服務(wù)程序地址起止區(qū) 14. P0P3口作為輸入口時,有何要求? 答:4個端口都稱為“準(zhǔn)雙向口”,不是真正的雙向口,必須將位鎖存器置“1”后,才可以讀入正確信息。 15. 畫出MCS-51型單片機(jī)時鐘電路,并指出石英晶體和電容的取值圍。 答:一般電容C1

18、和C2取30pF左右,晶體振蕩頻率圍是1.2MHz24MHz。 a)部時鐘 b)外部時鐘 16. 什么是機(jī)器周期?機(jī)器周期和時鐘頻率有何關(guān)系?當(dāng)時鐘頻率為6 MHz時,機(jī)器周期是多少時間? 答:單片機(jī)晶振芯片每秒振蕩的次數(shù)稱為時鐘頻率,振蕩一次所需時間稱為振蕩周期。12個振s。時,機(jī)器周期是2 蕩周期是一個機(jī)器周期。時鐘頻率為6 MHz17. MCS-51型單片機(jī)常用的復(fù)位方法有幾種?畫出電路圖。 答:單片機(jī)常見的復(fù)位電路包括上電復(fù)位電路和按鍵復(fù)位電路。如下圖所示。 VCCVCC VCCVCC22uF22uFMCS-51MCS-51RESETRESETR1RESET1K200R21KVSSVS

19、S a)上電復(fù)位電路 b)按鍵復(fù)位電路 第3章 1. MCS-51單片機(jī)的指令有哪些尋址方式? 答:(1)立即尋址 (2)直接尋址 (3)寄存器尋址 (4)寄存器間接尋址 (5)基址+變址間接尋址 (6)相對尋址(7)位尋址 2. 分析下面指令中源操作數(shù)的尋址方式。 (1)MOV A, #0FH (2)MOV A,00H (3)MOV A,R1 (4)MOV A,R1 (5)MOVC A, A+DPTR (6)JC 80H (7)MOV C,20H (8)MOVX A,R1 答: (1)MOV A, #0FH 立即尋址 (2)MOV A, 00H 直接尋址 (3)MOV A,R1 寄存器尋址

20、(4)MOV A,R1 寄存器間接尋址 (5)MOVC A, A+DPTR 基址+變址間接尋址 (6)JC 80H 相對尋址 位尋址20H ,MOV C)7(8)MOVX A,R1 寄存器間接尋址 3. MCS-51單片機(jī)指令系統(tǒng)按功能分哪為幾類? 答: (1)數(shù)據(jù)傳送指令 (2)數(shù)據(jù)交換指令 (3)算術(shù)運(yùn)算類指令 (4)邏輯運(yùn)算類指令 (5)控制轉(zhuǎn)移類指令 (6)位操作指令 4. 在“MOVC A,A+DPTR”和“MOVC A,A+PC”中,分別使用了DPTR和PC作基址,請問這兩個基址代表什么地址?使用中有何不同? 答: 使用A+DPTR基址變址尋址時,DPTR為常數(shù)且是表格的首地址,A

21、為從表格首址到被訪問字節(jié)地址的偏移量。使用A+PC基址變址尋址時,PC仍是下條指令首地址,而A則是從下條指令首地址到常數(shù)表格中的被訪問字節(jié)的偏移量。 5. 用指令實(shí)現(xiàn)以下數(shù)據(jù)傳送過程。 (1)R1的容送R0 (2)片RAM20H單元的容送R1 (3)片外RAM20H單元的容送片20H單元 (4)片外RAM1000H單元的容送片RAM20H單元 (5)程序存儲器2000H單元的容送R0 (6)程序存儲器2000H單元的容送片RAM20H單元 (7)程序存儲器2000H單元的容送片外RAM20H單元 答: (1)R1的容送R0 MOV A,R1 MOV R0,A (2)片RAM20H單元的容送R1

22、 MOV R1,20H (3)片外RAM20H單元的容送片20H單元 MOV R0,#20H MOV P0,#0H MOVX A,R0 MOV 20H,A (4)片外RAM1000H單元的容送片RAM20H單元 MOV DPTR,#2000H MOVX A,DPTR MOV 20H,A (5)程序存儲器2000H單元的容送R0。 MOV A,#0H MOV DPTR,#2000H MOVC A,A+DPTR MOV R0,A 單元。RAM20H單元的容送片2000H)程序存儲器6( MOV A,#0H MOV DPTR,#2000H MOVC A,A+DPTR MOV 20H,A (7)程序存

23、儲器2000H單元的容送片外RAM20H單元。 MOV A,#0H MOV DPTR,#2000H MOVC A,A+DPTR MOV DPTR,#20H MOVX DPTR,A 6. 用直接地址尋址方式、寄存器間接尋址方式、字節(jié)交換法和堆棧傳遞法等4種方法將部RAM30H與31H單元的數(shù)據(jù)交換。 答: 1. MOV A,30H MOV 30H,31H MOV 31H,A 2. MOV R0,#30H MOV A,R0 MOV R1,A MOV R0,#31H MOV A,R0 MOV R0,#30H MOV R0,A MOV R0,#31H MOV A,R1 MOV R0,A 3. MOV

24、A,30H XCH A,31H MOV 30H,A 4. PUSH 30H PUSH 31H POP 30H POP 31H 7. 片RAM 20H2FH單元中的128個位地址與直接地址00H7FH形式完全相同,如何在指令中區(qū)分出位尋址操作和直接尋址操作? 答: 雖然部RAM位尋址區(qū)的位地址圍00H7FH與低128個單元的單元地址圍00H7FH形式完全相同,但是在應(yīng)用中可以通過指令的類型區(qū)分單元地址和位地址。 位尋址的操作只適用于下列位指令,而直接尋址操作對這些指令是無效的。 MOV C,bit MOV bit,C CLR bit SETB bit CPL bit ANL C,bit ANL

25、C,/bit JB bit,rel JNB bit,rel 8. 編寫一段程序,將片RAM30H單元的容與片外RAM30H單元的數(shù)據(jù)交換。 答: MOV DPTR,#30H MOVX A,DPTR MOV R1,A MOV A,30H MOVX DPTR,A MOV 30H,R1 9. 設(shè)堆棧指針(SP)=60H,片RAM中的(30H)=24H,(31H)=10H。執(zhí)行下列程序段后,61H,62H,30H,31H,DPTR及SP中的容將有何變化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H, #00H MOV 31H, #0FFH 答: 結(jié)果為:(61H

26、)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H 10. 說明無條件轉(zhuǎn)移指令A(yù)JMP、SJMP、LJMP和JMP的功能和應(yīng)用場合。 答: AJMP為2KB地址圍的的轉(zhuǎn)移指令; SJMP為相對轉(zhuǎn)移指令,本指令首地址加上偏移量加上2為跳轉(zhuǎn)到的位置; LJMP為64KB程序存儲空間的全圍轉(zhuǎn)移指令,轉(zhuǎn)移的地址可為16位地址中的任意值; JMP 間接轉(zhuǎn)移指令。 11. 設(shè)部RAM(30H)=#5AH,(5AH)=#40H,(40H)=#00H,(P1)=#7FH,問連續(xù)執(zhí)行下列指令后,各有關(guān)存儲單元(即R0,R1,A,B,P1,30H,

27、40H及5AH單元)的容如何? MOV R0,#30H MOV A,R0 MOV R1,A MOV B,R1 MOV R1,P1 MOV A,P1 MOV 40H,#20H MOV 30H,40H 答: MOV R0,#30H ;R0=30H MOV A,R0 ;A=5AH MOV R1,A ;R1=5AH MOV B,R1 ;B=5AH MOV R1,P1 ;(5AH)=7FH MOV A,P1 ;A=7FH MOV 40H,#20H ;(40H)=20H MOV 30H,40H ;(30H)=20H 12. 編制一程序,查找部RAM202FH單元中是否有數(shù)據(jù)0AAH。若有,則將30H單元置

28、為01H,否則將30H單元清0。 答: ORG 0000H START: MOV R0,#20H MOV R2,#10H MOV 30H,#00H AGN: MOV A,R0 SUBB A,#0AAH JZ K DJNZ R2,AGN JMP K1 K: MOV 30H,#01H K1: JMP $ END 13. 片RAM40H開始的單元有10個二進(jìn)制數(shù),編程找出其中最大值并存于50H單元中 答: START:MOV R0,#40H ;數(shù)據(jù)塊首地址送R0 MOV R7,#09H ;比較次數(shù)送 MOV A,R0 ;取數(shù)送 LOOP:INC R0 MOV 30H,R0 ;取數(shù)送H CJNE A,

29、30H,NEHT ;(A)與(30H)相比 NEXT:JNC BIE1 (A)(30H)轉(zhuǎn)BIR1 MOV A,30H ;(A)(30H),大數(shù)送A BIE1:DJNZ R7,LOOP ;比較次數(shù)減1,不為0,繼續(xù)比較 MOV 50H,A ;比較結(jié)束,大數(shù)送50H RET 14. 編制一個循環(huán)閃爍燈的程序,畫出電路圖。在P0口接有8個發(fā)光二極管,要求每次其中某個燈閃爍點(diǎn)亮10次后,轉(zhuǎn)到下一個閃爍10次,循環(huán)不止。 答: 5V D0 Q0 P1.0 89C51 74LS240 D7 Q7 P1.7 本程序的硬件連接如圖所示。當(dāng)P1.0燈亮,否則不亮。其程序如下:LED輸出高電平時, ;燈亮初值

30、MOV A,#01H SHIFT:LCAIL FLASH ;調(diào)閃亮10次子程序 RR A ;右移一位 SJMP SHIFT ;循環(huán) FLASH:MOV R2,#0AH ;閃爍10次計(jì)數(shù) FLASH1:MOV P1,A ;點(diǎn)亮 LCALL DELAY ;延時 MOV P1,#00H ;熄滅 LCALL DELAY ;延時 DJNZ R2,FLASH1 ;循環(huán) RET 15. 編程實(shí)現(xiàn)如下操作,不得改變未涉及到的位的容。 (1)使累加器A的最高位置“1” (2)對累加器A高4位取反 (3)清除A.3、A.4、A.5 (4)使A.4、A.5、A.2置“1” 答:(1)SETB ACC.7 (2)XR

31、L A, #0F0H (3)ANL A, 11000111B (4)ORL A, 00110100B 16. 單項(xiàng)選擇題,從四個備選項(xiàng)中選擇正確的選擇。 (1)89C51匯編語言指令格式中,唯一不可缺少的部分是 。 A標(biāo)號 B操作碼 C操作數(shù) D注釋 (2)89C51的立即尋址方式中,立即數(shù)前面 。 A應(yīng)加前綴“/:”號 B不加前綴號 C應(yīng)加前綴“”號 D應(yīng)加前綴“#”號 (3)下列完成89C51單片機(jī)部數(shù)據(jù)傳送的指令是 。 AMOVX A,DPTR BMOVC A, A+PC CMOV A,#data DMOV dir,dir (4)89C51的立即尋址的指令中,立即數(shù)就是 。 A放在寄存器

32、R0中的容 B放在程序中的常數(shù) C放在A中的容 D放在B中的容 (5)單片機(jī)中PUSH和POP指令常用來 。 A保護(hù)斷點(diǎn) B保護(hù)現(xiàn)場 C保護(hù)現(xiàn)場,恢復(fù)現(xiàn)場 D保護(hù)斷點(diǎn),恢復(fù)斷點(diǎn) (6)89C51尋址方式中,操作數(shù)Ri加前綴“”號的尋址方式是 。 A寄存器間接尋址 B寄存器尋址 C基址加變址尋址 D立即尋址 (7)執(zhí)行指令MOVX A,DPTR時,、腳的電平為 。 A高電平,高電平 B低電平,高電平 C高電平,低電平 D低電平,低電平 (8)下列指令判斷若P1口最低位為高電平就轉(zhuǎn)LP,否則就執(zhí)行下一句的是 。 AJNB P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P

33、1.0,LP (9)下列指令中比較轉(zhuǎn)移指令是指 。 ADJNZ Rn,rel BCJNE Rn,#data,rel CDJNZ dir,rel DJBC bit,rel (10)指令MOV R0, 20H執(zhí)行前(R0)=30H,(20H)=38H,執(zhí)行后(R0)= 。 A20H B30H C50H D38H (11)執(zhí)行如下三條指令后,30H單元的容是 。 MOV R1,#30H MOV 40H,#0EH MOV R1,40H FFH 30H D0EH C40H BA(12)89C51單片機(jī)在執(zhí)行MOVX A,DPTR或MOVC A,A+DPTR指令時,其尋址單元的地址是由 。 AP0口送高8

34、位,P1口送高8位 BP0口送低8位,P2口送高8位 CP0口送低8位,P1口送低8位 DP0口送高8位,P1口送低8位 (13)在89C51指令中,下列指令中 是無條件轉(zhuǎn)移指令。 ALCALL addr16 BDJNZ dir,rel CSJMP rel DACALL addr11 (14)設(shè)A=AFH (20H)=81H,指令:ADDC A, 20H執(zhí)行后的結(jié)果是 。 AA=81H BA=30H CA=AFH DA=20H (15)將部數(shù)據(jù)存儲單元的容傳送到累加器A中的指令是 。 AMOVX A,R0 BMOV A, #data CMOV A,R0 DMOVX A, DPTR (16)下列

35、指令執(zhí)行時,修改PC中容的指令是 。 ASJMP BLJMP CMOVC A, A+PC DLCALL (17)已知:A=D2H,(40H)=77H,執(zhí)行指令:ORL A,40H后,其結(jié)果是: 。 AA=77H BA=F7H CA=D2H D以上都不對 (18)指令MUL AB 執(zhí)行前(A)=18H ,(B)=05H,執(zhí)行后,A、B的容是 。 A90H,05H B90H,00H C78H,05H D78H,00H (19)89C51指令系統(tǒng)中,清0指令是 。 ACPL A BRLC A CCLR A DRRC A (20)89C51指令系統(tǒng)中,指令A(yù)DDC A,R0 執(zhí)行前(A)=38H,(R

36、0)=30H,(30H)=FOH,(C)=1 執(zhí)行后,其結(jié)果為 。 A(A)=28H (C)=1 B(A)=29H (C)=1 C(A)=68H (C)=0 D(A)=29H (C)=0 (21)下列指令能能使累加器A低4位不變,高4位置F的是 。 AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H (22)下列指令判斷若P1口的最低位為低電平就轉(zhuǎn)LP,否則就執(zhí)行下一句的是 。 AJNB P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P1.0,LP (23)89C51指令系統(tǒng)中,指令DA A應(yīng)跟在 。 A加法指令后 B

37、BCD碼的加法指令后 C減法指令后 DBCD碼的減法指令后 (24)執(zhí)行下列程序后,累加器A的容為 。 ODG 0000H MOV A,#00H ADD A,#02H MOV DPDR,#0050H MOVC A,A+DPDR MOV R0,A SJMP $ ORG 0050H BAO:DB 00H,08H,0BH,06H,09H,0CH END A00H B0BH C06H D0CH (25)指令MOV R0,#20H執(zhí)行前(R0)=30H,(20H)=38H,執(zhí)行后(R0)= 。 A00H B20H C30H D38H 答: 25 24 23 22 21 20 19 18 17 16 15

38、 14 13 12 11 10 9 8 7 6 5 4 3 2 1 B D C B C A C B B B D A B C B C C B D C A A B B B 第4章 1. 何為偽指令?其作用是什么? 答:偽指令不屬于指令集之中的指令,但具有和指令類似的形式,其作用是對匯編過程進(jìn)行某種控制或提供某些匯編信息,不產(chǎn)生可執(zhí)行的目標(biāo)代碼。 2. 89C51常用的匯編語言偽指令有哪些? 各自的作用是什么? 答:見課本4.1.2。 3. 程序設(shè)計(jì)的幾種基本結(jié)構(gòu)是什么? 答:任何匯編語言源程序都可由順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及子程序結(jié)構(gòu)組成。 4. 匯編語言程序設(shè)計(jì)分哪幾個步驟?每個步驟的主要任

39、務(wù)是什么? 答: (1)題意分析 熟悉并了解匯編語言指令的基本格式和主要特點(diǎn),明確被控對象對軟件的要求,設(shè)計(jì)出算法等。 (2)畫出程序流程圖 程序流程圖也稱為程序框圖,是根據(jù)控制流程設(shè)計(jì)的,其可以使程序清晰,結(jié)構(gòu)合理,按照基本結(jié)構(gòu)編寫程序,便于調(diào)試。編寫較復(fù)雜的程序,畫出程序流程圖是十分必要的。 (3)分配存工作區(qū)及有關(guān)端口地址 分配存工作區(qū),根據(jù)程序區(qū)、數(shù)據(jù)區(qū)、暫存區(qū)、堆棧區(qū)等預(yù)計(jì)所占空間大小,對片外存儲區(qū)進(jìn)行合理分配并確定每個區(qū)域的首地址,便于編程使用。 (4)編制匯編源程序。 (5)仿真調(diào)試程序并不斷修正。 5. 編寫匯編語言程序?qū)崿F(xiàn)功能:利用89C51的P1口,監(jiān)測某一按鍵開關(guān),使每按

40、鍵一次,輸出一個正脈沖(脈寬隨意)。 答: ORG 0100H ABC:SETB P1.0 SETB P1.7 JB PI.7,$ JNB P1.7,$ CLR P1.0 MOV R2,#0 DAY: NOP NOP DJNZ R2,DAY SJMP ABC 6. 設(shè)有兩個4位BCD碼,分別存放在片RAM的23H,22H單元和33H,32H單元中,求它們的和,并送入43H,42H單元中去。(以上均為低位字節(jié),高位在高字節(jié))。 答: ORG 0000H LJMP START 0030H ORG START:MOV A,22H ADD A,32H DA A MOV 42H,A MOV A,23H

41、ADDC A,33H DA A MOV 43H,A SJMP $ END 7. 編程計(jì)算片RAM區(qū)30H37H的8個單元中數(shù)的算術(shù)平均值,結(jié)果存在3AH單元中。 答: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R0,#30H MOV R1,#00H MOV R2,#00H MOV R3,#07H LP2:MOV A,R0 ADD A,R2 MOV R2,A JNC LP1 INC R1 LP1: INC R0 DJNZ R3,LP2 MOV R3,#03H LP3: CLR C MOV A,R1 RRC A MOV R1,A MOV A,R2 RRC A

42、MOV R2,A DJNZ R3,LP3 MOV 3AH,R2 SJMP $ END 8. 試編寫程序?qū)崿F(xiàn):利用89C51的P1口控制8個發(fā)光LED,相鄰的4個LED為一組,使2組每隔0.5s交替發(fā)亮一次,周爾復(fù)始。 答: ORG 0100H MOV A,#0FH ABC: MOV P1,A ACALL D05 SWAP A SJMP ABC D05:MOV R6,250 DY: MOV R7,250 DAY:NOP NOP DJNZ R6,DAY DJNZ R7,DAY RET END 9. 編寫子程序START,實(shí)現(xiàn)將片RAM 30H單元開始的15個的數(shù)據(jù)傳送到片外RAM3000H開始的單

43、元中去。 解: STRAT:MOV R0,#30H MOV R7,#0FH MOV DPTR,#3000H LOOP: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,LOOP RET 第5章 1. 什么是中斷?單片機(jī)采用中斷有什么好處? 答: 在單片機(jī)中,當(dāng)CPU在執(zhí)行程序時,由單片機(jī)部或外部的原因引起的隨機(jī)事件要求CPU暫時停止正在執(zhí)行的程序,而轉(zhuǎn)向執(zhí)行一個用于處理該隨機(jī)事件的程序,處理完后又返回被中止的程序斷點(diǎn)處繼續(xù)執(zhí)行,這一過程稱為中斷。 單片機(jī)在某一時刻只能處理一個任務(wù),當(dāng)多個任務(wù)同時要求單片機(jī)處理時,由于資源有限,因此就可能出現(xiàn)資源競爭的局

44、面,即幾項(xiàng)任務(wù)來爭奪一個CPU。而中斷技術(shù)就是解決資源競爭的有效方法,采用中斷技術(shù)可以使多項(xiàng)任務(wù)共享一個資源。 2. T0用做定時器,以方式0工作,定時10ms,單片機(jī)晶振頻率為6MHZ,請計(jì)算定時初值。 答: 13Taf -/根據(jù)公式 )=12(2osc1313 fT/12=2-5000=3192 a=2得-osc3. 單項(xiàng)選擇題,從四個備選項(xiàng)中選擇正確的選擇。 (1)89C51單片機(jī)的定時器T1用作定時方式時是 。 A由部時鐘頻率定時,一個時鐘周期加1 B由部時鐘頻率定時,一個機(jī)器周期加 1 C由外部時鐘頻率定時,一個時鐘周期加1 1 由外部時鐘頻率定時,一個機(jī)器周期加D(2)89C51單

45、片機(jī)的定時器T0用作計(jì)數(shù)方式時是 。 A由部時鐘頻率定時,一個時鐘周期加1 B由部時鐘頻率定時,一個機(jī)器周期加1 C由外部計(jì)數(shù)脈沖計(jì)數(shù),下降沿加1 D由外部計(jì)數(shù)脈沖計(jì)數(shù),一個機(jī)器周期加1 (3)89C51單片機(jī)的定時器T1用作計(jì)數(shù)方式時計(jì)數(shù)脈沖是 。 A外部計(jì)數(shù)脈沖由T1(P3.5)輸入 B外部計(jì)數(shù)脈沖由部時鐘頻率提供 C外部計(jì)數(shù)脈沖由T0(P3.4)輸入 D由外部計(jì)數(shù)脈沖計(jì)數(shù) (4)89C51單片機(jī)的機(jī)器周期為2s,則其晶振頻率fosc為 MHz. A1 B 2 C6 D12 (5)用89C51的定時器T1作定時方式,用模式1,則初始化編程為 。 AMOV TOMD,#01H BMOV TO

46、MD,#50H CMOV TOMD,#10H DMOV TCON,#02H (6)用89C51的定時器,若用軟啟動,應(yīng)使TOMD中的 。 AGATE位置1 BC/T位置 1 CGATE位置0 DC/T位置0 (7)啟動定時器1開始定時的指令是 。 ACLR TR0 BCLR TR 1 CSETB TR0 DSETB TR1 (8)使89C51的定時器T0停止計(jì)數(shù)的指令是 。 ACLR TR0 BCLR TR 1 CSETB TR0 DSETB TR1 (9)下列指令判斷若定時器T0計(jì)滿數(shù)就轉(zhuǎn)LP的是 。 AJB T0,LP BJNB TF0,LP CJNB TR0, LP DJB TF0,LP (10)下列指令判斷若定時器T0未計(jì)滿數(shù)就原地等待的是 。 AJB T0,$ BJNB TF0,$ CJNB TR0,$ DJB TF0,$ (11)當(dāng)CPU響應(yīng)定時器T1的中斷請求后,程序計(jì)數(shù)器PC的容是 。 A0003H B000BH C00013H D001BH (12)當(dāng)CPU響應(yīng)外部中斷0的中斷請求后,程序計(jì)數(shù)器PC的容是 。 A0003H B000BH C00013H D001BH (13)89C51單片機(jī)在同一級別里除串行口外,級別最低的中斷源是 。 A外部中斷1 B定時器T 0 C定時器T1 D串行口 (14)當(dāng)外部中斷0發(fā)出中斷請求后,中斷響應(yīng)的條件

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論