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

下載本文檔

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

文檔簡介

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

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

3、9S51替換。對7 .為AT89S51單片機設(shè)計的應(yīng)用系統(tǒng)板,可將芯片AT89S51直接用芯片AT89S5納換。對8 .單片機的功能側(cè)重于測量和控制,而復(fù)雜的數(shù)字信號處理運算及高速的測控功能則是DSP的長處。對四、簡答1.微處理器、微計算機、微處理機、CPU單片機、嵌入式處理器它們之間有何區(qū)別?答:微處理器、微處理機和CP店們都是中央處理器的不同稱謂,微處理器芯片本身不是計算機。而微計算機、單片機它們都是一個完整的計算機系統(tǒng),單片機是集成在一個芯片上的用于測控目的的單片微計算機。2 .AT89S51單片機相當(dāng)于MCS-51系列單片機中的哪一型號的產(chǎn)品?“S”的含義是什么?答:相當(dāng)于MCS-51

4、系列中的87C51,只不過是AT89S51芯片內(nèi)的4K字節(jié)Flash存儲器取代了87C51片內(nèi)的4K字節(jié)的EPROM3 .單片機可分為商用、工業(yè)用、汽車用以及軍用產(chǎn)品,它們的使用溫度范圍各為多少?答:商用:溫度范圍為0+70C;工業(yè)用:溫度范圍為-40+85C;汽車用:溫度范圍為-40+125C;軍用:溫度范圍為-55+150C。4 .解釋什么是單片機的在系統(tǒng)編程(ISP)與在線應(yīng)用編程(IAP)。答:單片機的在系統(tǒng)編程ISP(InSystemProgram),也稱在線編程,只需一條與PC機USB口或串口相連的ISP下載線,就可把仿真調(diào)試通過的程序代碼從PC機在線寫入單片機的Flash存儲器內(nèi)

5、,省去了編程器。在線應(yīng)用編程(IAP)就是可將單片機的閃存內(nèi)的應(yīng)用程序在線修改升級。5.什么是“嵌入式系統(tǒng)”?系統(tǒng)中嵌入了單片機作為控制器,是否可稱其為“嵌入式系統(tǒng)”?答:廣義上講,凡是系統(tǒng)中嵌入了“嵌入式處理器”,如單片機、DSP嵌入式微處理器,都稱其為“嵌入式系統(tǒng)”。但多數(shù)人把“嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。目前“嵌入式系統(tǒng)”還沒有一個嚴(yán)格和權(quán)威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指后者。6 .嵌入式處理器家族中的單片機、DSP嵌入式微處理器各有何特點?它們的應(yīng)用領(lǐng)域有何不同?答:單片機體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中,實現(xiàn)各種方式的檢

6、測和控制。 單片機在嵌入式處理器市場占有率最高, 最大特點是價格低, 體積小, 應(yīng)用廣泛。DS皿一種非常擅長于高速實現(xiàn)各種數(shù)字信號處理運算(如數(shù)字濾波、FFK頻譜分析等)的嵌入式處理器。能夠高速完成各種復(fù)雜的數(shù)字信號處理算法。廣泛地用于通訊、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機控制系統(tǒng),生物信息識別終端,實時語音壓解系統(tǒng)等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這正是DSP的長處所在。與單片機相比,DSP具有的實現(xiàn)高速運算的硬件結(jié)構(gòu)及指令和多總線,DSPtt理的算法的復(fù)雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機不可企及的。嵌入式微處理器的基礎(chǔ)是通用計算

7、機中的CPU地址總線數(shù)目較多,能擴展容量較大的存儲器,所以可配置實時多任務(wù)操作系統(tǒng)(RTOSRTOSlt夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理工作。因此,廣泛地應(yīng)用在移動計算平臺、媒體手機、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控設(shè)備、ATM機等)、電子商務(wù)平臺、信息家電(機頂盒、數(shù)字電視)以及軍事上的應(yīng)用。第2章思考題及習(xí)題2參考答案一、填空1 .在AT89S52單片機中,如果采用6MHzft振,一個機器周期為。答:2的2 .AT89S52單片機的機器周期等于個時鐘振蕩周期。答:123 .內(nèi)部RAMfr,位地址為40H、88H的位,該位所在字節(jié)的字節(jié)地址分別為和。答:28H,88H4 .片內(nèi)字節(jié)地址為2A

