單片機(jī)原理及應(yīng)用第三版(張毅剛)1-6章全_第1頁
單片機(jī)原理及應(yīng)用第三版(張毅剛)1-6章全_第2頁
單片機(jī)原理及應(yīng)用第三版(張毅剛)1-6章全_第3頁
單片機(jī)原理及應(yīng)用第三版(張毅剛)1-6章全_第4頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.第 1 章思考題及習(xí)題 1 參考答案一、填空1.除了單片機(jī)這一名稱之外,單片機(jī)還可稱為或。答:微控制器,嵌入式控制器 .2.單片機(jī)與普通微型計算機(jī)的不同之處在于其將、和三部分,通過內(nèi)部連接在一起,集成于一塊芯片上。答: CPU、存儲器、 I/O 口、總線3. AT89S52單片機(jī)工作頻率上限為MHz 。 答: 33 MHz 。4.專用單片機(jī)已使系統(tǒng)結(jié)構(gòu)最簡化、軟硬件資源利用最優(yōu)化,從而大大降低和提高。答:成本,可靠性。二、單選1. 單片機(jī)內(nèi)部數(shù)據(jù)之所以用二進(jìn)制形式表示,主要是A 為了編程方便B 受器件的物理性能限制C為了通用性D 為了提高運(yùn)算速度答: B2. 在家用電器中使用單片機(jī)應(yīng)屬于微計

2、算機(jī)的。A 輔助設(shè)計應(yīng)用B測量、控制應(yīng)用C數(shù)值計算應(yīng)用D 數(shù)據(jù)處理應(yīng)用答: B3. 下面的哪一項(xiàng)應(yīng)用,不屬于單片機(jī)的應(yīng)用范圍。A 工業(yè)控制B家用電器的控制C數(shù)據(jù)庫管理D汽車電子設(shè)備答: C可編輯.三、判斷對錯1. STC 系列單片機(jī)是 8051 內(nèi)核的單片機(jī)。 對2. AT89S52 與 AT89S51 相比,片內(nèi)多出了 4KB 的 Flash 程序存儲器、 128B 的 RAM 、1 個中斷源、 1 個定時器(且具有捕捉功能) 。對3. 單片機(jī)是一種 CPU。 錯4. AT89S52 單片機(jī)是微處理器。 錯5. AT89C52 片內(nèi)的 Flash 程序存儲器可在線寫入,而 AT89S52 則

3、不能。 錯6. 為 AT89C51 單片機(jī)設(shè)計的應(yīng)用系統(tǒng)板,可將芯片AT89C51 直接用芯片 AT89S51 替換。對7. 為 AT89S51 單片機(jī)設(shè)計的應(yīng)用系統(tǒng)板,可將芯片AT89S51 直接用芯片 AT89S52 替換。對8. 單片機(jī)的功能側(cè)重于測量和控制, 而復(fù)雜的數(shù)字信號處理運(yùn)算及高速的測控功能則是DSP的長處。 對四、簡答1. 微處理器、微計算機(jī)、微處理機(jī)、 CPU 、單片機(jī)、嵌入式處理器它們之間有何區(qū)別?答:微處理器、微處理機(jī)和 CPU 它們都是中央處理器的不同稱謂,微處理器芯片本身不是計算機(jī)。而微計算機(jī)、單片機(jī)它們都是一個完整的計算機(jī)系統(tǒng),單片機(jī)是集成在一個芯片上的用于測控目

4、的的單片微計算機(jī)。2. AT89S51 單片機(jī)相當(dāng)于 MCS-51 系列單片機(jī)中的哪一型號的產(chǎn)品?“ S”的含義是什么?答:相當(dāng)于 MCS-51系列中的 87C51 ,只不過是 AT89S51 芯片內(nèi)的 4K 字節(jié) Flash 存儲器取代了 87C51 片內(nèi)的 4K 字節(jié)的 EPROM 。3. 單片機(jī)可分為商用、工業(yè)用、汽車用以及軍用產(chǎn)品,它們的使用溫度范圍各為多少?可編輯.答:商用:溫度范圍為0 +70 ;工業(yè)用:溫度范圍為-40 +85 ;汽車用:溫度范圍為 -40 +125 ;軍用:溫度范圍為 -55 +150 。4. 解釋什么是單片機(jī)的在系統(tǒng)編程( ISP)與在線應(yīng)用編程( IAP )

5、。答:單片機(jī)的在系統(tǒng)編程 ISP(In System Program ),也稱在線編程,只需一條與 PC機(jī) USB 口或串口相連的ISP 下載線,就可把仿真調(diào)試通過的程序代碼從PC 機(jī)在線寫入單片機(jī)的 Flash 存儲器內(nèi),省去了編程器。在線應(yīng)用編程(IAP )就是可將單片機(jī)的閃存內(nèi)的應(yīng)用程序在線修改升級。5. 什么是 “嵌入式系統(tǒng)” ? 系統(tǒng)中嵌入了單片機(jī)作為控制器, 是否可稱其為 “嵌入式系統(tǒng)” ?答:廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器” ,如單片機(jī)、 DSP、嵌入式微處理器,都稱其為 “嵌入式系統(tǒng)”。但多數(shù)人把“嵌入” 嵌入式微處理器的系統(tǒng), 稱為“嵌入式系統(tǒng)”。目前“嵌入式系統(tǒng)”