8、H單元最低位的位地址是;片內(nèi)字節(jié)地址為A8H單元的最低位的位地址為。答:50H,A8H5 .若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為。答:06 .AT89S52單片機復(fù)位后,R4所對應(yīng)的存儲單元的地址為,因上電時PSWE,這時當(dāng)前的工作寄存器區(qū)是組工作寄存器區(qū)。答:04H,00H,007 .內(nèi)部RAW,可作為工作寄存器區(qū)的單元地址為H_H_。答:00H,1FH8 .通過堆棧操作實現(xiàn)子程序調(diào)用時,首先要把的內(nèi)容入棧,以進(jìn)行斷點保護(hù)。調(diào)用子程序返回指令時,再進(jìn)行出棧保護(hù),把保護(hù)的斷點送回到,先彈出的是原來中的內(nèi)容。答:PC,PC,PCH9 .AT89S5印片機程序存儲器的尋址范圍是由程序計數(shù)器P

9、C的位數(shù)所決定的,因為AT89S5印片機的PC是16位的,因此其尋址的范圍為KB。答:6410 .AT89S52單片機復(fù)位時,P0P3口的各引腳為電平。答:高11 .AT89S52單片機使用片外振蕩器作為時鐘信號時,引腳XTAL1接,引腳XTAL2的接法是。答:片外振蕩器的輸出信號,懸空12 .AT89S52單片機復(fù)位時,堆棧指針SP中的內(nèi)容為,程序指針PC中的內(nèi)容為。答:07H,0000H二、單選1 .程序在運行中,當(dāng)前PC的值是oA.當(dāng)前正在執(zhí)行指令的前一條指令的地址B.當(dāng)前正在執(zhí)行指令的地址。C.當(dāng)前正在執(zhí)行指令的下一條指令的首地址D.控制器中指令寄存器的地址。答:C2 .判斷下列哪一種