6、還沒有一個嚴(yán)格和權(quán)威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。6. 嵌入式處理器家族中的單片機(jī)、 DSP、嵌入式微處理器各有何特點(diǎn)?它們的應(yīng)用領(lǐng)域有何不同?答:單片機(jī)體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實(shí)現(xiàn)各種方式的檢測和控制。單片機(jī)在嵌入式處理器市場占有率最高,最大特點(diǎn)是價格低,體積小,應(yīng)用廣泛。DSP 是一種非常擅長于高速實(shí)現(xiàn)各種數(shù)字信號處理運(yùn)算(如數(shù)字濾波、 FFT、頻譜分析等)的嵌入式處理器。能夠高速完成各種復(fù)雜的數(shù)字信號處理算法。廣泛地用于通訊、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機(jī)控制系統(tǒng),生物信息識別終端,實(shí)時語音壓解系統(tǒng)等。這類智能化算法一般都是運(yùn)算量

7、較大,特別是向量運(yùn)算、指針線性尋址等較多,而這正是DSP 的長處所在。與單片機(jī)相比, DSP 具有的實(shí)現(xiàn)高速運(yùn)算的硬件結(jié)構(gòu)及指令和多總線,DSP 處理的算法的復(fù)可編輯.雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機(jī)不可企及的。嵌入式微處理器的基礎(chǔ)是通用計算機(jī)中的CPU,地址總線數(shù)目較多,能擴(kuò)展容量較大的存儲器,所以可配置實(shí)時多任務(wù)操作系統(tǒng)(RTOS)。 RTOS 能夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,廣泛地應(yīng)用在移動計算平臺、媒體手機(jī)、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)備、 ATM 機(jī)等)、電子商務(wù)平臺、信息家電(機(jī)頂盒、數(shù)字電視)以及軍事上的應(yīng)用。第 2 章思考題及習(xí)題

8、2 參考答案一、填空1. 在 AT89S52 單片機(jī)中,如果采用6MHz 晶振,一個機(jī)器周期為。答: 2s2. AT89S52 單片機(jī)的機(jī)器周期等于個時鐘振蕩周期。 答: 123. 內(nèi)部 RAM 中,位地址為 40H 、 88H 的位,該位所在字節(jié)的字節(jié)地址分別為和。答: 28H , 88H4.片內(nèi)字節(jié)地址為 2AH 單元最低位的位地址是;片內(nèi)字節(jié)地址為 A8H 單元的最低位的位地址為。答: 50H , A8H5.若 A 中的內(nèi)容為 63H ,那么, P 標(biāo)志位的值為。答: 06.AT89S52 單片機(jī)復(fù)位后,R4 所對應(yīng)的存儲單元的地址為,因上電時PSW=。這時當(dāng)前的工作寄存器區(qū)是組工作寄存

9、器區(qū)。 答: 04H , 00H ,0。7.內(nèi)部 RAM中,可作為工作寄存器區(qū)的單元地址為H H。答:00H ,1FH8. 通過堆棧操作實(shí)現(xiàn)子程序調(diào)用時,首先要把的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用子程序返回指令時,再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到,先彈出的是原來可編輯.中的內(nèi)容。 答: PC, PC,PCH9. AT89S52 單片機(jī)程序存儲器的尋址范圍是由程序計數(shù)器 PC 的位數(shù)所決定的,因?yàn)?AT89S52單片機(jī)的 PC 是 16 位的,因此其尋址的范圍為KB。答: 6410. AT89S52 單片機(jī)復(fù)位時, P0P3 口的各引腳為電平。答:高11. AT89S52 單片機(jī)使用片外振蕩器作

10、為時鐘信號時,引腳 XTAL1 接,引腳 XTAL2的接法是。答:片外振蕩器的輸出信號,懸空12. AT89S52單片機(jī)復(fù)位時,堆棧指針SP 中的內(nèi)容為,程序指針 PC 中的內(nèi)容為。答: 07H ,0000H二、單選1. 程序在運(yùn)行中,當(dāng)前PC 的值是。A 當(dāng)前正在執(zhí)行指令的前一條指令的地址B當(dāng)前正在執(zhí)行指令的地址。C當(dāng)前正在執(zhí)行指令的下一條指令的首地址D控制器中指令寄存器的地址。答: C2. 判斷下列哪一種說法是正確的?A PC 是一個可尋址的寄存器B單片機(jī)的主頻越高,其運(yùn)算速度越快。CAT89S52 單片機(jī)中的一個機(jī)器周期為1sD 特殊功能寄存器SP 內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答: B