10、說法是正確的?A.PC是一個可尋址的寄存器B.單片機的主頻越高,其運算速度越快。C.AT89S52單片機中的一個機器周期為1的D.特殊功能寄存器SP內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答:B三、判斷對錯1.使用AT89S52t1片機且引腳EA=1時,仍可外擴64KB的程序存儲器。錯2.區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址范圍的低端還是高端。錯3.在AT89S52單片機中,為使準(zhǔn)雙向的I/O口工作在輸入方式,必須事先預(yù)置為1。對4. PC可以看成是程序存儲器的地址指針。對5. AT89S52單片機中特殊功能寄存器(SFR使用片內(nèi)RAM勺部份字節(jié)地址。對6.片內(nèi)RAM勺位尋址區(qū)

11、,只能供位尋址使用,而不能進(jìn)行字節(jié)尋址。錯7. AT89S52單片機共有32個特殊功能寄存器,它們的位都是可以用軟件設(shè)置的,因此,都是可以位尋址的。錯8.堆棧區(qū)是單片機內(nèi)部的一個特殊區(qū)域,與RAM6關(guān)。錯9. AT89S52單片機進(jìn)入空閑模式,CPU亭止工作。片內(nèi)的外圍電路(如中斷系統(tǒng)、用行口和定時器)仍將繼續(xù)工作。對10.AT89S52單片機不論是進(jìn)入空閑模式還是掉電運行模式后,片內(nèi)RAMffiSFR中的內(nèi)容均保持原來的狀態(tài)。對11.AT89S52單片機進(jìn)入掉電運行模式,CPUffi片內(nèi)的外圍電路(如中斷系統(tǒng)、用行口和定時器)均停止工作。對12.AT89S52單片機的掉電運行模式可采用響應(yīng)中

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

13、H定時器/計數(shù)器 T0000BH外部中斷 10013H定時器/計數(shù)器 T1001BH串行口0023H定時器/計數(shù)器 T2002BH3.說明AT89S52II片機的EA引腳接高電平或低電平的區(qū)別。答: 當(dāng)EA腳為高電平時, 單片機讀片內(nèi)程序存儲器 (8K字節(jié)Flash)中的內(nèi)容, 但在PCS超過0FFFH(即超出46節(jié)地址范圍)時,將自動轉(zhuǎn)向讀外部程序存儲器內(nèi)的程序;當(dāng)點腳為低電平時,單片機只對外部程序存儲器的地址為0000H-FFFFHH勺內(nèi)容進(jìn)行讀操作,單片機不理會片內(nèi)的8K字節(jié)的Flash程序存儲器。4. AT89S52單片機有哪兩種低功耗節(jié)電模式?說明兩種低功耗節(jié)電模式的異同。答:AT8

14、9S52單片機有兩種低功耗節(jié)電工作模式: 空閑模式 (idlemode和掉電模式 (powerdownmode??臻e模式下,雖然振蕩器仍然運行,但是CPU進(jìn)入空閑狀態(tài)。此時,片內(nèi)所有外圍電路(中斷系統(tǒng)、用行口和定時器)仍繼續(xù)工作,SRPGPSWA、P0P3端口等所有其他寄存器,以及內(nèi)部RAMf口SFR中的內(nèi)容均保持進(jìn)入空閑模式前的狀態(tài)。因為CPUft電量通常要占芯片耗電的80%-90%因此CPU亭止工作則會大大降低功耗。掉電模式下,振蕩器停止工作。由于沒有了時鐘信號,內(nèi)部的所有部件均停止工作,但片內(nèi)的RAMf口SFR的原來內(nèi)容都被保留,有關(guān)端口的輸出狀態(tài)值都保存在對應(yīng)的特殊功能寄存器中。5.

15、AT89S52單片機運行時程序出現(xiàn)“跑飛”或陷入“死循環(huán)時,說明如何利用看門狗來擺脫困境的工作原理。答:可采用看門狗定時器。工作原理如下:“看門狗”技術(shù)就是使用一個“看門狗”定時器來對系統(tǒng)時鐘不斷計數(shù),監(jiān)視程序的運行。當(dāng)看門狗定時器啟動運行后,為防止看門狗定時器的不必要溢出而引起單片機的非正常的復(fù)位,應(yīng)定期地把看門狗定時器清0,以保證看門狗定時器不溢出。當(dāng)由于干擾,使單片機程序“跑飛”或陷入“死循環(huán)”時,單片機也就不能正常運行程序來定時地把看門狗定時器清0,當(dāng)看門狗定時器計滿溢出時,將在AT89S52的RST弓|腳上輸出一個正脈沖(寬度為98個時鐘周期),使單片機復(fù)位,在系統(tǒng)的復(fù)位入口0000

16、H處重新開始執(zhí)行主程序,從而使程序擺脫“跑飛”或“死循環(huán)”狀態(tài),讓單片機歸復(fù)于正常的工作狀態(tài)。第3章思考題及習(xí)題3參考答案一、填空1 .訪問SFR只能使用尋址方式。答:直接。2 .指令格式是由和組成,也可僅由組成。答:操作碼,操作數(shù),操作碼。3 .在基址加變址尋址方式中,以作為變址寄存器,以或作為基址寄存器。答:A,PCDPTR4,假定累加器A中的內(nèi)容為30H,執(zhí)行指令1000HMOVCAA+PC后,把程序存儲器單元的內(nèi)容送入累加器A中。答:1031H5.在AT89S52中,PC和DPT赭B用于提供地址,但PC是為訪問存儲器提供地址,而DPTF為訪問存儲器提供地址。答:程序,數(shù)據(jù)6,在寄存器間

17、接尋址方式中, 其“間接”體現(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)=。POPDPHPOPDPLMOVDPTR#4000HRLAMOVB,AMOVCA,A+DPTRPUSHAccMOVA,BINCAMOVCA,A+DPTRPUSHAccRETORG4000HDB10H,80H,30H,50H,30H,50H答:(A

18、)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PQ=5030H9.假定(A)=83H,(R0)=17H,(17H)=34H,執(zhí)行以下指令后,(A)=。ANLA,#17HORL17H,AXRLA,R0CPLA答:(A)=0CBH10.假設(shè)(A)=55H,(R3)=0AAH,在執(zhí)行指令“ANLA,R3”后,(A)=(R3)=。答:(A)=00H,(R3)=0AAH11 .如果(DPTR)=507BH(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后,(DPH=,(DPL)=,(SP)=。POPDPHPOPDPLPOPSP答:(D

19、PH=3CH(DPL=5FH(SP)=50H12.假定,(SP)=60H,(A)=30H,(B)=70H,執(zhí)行下列指令后,SP的內(nèi)容為,61H單元的內(nèi)容為,62H單元的內(nèi)容為。PUSHAccPUSHB答:(SP)=62H,(61H)=30H,(62H)=70H二、判斷對錯1 .判斷以下指令的正誤。(1) MOV28HR2(2)DECDPTR;(3)INCDPTR(4)CLRR0;(5)CPLR5(6)MOVR0R1;(7)PHSHDPTR(8)MOVFQC;(9)MOVF0,Acc.3;(10)MOVXAR1(11)MOVC30H;(12)RLCR0答:(1)錯(2)錯(3)又寸(4)錯(5)

20、錯(6)錯(7)錯(8)對(9)錯(10)又寸(11)對(12)錯。2 .判斷下列說法是否正確。A.立即數(shù)尋址方式是被操作的數(shù)據(jù)本身就在指令中,而不是它的地址在指令中。B.指令周期是執(zhí)行一條指令的時間。C.指令中直接給出的操作數(shù)稱為直接尋址。D.內(nèi)部寄存器Rn(n=07)可作為間接尋址寄存器。答:A.對;B.對;C.錯;D.錯。3 .以下指令中,屬于單純讀引腳的指令是()0A.MOVP1,A;B.ORLP1,#0FH;C.MOVC,P1.5;D.ANLP1,#0FH答:Co三、單選1 .程序在運行中,當(dāng)前PC的值是 0A.當(dāng)前正在執(zhí)行指令的前一條指令的地址B.當(dāng)前正在執(zhí)行指令的地址。C.當(dāng)前正

21、在執(zhí)行指令的下一條指令的首地址D.控制器中指令寄存器的地址。答:C2 .判斷下列哪一種說法是正確的?A.PC是一個可尋址的寄存器B.單片機的主頻越高,其運算速度越快。C.AT89S52單片機中的一個機器周期為1的D.特殊功能寄存器SP內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答:B3 .對程序存儲器的讀操作,只能使用()0A.MOV指令B.PUSH旨令C.MOV游令D.MOV蠟令答:Do四、程序分析與編程1 .下列程序段經(jīng)匯編后,從1000H開始的各有關(guān)存儲單元的內(nèi)容是什么?ORG1000HTAB1EQU1234HTAB2EQU3000HDBMAINDWTAB1,TAB2,70H答:從1000H開始的各有

22、關(guān)存儲單元的內(nèi)容(16進(jìn)制)如下:4DH41H,49H,4EH12H,34H,30H,00H,00H,70H2 .編寫程序,將內(nèi)部RAMfr45H單元的高4位清“0”,低4位置“1”。答:參考程序如下:MOVA,45HANLA,#0FHORLA,#0FHMOV45H,A3 .已知程序執(zhí)行前有A=02HSP=42H(41H尸F(xiàn)FH,(42H尸F(xiàn)FH。下述程序執(zhí)行后,A=()SP=();(41H)=();(42H)=();PC=()。POPDPHPOPDPLMOVDPTR#3000HRLAMOVB,AMOVCAA+DPTRPUSHAccMOVA,BINCAMOVCA,A+DPTRPUSHAccRE

23、TORG3000HDB10H,80H,30H,80H,50H,80H答:(A)=80H,(SP)=40H,(41H)=50H,(42H)=80H,(PC)=8050H4 .編寫程序,查找在內(nèi)部RAM勺30H-50H單元中是否有0AAHa-數(shù)據(jù)。若有,則將51H單元置為“01H;若未找到,則將51H單元置為“00H。答:參考程序如下:STARTMOVR0,#30HMOVR2,#20HLOOP:MOVA,R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET5 .寫出完成如下要求的程序段,但是不能改

24、變未涉及位的內(nèi)容。A.把ACC.3ACC.4,ACC.5和ACC.6清“0”。B.把累加器A的中間4位清“0”。C.把ACC.2和ACC.3置“1”。答:A.ANLA,#87HB.ANLA,#0C3HC.ORLA,#0CH6.若SP=60H標(biāo)號LABELS在的地址為3456HLCALL旨令的地址為2000H,執(zhí)行如下指令:2000HLCALLLABEL后(1)堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?(2)PC的值等于什么?(3)如果將指令LCALL直接換成ACAL吠否可以?(4)如果換成ACALL旨令,可調(diào)用的地址范圍是程序修改后的延時時間為:1+(1+123*2+1+2)*200+2=5000

25、3肉=50.003ms9.借助表3-2,對如下指令代碼(十六進(jìn)制)進(jìn)行手工反匯編什么?(1) SP=SP+1=61HSP=SP+1=62H(2) PC=3456H(3)不可以(4)2KB=2048Byte(61H 尸 PC 的低字節(jié)=03H(62H)=PC 的高字節(jié)=20H7.試編寫程序,查找在內(nèi)部RAM勺20FH40H單元中出現(xiàn)“00H這一數(shù)據(jù)的次數(shù),并將查找到的結(jié)果存入41H單元STARTMOV41H,#0MOVR0,#20HMOVR2,#20HLOOPMOVA,R0JNZNEXTINC41HNEXTINCR0DJNZR2,LOOPRET8.對例3-22中的程序進(jìn)行修改,使其達(dá)到精確的50

26、ms延時時間:原來的程序:0100HORGD50msMOVR7,#200;執(zhí)行時間 1 小D1:MOVR6,#125;執(zhí)行時間 1 小D2:DJNZR6,D2;指令執(zhí)行 1 次為 2 因,總計 125X2=250 的DJNZR7,D1;指令執(zhí)行時間 2 因,本循環(huán)體執(zhí)行 200 次RET;指令執(zhí)行時間 2 出可對程序做如下修改:ORG0100HD50ms:MOVR7,#200D1:MOVR6,#123D2:DJNZR6,D2NOPDJNZR7,D1;將原來的立即數(shù) 125 改為 123;增加的指令參考程序如下:RETFFHC0HE0H,E5HF0H,F0H答:MOVR7,APUSHAccMOV

27、A,BMOVXDPTRA五、簡答1 .說明偽指令的作用。“偽”的含義是什么?常用偽指令有哪些?其功能如何?答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒有相應(yīng)的機器代碼產(chǎn)生。常用偽指令及功能如下:ORG(ORiGin)匯編起始地址命令;END(ENfassembly)匯編終止命令;EQU(EQUate標(biāo)號賦值命令;DB(DefineByte)定義數(shù)據(jù)字節(jié)命令;DW(DefineWord)定義數(shù)據(jù)字命令;DS(DefineStorage)定義存儲區(qū)命令;BIT位定義命令2 .解釋下列術(shù)語:手工匯編

28、、機器匯編、反匯編答:手工匯編:通過查指令的機器代碼表(表3-2),逐個把助記符指令“翻譯”成機器代碼,再進(jìn)行調(diào)試和運行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。機器匯編: 借助于微型計算機上的軟件(匯編程序)來代替手工匯編。 通過在微機上運行匯編程序,把匯編語言源程序翻譯成機器代碼。反匯編:將二進(jìn)制的機器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。3 .設(shè)計子程序時應(yīng)注意哪些問題?答:編寫子程序時應(yīng)注意以下問題:子程序的第一條指令前必須有標(biāo)號。主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令:1絕對調(diào)用指令A(yù)CALLaddr11o被調(diào)用的子程序的首地址與絕對調(diào)用指令的下一條指令的高5位

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

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

31、位地址送入,使程序執(zhí)行轉(zhuǎn)向中的中斷地址區(qū)。答:PCPC程序存儲器4 .AT89S52單片機復(fù)位后,中斷優(yōu)先級最高的中斷源是。答:外部中斷05 .當(dāng)AT89S5印片機響應(yīng)中斷后,必須用軟件清除的中斷請求標(biāo)志是。答:串行中斷、定時器/計數(shù)器T2中斷二、單選1 .下列說法錯誤的是()。A.同一級別的中斷請求按時間的先后順序響應(yīng)B.同一時間同一級別的多中斷請求,將形成阻塞,系統(tǒng)無法響應(yīng)C.低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求能中斷低優(yōu)先A.當(dāng)前正在進(jìn)行高優(yōu)先級中斷處理B.當(dāng)前正在執(zhí)行RETI指令C.當(dāng)前指令是MOVAR3D.當(dāng)前指令是DIV指令,且正處于取指令的機器周期答:C

32、4.下列說法正確的是()。A.各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在B.各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在C.各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在D.各中斷源發(fā)出的中斷請求信號,都會標(biāo)記在中答:D三、判斷對錯1 .定時器T0中斷可以被外部中斷0中斷。錯2 .必須有中斷源發(fā)出中斷請求,并且CPUFF中斷,CPU可能響應(yīng)中斷。錯3 .AT89S52單片機中的同級中斷不能嵌套。對4.同為高中斷優(yōu)先級,外部中斷0能打斷正在執(zhí)行的外部中斷1的中斷服務(wù)程序。錯5 .中斷服務(wù)子程序可以直接調(diào)用。錯6 .在開中斷的前提下,只要中斷源發(fā)出中斷請求,CPUM會立刻響應(yīng)中斷。錯級中斷請求D.同級中斷不能嵌套答

33、:B2.在AT89S52的中斷請求源中,需A.電平方式的外部中斷請求B.跳沿方式的外部中斷請求C外部串行中斷D.定時中斷答:A3.中斷查詢確認(rèn)后,在下列各種要外加電路實現(xiàn)中斷撤銷的是(AT89S52單片機運行情況F,能立即進(jìn)行響應(yīng)的是(AT89S52的IE寄存器中AT89S52的TMODf存器中AT89S52的IP寄存器中AT89S52勺TCONSCONU及T2CO隔存器四、簡答1 .中斷服務(wù)子程序與普通子程序有哪些相同和不同之處?答:RETI指令在返回的同時自動消除相應(yīng)的不可尋址的優(yōu)先級觸發(fā)器,以允許下次中斷,而RET旨令則沒有這個操作。除了這一點兩條指令不同外,其它操作都相同。2 .AT8

34、9S52單片機響應(yīng)外部中斷的典型時間是多少?在哪些情況下,CPU將推遲對外部中斷請求的響應(yīng)?答:在一個單一中斷的系統(tǒng)里,AT89S51單片機對外部中斷請求的響應(yīng)時間總是在38個機器周期之間。在下述三種情況下,AT89S51將推遲對外部中斷請求的響應(yīng):(1) AT89S521E在處理同級或更高優(yōu)先級的中斷。1 2)所查詢的機器周期不是當(dāng)前正在執(zhí)行指令的最后一個機器周期。2 3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。如果存在上述三種情況之一,AT89S52將丟棄中斷查詢結(jié)果,將推遲對外部中斷請求的響應(yīng)。3 .中斷響應(yīng)需要滿足哪些條件?答:一個中斷源的中斷請求被響應(yīng),必須滿足以下條件:(

35、1)總中斷允許開關(guān)接通,即IE寄存器中的中斷總允許位EA=10(2)該中斷源發(fā)出中斷請求,即該中斷源對應(yīng)的中斷請求標(biāo)志為“1”。(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無同級或更高級中斷正在被服務(wù)。4 .編寫外部中斷1為跳沿觸發(fā)的中斷初始化程序段。答:參考程序段如下:SETBIT1SETBEX1SETBEA5 .某系統(tǒng)有三個外部中斷源IR1、IR2和IR3,當(dāng)某一中斷源發(fā)出的中斷請求使INT1引腳變?yōu)榈碗娖綍r(參見圖4-11),便要求CPU!行處理,它們的優(yōu)先處理次序由高到低為IR3、IR2、IR1,中斷處理程序的入口地址分別為1000H1100H1200H試編寫主程序及中斷服務(wù)

36、子程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。參考程序如下:ORG0000HLJMPMAINORG0013HLJMPINT_EX1ORG0030HMAIN:CLRIT0SETBEX1SETBEA;插入一段用戶程序WAIT:AJMPWAIT;以下為外部中斷1服務(wù)子程序INT_EX1: JBP1.2,NEXT1LJMPINT_IR3NEXT1:JBP1.1,NEXT2LJMPINT_IR2NEXT2:LJMPINT_IR1ORG1000HINT_IR3:相應(yīng)中斷處理程序RETIORG100HINT_IR2:相應(yīng)中斷處理程序RETIORG200HINT_IR1:相應(yīng)中斷處理程序RETI;采用電平觸發(fā),

37、低電平有效中斷;允許外部中斷1;單片機等待中斷;判斷是不是IR3中斷;跳轉(zhuǎn)到IR3中斷處理程序;判斷是不是IR2中斷;跳轉(zhuǎn)到IR2中斷處理程序;跳轉(zhuǎn)到IR1中斷處理程序;中斷返回;中斷返回答:參見電路如圖4-11第5章思考題及習(xí)題5參考答案一、填空1.如果采用晶振的頻率為3MHz定時器/計數(shù)器Tx(x=0,1)工作在方式0、1、2下,其方式0的最大定時時間為,方式1的最大定時時間為,方式2的最大定時時間為。答:32.768ms,262.144ms,1024的2 .定時器/計數(shù)器用作計數(shù)器模式時,外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)時鐘頻率的。答:1/243 .定時器/計數(shù)器用作定時器模式時,其計

38、數(shù)脈沖由提供,定時時間與有關(guān)。答:系統(tǒng)時鐘信號12分頻后,定時器初值4 .定時器/計數(shù)器T1測量某正單脈沖的寬度, 采用方式可得到最大量程?若時鐘頻率為6MHz求允許測量的最大脈沖寬度為。答:方式1定時,131.072ms。5 .定時器T2有3種工作方式:、和,可通過對寄存器中的相關(guān)位進(jìn)行軟件設(shè)置來選擇。答:捕捉,重新裝載(增計數(shù)或減計數(shù)),波特率發(fā)生器,T2CON6 .AT89S52單片機的晶振為6MHz若利用定時器T1的方式1定時2ms,則(TH1)=,(TL1)=。答:FCH18H二、單選1 .定時器T0工作在方式3時,定時器T1有種工作方式。A.1種B.2種C.3種D.4種答:C2 .

39、定時器T0、T1工作于方式1時,其計數(shù)器為位A.8位B.16位C.14位D.13位答:B3 .定時器T0、T1的GATE=1時,其計數(shù)器是否計數(shù)的條件C.是由TFX和而兩個條件來共同控制D.僅取決于INT的狀態(tài)答:C4 .定時器T2工作在自動重裝載方式時,其計數(shù)器為位。A.8位B.13位C.14位D.16位答:D5 .要想測量IN訶引腳上的正單脈沖的寬度,特殊功能寄存器TMO咐內(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)。錯

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

41、 .TH與TLX(x=0,1)是普通寄存器還是計數(shù)器?其內(nèi)容可以隨時用指令更改嗎?更改后的新值是立即刷新還是等當(dāng)前計數(shù)器計滿后才能刷新?A.僅取決于TFX狀態(tài)B.僅取決于GATEe:狀態(tài)答:THx與TLx(x=0,1)是計數(shù)器,其內(nèi)容可以隨時用指令更改,但是更改后的新值要等當(dāng)前計數(shù)器計滿后才能刷新。3.如果系統(tǒng)的晶振的頻率為24MHz定時器/計數(shù)器工作在方式0、1、2下,其最大定時時間各為多少?答:晶振的頻率為24MHz,機器周期為0.5ps0方式0最大定時時間=0.5ps213=0.5psX8192=4096小方式1最大定時時間=0.5ps216=0.5仙sX65536=327686心方式2

42、最大定時時間=0.5s28=0.5psX256=128小4 .定時器/計數(shù)器Tx(x=0,1)的方式2有什么特點?適用于哪些應(yīng)用場合?答:定時器/計數(shù)器的工作方式2具有自動恢復(fù)初值的特點,適用于精確定時,例如波特率的產(chǎn)生。5 .一個定時器的定時時間有限,如何用兩個定時器的串行定時來實現(xiàn)較長時間的定時?答:方法1,在第一個定時器的中斷程序里關(guān)閉本定時器的中斷程序,設(shè)置和打開另一個定時器;在另一個定時器的中斷程序中關(guān)閉本定時中斷,設(shè)置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。方法2,一個作為定時器,在定時中斷后產(chǎn)生一個外部計數(shù)脈沖(比如由P1.0接而0產(chǎn)生),另一個定時器工作在計數(shù)方式。這樣兩個定時器的定時時間為一個定時器的定時時間乘以另一個定時器的計數(shù)值。6 .當(dāng)定時器T0用于方式3時,應(yīng)該如何控制定時器T1的啟動和關(guān)閉?答:由TMODJ存器的D6位“C/T*”來控制定時器T1的啟動和關(guān)閉。7 .THX與TLX(x=0,1)是普通寄存器還是計數(shù)器?其內(nèi)容可以隨時用指令更改嗎?更改后的新值是立即刷新還是等當(dāng)前計數(shù)器計滿后才能刷新?答:THx與TLx(x=0,1)是由特殊功能寄存器構(gòu)成的計數(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

提交評論