11、三、判斷對錯1. 使用 AT89S52 單片機(jī)且引腳 EA =1 時,仍可外擴(kuò) 64KB 的程序存儲器。 錯2. 區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址范圍的低端還是可編輯.高端。錯3. 在 AT89S52 單片機(jī)中,為使準(zhǔn)雙向的 I/O 口工作在輸入方式,必須事先預(yù)置為 1 。對4. PC 可以看成是程序存儲器的地址指針。 對5. AT89S52 單片機(jī)中特殊功能寄存器( SFR)使用片內(nèi) RAM 的部份字節(jié)地址。 對6. 片內(nèi) RAM 的位尋址區(qū),只能供位尋址使用,而不能進(jìn)行字節(jié)尋址。錯7. AT89S52 單片機(jī)共有 32 個特殊功能寄存器,它們的位都是可以用軟件

12、設(shè)置的,因此,都是可以位尋址的。 錯8. 堆棧區(qū)是單片機(jī)內(nèi)部的一個特殊區(qū)域,與 RAM 無關(guān)。錯9. AT89S52 單片機(jī)進(jìn)入空閑模式, CPU 停止工作。片內(nèi)的外圍電路(如中斷系統(tǒng)、串行口和定時器)仍將繼續(xù)工作。 對10. AT89S52 單片機(jī)不論是進(jìn)入空閑模式還是掉電運(yùn)行模式后,片內(nèi)RAM 和 SFR 中的內(nèi)容均保持原來的狀態(tài)。 對11. AT89S52 單片機(jī)進(jìn)入掉電運(yùn)行模式, CPU 和片內(nèi)的外圍電路(如中斷系統(tǒng)、串行口和定時器)均停止工作。 對12. AT89S52 單片機(jī)的掉電運(yùn)行模式可采用響應(yīng)中斷方式來退出。 對四、簡答1. AT89S52 單片機(jī)片內(nèi)都集成了哪些功能部件?答

13、:集成了如下部件:1 個微處理器( CPU ); 256 個數(shù)據(jù)存儲器( RAM )單元 ;8K Flash 程序存儲器; 4 個 8位可編程并行 I/O 口( P0 口、 P1 口、 P2口、 P3口); 1 個全雙工串行口; 3個 16 位定時器 / 計數(shù)器;1 個看門狗定時器;一個中斷系統(tǒng),6 個中斷源, 2個優(yōu)先級; 32 個特殊功能寄存器(SFR)??删庉?2. AT89S52 的 64KB 程序存儲器空間有 6 個單元地址對應(yīng) AT89S52 單片機(jī) 6 個中斷源的中斷入口地址,請寫出這些單元的入口地址及對應(yīng)的中斷源。答:見下表表 AT89S52 各中斷源的中斷入口地址中 斷 源入

14、口地址外部中斷 00003H定時器 / 計數(shù)器 T0000BH外部中斷 10013H定時器 / 計數(shù)器 T1001BH串行口0023H定時器 / 計數(shù)器 T2002BH3. 說明 AT89S52 單片機(jī)的 EA 引腳接高電平或低電平的區(qū)別。答:當(dāng) EA 腳為高電平時,單片機(jī)讀片內(nèi)程序存儲器(8K 字節(jié) Flash )中的內(nèi)容,但在 PC值超過 0FFFH(即超出 4K 字節(jié)地址范圍)時,將自動轉(zhuǎn)向讀外部程序存儲器內(nèi)的程序;當(dāng)EA 腳為低電平時,單片機(jī)只對外部程序存儲器的地址為0000H FFFFH中的內(nèi)容進(jìn)行讀操作,單片機(jī)不理會片內(nèi)的 8K 字節(jié)的 Flash 程序存儲器。4. AT89S52

15、 單片機(jī)有哪兩種低功耗節(jié)電模式?說明兩種低功耗節(jié)電模式的異同。答:AT89S52 單片機(jī)有兩種低功耗節(jié)電工作模式:空閑模式(idle mode)和掉電模式(powerdown mode)??臻e模式下,雖然振蕩器仍然運(yùn)行,但是CPU 進(jìn)入空閑狀態(tài)。此時,片內(nèi)所有外圍電路(中斷系統(tǒng)、串行口和定時器)仍繼續(xù)工作,SP、 PC、 PSW 、A 、P0P3 端口等所有其他寄存器,以及內(nèi)部 RAM 和 SFR 中的內(nèi)容均保持進(jìn)入空閑模式前的狀態(tài)。因?yàn)?CPU 耗電量通常要占芯片耗電的80% 90% ,因此 CPU 停止工作則會大大降低功耗。掉電模式下,振蕩器停止工作。由于沒有了時鐘信號,內(nèi)部的所有部件均停

16、止工作,但可編輯.片內(nèi)的 RAM 和 SFR 的原來內(nèi)容都被保留,有關(guān)端口的輸出狀態(tài)值都保存在對應(yīng)的特殊功能寄存器中。5. AT89S52 單片機(jī)運(yùn)行時程序出現(xiàn)“跑飛”或陷入“死循環(huán)時,說明如何利用看門狗來擺脫困境的工作原理。答:可采用看門狗定時器。工作原理如下:“看門狗”技術(shù)就是使用一個“看門狗”定時器來對系統(tǒng)時鐘不斷計數(shù),監(jiān)視程序的運(yùn)行。當(dāng)看門狗定時器啟動運(yùn)行后,為防止看門狗定時器的不必要溢出而引起單片機(jī)的非正常的復(fù)位,應(yīng)定期地把看門狗定時器清0 ,以保證看門狗定時器不溢出。當(dāng)由于干擾,使單片機(jī)程序“跑飛”或陷入“死循環(huán)”時,單片機(jī)也就不能正常運(yùn)行程序來定時地把看門狗定時器清0 ,當(dāng)看門狗

17、定時器計滿溢出時,將在AT89S52 的 RST 引腳上輸出一個正脈沖(寬度為98 個時鐘周期),使單片機(jī)復(fù)位,在系統(tǒng)的復(fù)位入口0000H處重新開始執(zhí)行主程序,從而使程序擺脫“跑飛”或“死循環(huán)”狀態(tài),讓單片機(jī)歸復(fù)于正常的工作狀態(tài)。第 3 章思考題及習(xí)題 3 參考答案一、填空1.訪問 SFR,只能使用尋址方式。 答:直接 。2.指令格式是由和組成,也可僅由組成。答:操作碼,操作數(shù),操作碼。3.在基址加變址尋址方式中,以作為變址寄存器,以或作為基址寄存器。 答: A ,PC,DPTR4.假定累加器 A 中的內(nèi)容為 30H ,執(zhí)行指令可編輯.1000H :MOVCA ,A+PC后,把程序存儲器單元的

18、內(nèi)容送入累加器A 中。答: 1031H5.在 AT89S52 中, PC 和 DPTR 都用于提供地址,但PC 是為訪問存儲器提供地址,而 DPTR 是為訪問存儲器提供地址。 答:程序,數(shù)據(jù)6. 在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的。答:地址7.下列程序段的功能是。答: A 的內(nèi)容與 B 的內(nèi)容互換 。PUSHAccPUSHBPOPAccPOPB8. 已知程序執(zhí)行前有 (A)=02H ,(SP)=52H ,(51H)=FFH ,(52H)=FFH 。下述程序執(zhí)行后,(A)=,(SP)=, (51H)=,(52H)=,(PC)。POPDPHPOPDP

19、LMOVDPTR , #4000HRLAMOVB, AMOVCA ,A+DPTRPUSHAccMOVA , BINCAMOVCA ,A+DPTRPUSHAccRETORG4000HDB10H , 80H , 30H , 50H , 30H, 50H答:(A) =50H ,(SP)=50H ,(51H )=30H ,( 52H )=50H ,(PC)5030H9.假定 (A)=83H ,(R0)=17H , (17H)=34H ,執(zhí)行以下指令后, (A)=。ANLA , #17HORL17H ,AXRLA ,R0CPLA可編輯.答:(A ) =0CBH 。10. 假設(shè) (A)=55H , (R3

20、)=0AAH,在執(zhí)行指令“ANLA , R3 ”后, (A)=,(R3)=。答:(A ) =00H ,(R3)=0AAH 。11. 如果 (DPTR)=507BH ,(SP)=32H ,(30H)=50H,(31H)=5FH ,(32H)=3CH ,則執(zhí)行下列指令后,(DPH )=, (DPL)=, (SP)=。POPDPHPOPDPLPOPSP答:(DPH ) =3CH ,(DPL )=5FH ,(SP)=50H12. 假定, (SP)=60H ,(A)=30H ,(B)=70H ,執(zhí)行下列指令后, SP 的內(nèi)容為,61H單元的內(nèi)容為,62H 單元的內(nèi)容為。PUSHAccPUSHB答:(SP

21、)=62H ,(61H ) =30H ,(62H )=70H 。二、判斷對錯1. 判斷以下指令的正誤。(1 )MOV28H ,R2 ;(2 )DECDPTR ;(3 )INCDPTR;(4)CLRR0;( 5 )CPLR5(6 )MOVR0,R1 ;( 7)PHSHDPTR ;( 8)MOVF0,C;(9 )MOVF0,Acc.3 ;(10 )MOVXA,R1 ;(11 )MOVC,30H ;(12 )RLCR0答:( 1)錯(2 )錯(3)對(4)錯(5)錯(6)錯(7)錯(8 )對(9)錯(10 )對(11 )對( 12 )錯。2. 判斷下列說法是否正確??删庉?A. 立即數(shù)尋址方式是被操

22、作的數(shù)據(jù)本身就在指令中,而不是它的地址在指令中。B. 指令周期是執(zhí)行一條指令的時間。C. 指令中直接給出的操作數(shù)稱為直接尋址。D. 內(nèi)部寄存器 Rn (n=07 )可作為間接尋址寄存器。答: A.對; B.對; C.錯; D.錯。3. 以下指令中,屬于單純讀引腳的指令是()。A. MOVP1,A ; B. ORLP1,#0FH ; C. MOVC, P1.5 ; D. ANLP1,#0FH答: C。三、單選1. 程序在運(yùn)行中,當(dāng)前PC 的值是。A 當(dāng)前正在執(zhí)行指令的前一條指令的地址B當(dāng)前正在執(zhí)行指令的地址。C當(dāng)前正在執(zhí)行指令的下一條指令的首地址D控制器中指令寄存器的地址。答: C2. 判斷下列

23、哪一種說法是正確的?A PC 是一個可尋址的寄存器B單片機(jī)的主頻越高,其運(yùn)算速度越快。CAT89S52 單片機(jī)中的一個機(jī)器周期為1sD 特殊功能寄存器SP 內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答: B3. 對程序存儲器的讀操作,只能使用()。A. MOV指令BPUSH 指令 C MOVX 指令DMOVC 指令答: D??删庉?四、程序分析與編程1. 下列程序段經(jīng)匯編后,從 1000H 開始的各有關(guān)存儲單元的內(nèi)容是什么?ORG1000HTAB1EQU1234HTAB2EQU3000HDB"MAIN"DWTAB1 , TAB2 ,70H答:從 1000H 開始的各有關(guān)存儲單元的內(nèi)容(

24、16 進(jìn)制 )如下:4DH , 41H ,49H ,4EH ,12H ,34H ,30H , 00H , 00H ,70H2. 編寫程序,將內(nèi)部 RAM 中 45H 單元的高 4 位清“ 0 ”,低 4 位置“ 1 ”。答:參考程序如下:MOVA ,45HANLA , #0FHORLA , #0FHMOV45H ,A3. 已知程序執(zhí)行前有A=02H , SP=42H , (41H)=FFH ,(42H)=FFH 。下述程序執(zhí)行后,A=();SP=();(41H)=();(42H)=();PC=()。POPDPHPOPDPLMOVDPTR,#3000HRLAMOVB,AMOVCA , A+DPT

25、RPUSHAccMOVA ,BINCA可編輯.MOVCA , A+DPTRPUSHAccRETORG3000HDB10H ,80H ,30H , 80H , 50H ,80H答:(A )=80H,( SP)=40H ,(41H)=50H , (42H)=80H,(PC)=8050H4. 編寫程序,查找在內(nèi)部 RAM 的 30H 50H 單元中是否有 0AAH 這一數(shù)據(jù)。若有,則將51H 單元置為“ 01H ”;若未找到,則將 51H 單元置為“ 00H ”。答:參考程序如下:START :MOVR0,#30HMOVR2,#20HLOOP:MOVA,R0CJNEA,#0AAH,NEXTMOV51

26、H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET5. 寫出完成如下要求的程序段,但是不能改變未涉及位的內(nèi)容。A. 把 ACC.3 , ACC.4 , ACC.5 和 ACC.6 清“ 0”。B. 把累加器 A 的中間 4 位清“ 0 ”。C. 把 ACC.2 和 ACC.3 置“ 1 ”。答:A.ANLA , #87H可編輯.B. ANL A , #0C3HC.ORLA , #0CH6. 若 SP=60H ,標(biāo)號 LABEL 所在的地址為 3456H 。LCALL 指令的地址為 2000H ,執(zhí)行如下指令:2000HLCALLLABE

27、L后( 1)堆棧指針SP 和堆棧內(nèi)容發(fā)生了什么變化?(2 )PC 的值等于什么?( 3)如果將指令 LCALL 直接換成 ACALL 是否可以?( 4)如果換成 ACALL 指令,可調(diào)用的地址范圍是什么?答:( 1 )SP=SP+1=61H(61H)=PC的低字節(jié) =03HSP=SP+1=62H(62H)=PC的高字節(jié) =20H( 2 )PC=3456H( 3 )不可以( 4 )2KB 2048 Byte7. 試編寫程序,查找在內(nèi)部 RAM 的 20H 40H 單元中出現(xiàn)“ 00H ”這一數(shù)據(jù)的次數(shù),并將查找到的結(jié)果存入 41H 單元。答:參考程序如下:START :MOV41H,#0MOVR

28、0, #20HMOVR2, #20HLOOP :MOVA,R0JNZNEXT可編輯.INC41HNEXT :INCR0DJNZR2 ,LOOPRET8. 對例 3-22 中的程序進(jìn)行修改,使其達(dá)到精確的 50ms 延時時間。答:原來的程序:ORG0100HD50ms :MOVR7,#200;執(zhí)行時間 1sD1 :MOVR6,#125;執(zhí)行時間 1 sD2 :DJNZR6,D2;指令執(zhí)行 1 次為 2 s ,總計 125 × 2=250 sDJNZR7,D1;指令執(zhí)行時間2 s ,本循環(huán)體執(zhí)行 200 次RET;指令執(zhí)行時間2s可對程序做如下修改:ORG0100HD50ms:MOVR7

29、, #200D1 :MOVR6, #123;將原來的立即數(shù)125 改為 123D2 :DJNZR6, D2NOP;增加的指令DJNZR7, D1RET程序修改后的延時時間為:1+(1+123*2+1+2)*200+2=50003s=50.003ms9. 借助表 3-2 ,對如下指令代碼(十六進(jìn)制)進(jìn)行手工反匯編??删庉?FFH,C0H ,E0H, E5H , F0H,F0H答:MOVR7 ,APUSHAccMOVA , BMOVXDPTR , A五、簡答1. 說明偽指令的作用。 “偽”的含義是什么?常用偽指令有哪些?其功能如何?答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽

30、指令,即在匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒有相應(yīng)的機(jī)器代碼產(chǎn)生。常用偽指令及功能如下:ORG ( ORiGin )匯編起始地址命令;END(ENDofassembly) 匯編終止命令;EQU(EQUate )標(biāo)號賦值命令; DB (Define Byte)定義數(shù)據(jù)字節(jié)命令; DW (Define Word)定義數(shù)據(jù)字命令; DS (Define Storage)定義存儲區(qū)命令; BIT 位定義命令2. 解釋下列術(shù)語:手工匯編、機(jī)器匯編、反匯編答:手工匯編:通過查指令的機(jī)器代碼表(表3-2 ),逐個把助記符指令“翻譯”成機(jī)器代碼,再進(jìn)行調(diào)試和運(yùn)行。這種人工查

31、表“翻譯”指令的方法稱為“手工匯編”。機(jī)器匯編:借助于微型計算機(jī)上的軟件(匯編程序 )來代替手工匯編。 通過在微機(jī)上運(yùn)行匯編程序,把匯編語言源程序翻譯成機(jī)器代碼。反匯編:將二進(jìn)制的機(jī)器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。3. 設(shè)計子程序時應(yīng)注意哪些問題?可編輯.答:編寫子程序時應(yīng)注意以下問題:子程序的第一條指令前必須有標(biāo)號。主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令: 絕對調(diào)用指令 ACALL addr11 。被調(diào)用的子程序的首地址與絕對調(diào)用指令的下一條指令的高 5 位地址相同,即只能在同一個2KB 區(qū)內(nèi)。 長調(diào)用指令 LCALL addr16 。addr16為直接調(diào)用的目的地址,

32、被調(diào)用的子程序可放置在 64KB 程序存儲器區(qū)的任意位置。子程序結(jié)構(gòu)中必須用到堆棧,用來保護(hù)斷點(diǎn)和現(xiàn)場保護(hù)。子程序返回時,必須以RET 指令結(jié)束。子程序可以嵌套,但要注意堆棧的沖突。4. 為什么對基本型的8051 子系列單片機(jī),其寄存器間接尋址方式(例如MOV A ,R0)中,規(guī)定 R0 或 R1 的內(nèi)容不能超過7FH ?而對增強(qiáng)型的 8052 子系列單片機(jī), R0 或 R1的內(nèi)容就不受限制 ?答:基本型的8051子系列單片機(jī),由于其片內(nèi)RAM的地址范圍為00H7FH ,而80HFFH為特殊功能寄存器區(qū),而對特殊功能寄存器尋址,只能使用直接尋址方式。對片內(nèi) RAM 尋址,當(dāng)使用寄存器間接尋址是

33、采用R0 或 R1 作為間接尋址的,因此R0 或 R1 的內(nèi)容不能超過 7FH 。增強(qiáng)型的 8052 子系列單片機(jī),片內(nèi)RAM 的地址范圍為 00HFFH ,因此作為間接尋址寄存器的 R0 或 R1 的內(nèi)容就不受限制??删庉?第 4 章思考題及習(xí)題 4 參考答案一、填空1外部中斷 1 的中斷入口地址為。定時器 T1 的中斷入口地址為。答: 0013H ;001BH2若( IP)=00010100B ,則優(yōu)先級最高者為,最低者為。答:外部中斷 1 ,定時器 T13 AT89S52 單片機(jī)響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL,執(zhí)行該指令的過程包括:首先把的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然后把長調(diào)用

34、指令的16 位地址送入,使程序執(zhí)行轉(zhuǎn)向中的中斷地址區(qū)。答: PC、 PC、程序存儲器4 AT89S52 單片機(jī)復(fù)位后,中斷優(yōu)先級最高的中斷源是。答:外部中斷 05當(dāng) AT89S52 單片機(jī)響應(yīng)中斷后,必須用軟件清除的中斷請求標(biāo)志是。答:串行中斷、定時器 / 計數(shù)器 T2中斷二、單選1下列說法錯誤的是()。A. 同一級別的中斷請求按時間的先后順序響應(yīng)B. 同一時間同一級別的多中斷請求,將形成阻塞,系統(tǒng)無法響應(yīng)C. 低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求能中斷低優(yōu)先級中斷請求D. 同級中斷不能嵌套答: B2在 AT89S52 的中斷請求源中,需要外加電路實(shí)現(xiàn)中斷撤銷的是()

35、??删庉?A. 電平方式的外部中斷請求B跳沿方式的外部中斷請求C外部串行中斷D 定時中斷答: A3中斷查詢確認(rèn)后,在下列各種AT89S52 單片機(jī)運(yùn)行情況下,能立即進(jìn)行響應(yīng)的是()。A 當(dāng)前正在進(jìn)行高優(yōu)先級中斷處理B當(dāng)前正在執(zhí)行RETI 指令C當(dāng)前指令是 MOVA ,R3D 當(dāng)前指令是 DIV 指令,且正處于取指令的機(jī)器周期答: C4下列說法正確的是()。A. 各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S52 的 IE 寄存器中B. 各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S52 的 TMOD 寄存器中C. 各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S52 的 IP 寄存器中D.

36、 各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在AT89S52 的 TCON 、SCON 以及 T2CON寄存器中答: D三、判斷對錯1定時器 T0 中斷可以被外部中斷0 中斷。錯2. 必須有中斷源發(fā)出中斷請求,并且 CPU 開中斷, CPU 才可能響應(yīng)中斷。 錯3 AT89S52 單片機(jī)中的同級中斷不能嵌套。對可編輯.4同為高中斷優(yōu)先級,外部中斷0 能打斷正在執(zhí)行的外部中斷1 的中斷服務(wù)程序。 錯5中斷服務(wù)子程序可以直接調(diào)用。錯6在開中斷的前提下,只要中斷源發(fā)出中斷請求,CPU 就會立刻響應(yīng)中斷。 錯四、簡答1中斷服務(wù)子程序與普通子程序有哪些相同和不同之處?答: RETI 指令在返回的同時自動清除相

37、應(yīng)的不可尋址的優(yōu)先級觸發(fā)器,以允許下次中斷,而 RET 指令則沒有這個操作。除了這一點(diǎn)兩條指令不同外,其它操作都相同。2 AT89S52 單片機(jī)響應(yīng)外部中斷的典型時間是多少?在哪些情況下,CPU 將推遲對外部中斷請求的響應(yīng)?答:在一個單一中斷的系統(tǒng)里,AT89S51 單片機(jī)對外部中斷請求的響應(yīng)時間總是在3 8個機(jī)器周期之間。在下述三種情況下, AT89S51 將推遲對外部中斷請求的響應(yīng):(1 )AT89S52 正在處理同級或更高優(yōu)先級的中斷。(2 )所查詢的機(jī)器周期不是當(dāng)前正在執(zhí)行指令的最后一個機(jī)器周期。(3 )正在執(zhí)行的指令是RETI 或是訪問 IE 或 IP 的指令。如果存在上述三種情況之

38、一,AT89S52 將丟棄中斷查詢結(jié)果,將推遲對外部中斷請求的響應(yīng)。3中斷響應(yīng)需要滿足哪些條件?答:一個中斷源的中斷請求被響應(yīng),必須滿足以下條件:(1 )總中斷允許開關(guān)接通,即IE 寄存器中的中斷總允許位EA=1 。(2 )該中斷源發(fā)出中斷請求,即該中斷源對應(yīng)的中斷請求標(biāo)志為“1”。(3 )該中斷源的中斷允許位=1 ,即該中斷被允許??删庉?(4 )無同級或更高級中斷正在被服務(wù)。4編寫外部中斷1 為跳沿觸發(fā)的中斷初始化程序段。答: 參考程序段如下:SETBIT1SETBEX1SETBEA5某系統(tǒng)有三個外部中斷源IR1 、IR2 和 IR3 ,當(dāng)某一中斷源發(fā)出的中斷請求使INT 1 引腳變?yōu)榈碗?/p>

39、平時(參見圖4-11 ),便要求 CPU 進(jìn)行處理,它們的優(yōu)先處理次序由高到低為IR3、IR2 、IR1 ,中斷處理程序的入口地址分別為1000H ,1100H ,1200H 。試編寫主程序及中斷服務(wù)子程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。答:參見電路如圖4-11 ,參考程序如下:ORG0000HLJMPMAINORG0013HLJMPINT_EX1ORG0030HMAIN:CLRIT0;采用電平觸發(fā),低電平有效中斷SETBEX1;允許外部中斷1SETBEA;插入一段用戶程序可編輯.WAIT:AJMPWAIT;單片機(jī)等待中斷;以下為外部中斷1 服務(wù)子程序INT_EX1 : JBP1.2 ,

40、NEXT1;判斷是不是 IR3 中斷LJMPINT_IR3;跳轉(zhuǎn)到 IR3 中斷處理程序NEXT1:JBP1.1 , NEXT2 ;判斷是不是 IR2 中斷LJMPINT_IR2;跳轉(zhuǎn)到 IR2 中斷處理程序NEXT2:LJMP INT_IR1;跳轉(zhuǎn)到 IR1 中斷處理程序ORG1000HINT_IR3:相應(yīng)中斷處理程序RETI;中斷返回ORG1100HINT_IR2:相應(yīng)中斷處理程序RETI;中斷返回ORG1200HINT_IR1:相應(yīng)中斷處理程序RETI;中斷返回可編輯.第 5 章思考題及習(xí)題 5 參考答案一、填空1如果采用晶振的頻率為3MHz ,定時器 / 計數(shù)器 Tx( x=0,1 )

41、工作在方式 0、1、2 下,其方式 0 的最大定時時間為,方式 1 的最大定時時間為,方式 2 的最大定時時間為。答: 32.768ms , 262.144ms , 1024 s2 定時器 / 計數(shù)器用作計數(shù)器模式時,外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)時鐘頻率的。答: 1/243定時器 / 計數(shù)器用作定時器模式時,其計數(shù)脈沖由提供,定時時間與有關(guān)。答:系統(tǒng)時鐘信號12 分頻后,定時器初值4定時器 / 計數(shù)器 T1 測量某正單脈沖的寬度,采用方式可得到最大量程?若時鐘頻率為 6MHz ,求允許測量的最大脈沖寬度為。答:方式 1 定時 ,131.072ms 。5. 定時器 T2 有 3 種工作方式

42、:、和,可通過對寄存器中的相關(guān)位進(jìn)行軟件設(shè)置來選擇。答:捕捉,重新裝載(增計數(shù)或減計數(shù)),波特率發(fā)生器,T2CON6. AT89S52 單片機(jī)的晶振為 6MHz ,若利用定時器 T1 的方式 1 定時 2ms ,則(TH1 )=,(TL1)=。答: FCH ,18H 。可編輯.二、單選1定時器 T0 工作在方式 3 時,定時器 T1 有種工作方式。A.1 種B.2 種C3 種D4 種答: C2. 定時器 T0、T1 工作于方式 1 時,其計數(shù)器為位。A.8 位B.16 位C.14 位D.13 位答: B3. 定時器 T0、T1 的 GATEx=1 時,其計數(shù)器是否計數(shù)的條件。A. 僅取決于 T

43、Rx 狀態(tài)B. 僅取決于 GATE 位狀態(tài)C. 是由 TRx 和 INT x 兩個條件來共同控制D. 僅取決于 INT x 的狀態(tài)答: C4. 定時器 T2 工作在自動重裝載方式時,其計數(shù)器為位。A.8 位B.13位C.14位D.16 位答: D5. 要想測量 INT0 引腳上的正單脈沖的寬度,特殊功能寄存器 TMOD 的內(nèi)容應(yīng)為。A.87HB. 09HC.80HD. 00H答: B三、判斷對錯1下列關(guān)于 T0、T1 的哪些說法是正確的。A.特殊功能寄存器SCON ,與定時器 / 計數(shù)器的控制無關(guān)。 對B.特殊功能寄存器TCON ,與定時器 / 計數(shù)器的控制無關(guān)。 錯C.特殊功能寄存器IE,與

44、定時器 / 計數(shù)器的控制無關(guān)。 錯D.特殊功能寄存器TMOD ,與定時器 / 計數(shù)器的控制無關(guān)。 錯2定時器 T0、 T1 對外部脈沖進(jìn)行計數(shù)時,要求輸入的計數(shù)脈沖的高電平或低電平的持續(xù)時間不小于 1 個機(jī)器周期。特殊功能寄存器 SCON 與定時器 / 計數(shù)器的控制無關(guān)。 錯3定時器 T0、T1 對外部引腳上的脈沖進(jìn)行計數(shù)時,要求輸入的計數(shù)脈沖的高電平和低電平的持續(xù)時間均不小于 2 個機(jī)器周期。 對可編輯.四、簡答1定時器 / 計數(shù)器 T1 、T0 的工作方式 2 有什么特點(diǎn)?適用于哪些應(yīng)用場合?答:方式 2 為初值自動裝入的8 位定時器 / 計數(shù)器,克服了在循環(huán)定時或循環(huán)計數(shù)應(yīng)用時就存在用指令反復(fù)裝入計數(shù)初值影響定時精度的問題。2 THx 與 TLx(x =0 ,1)是普通寄存器還是計數(shù)器?其內(nèi)容可以隨

溫馨提示

  • 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

提交評論