單片機原理及應用第三版課后習題答案_第1頁
單片機原理及應用第三版課后習題答案_第2頁
單片機原理及應用第三版課后習題答案_第3頁
單片機原理及應用第三版課后習題答案_第4頁
單片機原理及應用第三版課后習題答案_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、單片機中的哪一型號的產品? “ S”的含義是什么?答:相當于MCS-51系列中的87C51,只不過是AT89S51芯片內的4K字節(jié)Flash存儲器取 代了 87C51片內的4K字節(jié)的EPROM3 .單片機可分為商用、工業(yè)用、汽車用以及軍用產品,它們的使用溫度范圍各為多少?答:商用:溫度范圍為 0+70C;工業(yè)用:溫度范圍為-40+85C;汽車用:溫度范圍 為-40+125C;軍用:溫度范圍為-55+150C。4,解釋什么是單片機的在系統(tǒng)編程(ISP)與在線應用編程(IAP) o答:單片機的在系統(tǒng)編程ISP (In System Program),也稱在線編程,只需一條與 PC機 USB口或串口

5、相連的ISP下載線,就可把仿真調試通過的程序代碼從 PC機在線寫入單片機的 Flash存儲器內,省去了編程器。在線應用編程(IAP)就是可將單片機的閃存內的應用程序 在線修改升級。5,什么是“嵌入式系統(tǒng)” ?系統(tǒng)中嵌入了單片機作為控制器,是否可稱其為“嵌入式系統(tǒng)” ?答:廣義上講,凡是系統(tǒng)中嵌入了 “嵌入式處理器”,如單片機、DSP嵌入式微處理器, 都稱其為“嵌入式系統(tǒng)”。但多數人把“嵌入”嵌入式微處理器的系統(tǒng),稱為“嵌入式系統(tǒng)”。 目前“嵌入式系統(tǒng)”還沒有一個嚴格和權威的定義。目前人們所說的“嵌入式系統(tǒng)”,多指 后者。6.嵌入式處理器家族中的單片機、DSP嵌入式微處理器各有何特點?它們的應用

6、領域有何 不同?答:單片機體積小、價格低且易于掌握和普及,很容易嵌入到各種通用目的的系統(tǒng)中, 實現各種方式的檢測和控制。單片機在嵌入式處理器市場占有率最高,最大特點是價格低, 體積小,應用廣泛。DSF®一種非常擅長于高速實現各種數字信號處理運算(如數字濾波、FFT、頻譜分析等) 的嵌入式處理器。能夠高速完成各種復雜的數字信號處理算法。廣泛地用于通訊、網絡通信、 數字圖像處理,電機控制系統(tǒng),生物信息識別終端,實時語音壓解系統(tǒng)等。這類智能化算法 一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這正是DSP的長處所在。與單片機相比,DSP具有的實現高速運算的硬件結構及指令和多總線

7、,DSPtt理的算法的復雜 度和大的數據處理流量以及片內集成的多種功能部件更是單片機不可企及的。嵌入式微處理器的基礎是通用計算機中的 CPU地址總線數目較多,能擴展容量較大的存 儲器,所以可配置實時多任務操作系統(tǒng)(RTOS> RTOSIg夠處理復雜的系統(tǒng)管理任務和處理工 作。因此,廣泛地應用在移動計算平臺、媒體手機、工業(yè)控制和商業(yè)領域(例如,智能工控 設備、ATM機等)、電子商務平臺、信息家電(機頂盒、數字電視)以及軍事上的應用。第2章思考題及習題2參考答案一、填空1 .在AT89S52單片機中,如果采用6MHzft振,一個機器周期為 。答:2的2 . AT89S52單片機的機器周期等于

8、 個時鐘振蕩周期。答:123 .內部RAMK位地址為40H、88H的位,該位所在字節(jié)的字節(jié)地址分別為和。答:28H, 88H4 .片內字節(jié)地址為2AH單元最低位的位地址是;片內字節(jié)地址為A8H單元的最低 位的位地址為。答:50H, A8H5 .若A中的內容為63H,那么,P標志位的值為。答:06 . AT89S52t1片機復位后,R4所對應的存儲單元的地址為 ,因上電時PSW。 這時當前的工作寄存器區(qū)是 組工作寄存器區(qū)。答:04H, 00H, 007 .內部RAW,可作為工作寄存器區(qū)的單元地址為 H_ L 。答:00H, 1FH8 .通過堆棧操作實現子程序調用時,首先要把 的內容入棧,以進行斷

9、點保護。調 用子程序返回指令時,再進行出棧保護,把保護的斷點送回到 ,先彈出的是原來 中的內容。答:PC, PC, PCH9 . AT89S5印片機程序存儲器的尋址范圍是由程序計數器PC的位數所決定的,因為AT89S5彈 片機的PC是16位的,因此其尋址的范圍為KB 。答:6410 . AT89S52單片機復位時,P0P3口的各引腳為 電平。答:高11 . AT89S52單片機使用片外振蕩器作為時鐘信號時,引腳 XTAL1接,引腳XTAL2 的接法是。答:片外振蕩器的輸出信號,懸空12 . AT89S52單片機復位時,堆棧指針 SP中的內容為,程序指針PC中的內容為二、單選1 .程序在運行中,

10、當前PC的值是 0A .當前正在執(zhí)行指令的前一條指令的地址B .當前正在執(zhí)行指令的地址。C .當前正在執(zhí)行指令的下一條指令的首地址D .控制器中指令寄存器的地址。答:C2 .判斷下列哪一種說法是正確的?A . PC是一個可尋址的寄存器B .單片機的主頻越高,其運算速度越快。C. AT89S52單片機中的一個機器周期為1的D.特殊功能寄存器SP內存放的是堆棧棧頂單元的內容。答:B三、判斷對錯1. 使用AT89S52t1片機且引腳EA=1時,仍可外擴64KB的程序存儲器。錯2. 區(qū)分片外程序存儲器和片外數據存儲器的最可靠的方法是看其位于地址范圍的低端還是 高端。錯3. 在AT89S52單片機中,為

11、使準雙向的I/O 口工作在輸入方式,必須事先預置為 1。對4. PC可以看成是程序存儲器的地址指針。對5. AT89S52單片機中特殊功能寄存器(SFR使用片內RAM勺部份字節(jié)地址。對6. 片內RAM勺位尋址區(qū),只能供位尋址使用,而不能進行字節(jié)尋址。錯7. AT89S52單片機共有32個特殊功能寄存器,它們的位都是可以用軟件設置的,因此,都 是可以位尋址的。錯8. 堆棧區(qū)是單片機內部的一個特殊區(qū)域,與 RAM6關。錯9. AT89S52單片機進入空閑模式,CPU亭止工作。片內的外圍電路(如中斷系統(tǒng)、用行口和 定時器)仍將繼續(xù)工作。對10. AT89S52單片機不論是進入空閑模式還是掉電運行模式

12、后,片內RAMffi SFR中的內容均保持原來的狀態(tài)。對11. AT89S52單片機進入掉電運行模式,CPUffi片內的外圍電路(如中斷系統(tǒng)、用行口和定時 器)均停止工作。對12. AT89S52單片機的掉電運行模式可采用響應中斷方式來退出。對四、簡答1. AT89S52單片機片內都集成了哪些功能部件?答:集成了如下部件:1個微處理器(CPU ; 256個數據存儲器(RAM單元;8K Flash程序存儲器;4個8位可 編程并行I/O 口(P0口、P1 口、P2口、P3口); 1個全雙工用行口; 3個16位定時器/計數器; 1個看門狗定時器;一個中斷系統(tǒng),6個中斷源,2個優(yōu)先級;32個特殊功能寄

13、存器(SFR o2. AT89S52的64KB程序存儲器空間有6個單元地址對應AT89S52單片機6個中斷源的中斷入 口地址,請寫出這些單元的入口地址及對應的中斷源。答:見下表表AT89S52各中斷源的中斷入口地址中斷源入口地址外部中斷00003H定時器/計數器T0000BH外部中斷10013H定時器/計數器T1001BH串行口0023H定時器/計數器T2002BH3. 說明AT89S52t1片機的EA引腳接高電平或低電平的區(qū)別 答:當EA腳為高電平時,單片機讀片內程序存儲器(8K字節(jié)Flash)中的內容,但在PCfi超 過0FFFH(即超出46節(jié)地址范圍)時,將自動轉向讀外部程序存儲器內的程

14、序;當 EA腳為 低電平時,單片機只對外部程序存儲器的地址為 0000H- FFFFHH勺內容進行讀操作,單片機 不理會片內的8K字節(jié)的Flash程序存儲器。4. AT89S52單片機有哪兩種低功耗節(jié)電模式?說明兩種低功耗節(jié)電模式的異同。答:AT89S52單片機有兩種低功耗節(jié)電工作模式:空閑模式(idle mode和掉電模式(power down mode。空閑模式下,雖然振蕩器仍然運行,但是 CPU進入空閑狀態(tài)。此時,片內所有外圍電路 (中斷系統(tǒng)、用行口和定時器)仍繼續(xù)工作,SR PG PSW A、P0P3端口等所有其他寄存器,以及內部RAMf口 SFR中的內容均保持進入空閑模式前的狀態(tài)。因

15、為 CPlft電量通常要占 芯片耗電的80%-90%因此CPU亭止工作則會大大降低功耗。掉電模式下,振蕩器停止工作。由于沒有了時鐘信號,內部的所有部件均停止工作,但 片內的RAMf口 SFR的原來內容都被保留,有關端口的輸出狀態(tài)值都保存在對應的特殊功能寄 存器中。5. AT89S52單片機運行時程序出現“跑飛”或陷入“死循環(huán)時,說明如何利用看門狗來擺 脫困境的工作原理。答:可采用看門狗定時器。工作原理如下:“看門狗”技術就是使用一個“看門狗”定時器來對系統(tǒng)時鐘不斷計數,監(jiān)視程序的運 行。當看門狗定時器啟動運行后,為防止看門狗定時器的不必要溢出而引起單片機的非正常 的復位,應定期地把看門狗定時器

16、清 0,以保證看門狗定時器不溢出。當由于干擾,使單片機程序“跑飛”或陷入“死循環(huán)”時,單片機也就不能正常運行程序來定時地把看門狗定時器清 0,當看門狗定時器計滿溢出時,將在 AT89S52的RST弓|腳上 輸出一個正脈沖(寬度為98個時鐘周期),使單片機復位,在系統(tǒng)的復位入口 0000H處重新 開始執(zhí)行主程序,從而使程序擺脫“跑飛”或“死循環(huán)”狀態(tài),讓單片機歸復于正常的工作狀態(tài)。第3章 思考題及習題3參考答案一、填空1 .訪問SFR只能使用 尋址方式。答:直接。2 .指令格式是由 和 組成,也可僅由 組成。答:操作碼,操作數,操作碼。3 .在基址加變址尋址方式中,以 作為變址寄存器,以 或 作

17、為基址寄存器。答:A, PG DPTR4 .假定累加器A中的內容為30H,執(zhí)行指令1000HMOVC A A+PC后,把程序存儲器 單元的內容送入累加器A中。答:1031H5 .在AT89S52中,PC和DPT赭B用于提供地址,但PC是為訪問 存儲器提供地址,而DPTF®為訪問 存儲器提供地址。答:程序,數據6 .在寄存器間接尋址方式中,其“間接”體現在指令中寄存器的內容不是操作數,而是操 作數的。答:地址7 .下列程序段的功能是 。答:A的內容與B的內容互換。AccBAccBPUSHPUSHPOPPOP8 .已知程序執(zhí)行前有 (A)=02H, (SP)=52H, (51H)=FFH

18、, (52H)=FFH。下述程序執(zhí)行后,(A)=, (SP)=, (51H)=, (52H)=, (PC) =。 POPDPHPOPDPLMOVDPTR#4000HRLAMOVB, AMOVCA, A+DPTRPUSHAccMOVA, BINCAMOVC A, A+DPTR PUSH AccRET ORG 4000HDB10H, 80H, 30H, 50H, 30H, 50H答:(A) =50H, (SP =50H, (51H) =30H, (52H) =50H, (P。= 5030H9 .假定(A)=83H, (R0)=17H, (17H)=34H,執(zhí)行以下指令后,(A)=。ANLA,#17

19、HORL17H, AXRLA,R0CPLA答:(A) =0CBH10 .假設(A)=55H,(R3)=0AAH在執(zhí)行指令 “ANL A,R3'后,(A尸,(R3)= 答:(A) =00H, (R3) =0AAH11 . in<(DPTR)=507BH(SP)=32H, (30H)=50H, (31H)=5FH, (32H)=3CH,則執(zhí)行下列指令后, (DPH =, (DPL)=, (SP)=。POP DPHPOP DPLPOP SP答:(DPH =3CH ( DPI) =5FH, (SP) =50H12 .假定,(SP)=60H, (A)=30H, (B)=70H,執(zhí)行下列指令

20、后,SP的內容為, 61H單 元的內容為, 62H單元的內容為。PUSH AccPUSH B答:(SP) =62H, (61H) =30H, (62H) =70H二、判斷對錯1 .判斷以下指令的正誤。(1) MOV 28H R2 (2) DEC DPTR ; (3) INC DPTR; (4) CLR R0 ; (5) CPL R5(6) MOV RQ R1; (7) PHSH DPTR (8) MOV FQ C; (9) MOV F0, Acc.3;(10) MOVX A R 1 (11) MOV G 30H; (12) RLC R0答:(1)錯(2)錯(3)對(4)錯(5)錯(6)錯(7)

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

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

23、ot;MAIN"DW TAB1 , TAB2, 70H答:從1000H開始的各有關存儲單元的內容(16進制)如下:4DH 41H, 49H, 4EH 12H, 34H, 30H, 00H, 00H, 70H2 .編寫程序,將內部RAMfr 45H單元的高4位清“0”,低4位置“1”。答:參考程序如下:MOV A, 45HANLA, #0FHORLA, #0FHMOV 45H, A3 .已知程序執(zhí)行前有 A=02H SP=42H(41H尸FFH, (42H尸FFH。下述程序執(zhí)行后,A=()SP=( ); (41H)=(); (42H)=(); PC=()。POP DPHPOP DPLM

24、OV DPTR #3000H RL AMOV B, AMOVCA, A+DPTRPUSH AccMOV A, BINC AMOVC A A+DPTRPUSH Acc RET ORG 3000H DB10H, 80H, 30H, 80H, 50H, 80H答:(A) =80H , (SP) =40H, (41H)=50H, (42H)=80H , (PC) =8050H4 .編寫程序,查找在內部RAM勺30H-50H單元中是否有0AAHa-數據。若有,則將51H單 元置為“01H'若未找到,則將51H單元置為“00H'。答:參考程序如下:STARTMOV R0,#30HMOVR2

25、,#20HLOOP:MOVA,R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET5.寫出完成如下要求的程序段,但是不能改變未涉及位的內容A.把 ACC.3 ACC.4, ACC.5和 ACC.6清 “0” 。B.把累加器A的中間4位清“0” oC.把 ACC.2和 ACC.3 置 “1”答:A.ANL A,#87HB. ANL A,#0C3HC. ORL A,#0CH6 .若SP=60H標號LABELM在的地址為3456H LCALL指令的地址為2000H,執(zhí)行如下指令:2000H LCAL

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

27、, #20HMOV R2, #20HLOOP MOV A,R0JNZ NEXTINC 41HNEXT INC R0DJNZ R2, LOOPRET50ms延時時間8 .對例3-22中的程序進行修改,使其達到精確的答:原來的程序:ORG 0100HD50ms MOV R7,#200D1:MOV R6,#125D2:DJNZ R6,D2DJNZ R7,D1;執(zhí)行時間1的;執(zhí)行時間1的;指令執(zhí)行1次為2肉,總計125 X 2=250的;指令執(zhí)行時間2的,本循環(huán)體執(zhí)行200次;指令執(zhí)行時間2的ORG0100HD50ms:MOVR7, #200D1:MOVR6, #123D2:DJNZR6, D2NOP

28、DJNZR7, D1RET可對程序做如下修改:;將原來的立即數125改為123;增加的指令RET程序修改后的延時時間為:1+(1+123*2+1+2)*200+2=50003 肉=50.003ms9 .借助表3-2 ,對如下指令代碼(十六進制)進行手工反匯編。FFH C0H E0H, E5H F0H,F0HMOV R7, APUSH AccMOVA, BMOVX DPT RA五、簡答1 .說明偽指令的作用。“偽”的含義是什么?常用偽指令有哪些?其功能如何?答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在 匯編過程中的用來控制匯編過程的命令。所謂“偽”是體現在匯編后,

29、偽指令沒有相應的機 器代碼產生。常用偽指令及功能如下:ORG(ORiGin)匯編起始地址命令;END(ENOf assembly)匯編終止命令;EQU(EQUate 標號賦值命令;DB(Define Byte)定義數據字節(jié)命令;DW; Define Word)定義數據字命令; DS (Define Storage )定義存儲區(qū)命令;BIT位定義命令2 .解釋下列術語:手工匯編、機器匯編、反匯編答:手工匯編:通過查指令的機器代碼表(表3-2),逐個把助記符指令“翻譯”成機器代碼, 再進行調試和運行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。機器匯編:借助于微型計算機上的軟件(匯編程序)來代

30、替手工匯編。通過在微機上運行 匯編程序,把匯編語言源程序翻譯成機器代碼。反匯編:將二進制的機器碼程序翻譯成匯編語言源程序的過程稱為“反匯編”。3 .設計子程序時應注意哪些問題?答:編寫子程序時應注意以下問題:子程序的第一條指令前必須有標號。主程序調用子程序,有如下兩條子程序調用指令: 絕對調用指令 ACALL addr11o被調用的子程序的首地址與絕對調用指令的下一條指 令的高5位地址相同,即只能在同一個 2KB區(qū)內。 長調用指令LCALL addr16o addr16為直接調用的目的地址,被調用的子程序可放置 在64KB程序存儲器區(qū)的任意位置。子程序結構中必須用到堆棧,用來保護斷點和現場保護

31、。子程序返回時,必須以RET指令結束。子程序可以嵌套,但要注意堆棧的沖突。4 .為什么對基本型的8051子系列單片機,其寄存器間接尋址方式(例如MOV A R0中,規(guī)定R0或R1的內容不能超過7FH?而對增強型的8052子系列單片機,R0或R1的內容 就不受限制?答:基本型的8051子系列單片機,由于其片內 RAM勺地址范圍為00+7FH,而80+FFH 為特殊功能寄存器區(qū),而對特殊功能寄存器尋址,只能使用直接尋址方式。對片內RAM1址, 當使用寄存器間接尋址是采用 R0或R1作為間接尋址的,因此R0或R1的內容不能超過7FH增強型的8052子系列單片機,片內RAM勺地址范圍為00HFFH因此

32、作為間接尋址寄存 器的R0或R1的內容就不受限制。第4章 思考題及習題4參考答案、填空1 .外部中斷1的中斷入口地址為 。定時器T1的中斷入口地址為 。答:0013H; 001BH2 .若(IP) =00010100B則優(yōu)先級最高者為 ,最低者為。答:外部中斷1,定時器T13 . AT89S52單片機響應中斷后,產生長調用指令LCALL執(zhí)行該指令的過程包括:首先把的內容壓入堆棧,以進行斷點保護,然后把長調用指令的16位地址送入,使程序執(zhí)行轉向 中的中斷地址區(qū)。答:PC PC程序存儲器4 . AT89S52單片機復位后,中斷優(yōu)先級最高的中斷源是 。答:外部中斷05 .當AT89S5印片機響應中斷

33、后,必須用軟件清除的中斷請求標志是 。答:串行中斷、定時器/計數器T2中斷二、單選1.下列說法錯誤的是()。A,同一級別的中斷請求按時間的先后順序響應B.同一時間同一級別的多中斷請求,將形成阻塞,系統(tǒng)無法響應C.低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求, 但是高優(yōu)先級中斷請求能中斷低優(yōu)先 級中斷請求D.同級中斷不能嵌套答:B2.在AT89S52的中斷請求源中,需要外加電路實現中斷撤銷的是()。A.電平方式的外部中斷請求B.跳沿方式的外部中斷請求C外部串行中斷D.定時中斷答:A3 .中斷查詢確認后,在下列各種 AT89S52單片機運行情況下,能立即進行響應的是()A.當前正在進行高優(yōu)先級中斷處理

34、B.當前正在執(zhí)行RETI指令C.當前指令是 MOV A R3D.當前指令是DIV指令,且正處于取指令的機器周期答:C4 .下列說法正確的是(A.各中斷源發(fā)出的中斷請求信號,都會標記在AT89S52的IE寄存器中B.各中斷源發(fā)出的中斷請求信號,都會標記在AT89S52的TMODJ存器中C.各中斷源發(fā)出的中斷請求信號,都會標記在AT89S52的IP寄存器中D.各中斷源發(fā)出的中斷請求信號,都會標記在AT89S52勺TCON SCO阻及T2CO隔存器三、判斷對錯1.定時器T0中斷可以被外部中斷0中斷。錯2.必須有中斷源發(fā)出中斷請求,并且 CPUF中斷,CPUt可能響應中斷。錯3.AT89S52單片機中

35、的同級中斷不能嵌套。 對4.同為高中斷優(yōu)先級,外部中斷 0能打斷正在執(zhí)行的外部中斷1的中斷服務程序。錯5.中斷服務子程序可以直接調用。錯6.在開中斷的前提下,只要中斷源發(fā)出中斷請求,CPUS會立刻響應中斷。錯四、簡答1 .中斷服務子程序與普通子程序有哪些相同和不同之處?答:RETI指令在返回的同時自動消除相應的不可尋址的優(yōu)先級觸發(fā)器,以允許下次中 斷,而RET旨令則沒有這個操作。除了這一點兩條指令不同外,其它操作都相同。2 . AT89S52單片機響應外部中斷的典型時間是多少?在哪些情況下,CPU將推遲對外部中斷請求的響應?答:在一個單一中斷的系統(tǒng)里, AT89S51單片機對外部中斷請求的響應

36、時間總是在38個機器周期之間。在下述三種情況下,AT89S51將推遲對外部中斷請求的響應:(1) AT89S521E在處理同級或更高優(yōu)先級的中斷。(2)所查詢的機器周期不是當前正在執(zhí)行指令的最后一個機器周期。(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。如果存在上述三種情況之一,AT89S52將丟棄中斷查詢結果,將推遲對外部中斷請求的 響應。3 .中斷響應需要滿足哪些條件?答:一個中斷源的中斷請求被響應,必須滿足以下條件:(1)總中斷允許開關接通,即IE寄存器中的中斷總允許位 EA=10(2)該中斷源發(fā)出中斷請求,即該中斷源對應的中斷請求標志為“1”。(3)該中斷源的中斷允許位=1,

37、即該中斷被允許。(4)無同級或更高級中斷正在被服務。4 .編寫外部中斷1為跳沿觸發(fā)的中斷初始化程序段。答:參考程序段如下:SETB IT1SETB EX1SETB EA5 .某系統(tǒng)有三個外部中斷源IR1、IR2和IR3,當某一中斷源發(fā)出的中斷請求使INT1引腳變 為低電平時(參見圖4-11),便要求CPU!行處理,它們的優(yōu)先處理次序由高到低為IR3、IR2、IR1 ,中斷處理程序的入口地址分別為1000H, 1100H 1200Ho試編寫主程序及中斷服務子程序(轉至相應的中斷處理程序的入口即可)。參考程序如下:答:參見電路如圖4-11ORG 0000HLJMP MAINORG 0013HLJM

38、P INT_EX1ORG 0030HMAIN:CLR IT0SETB EX1SETB EA;插入一段用戶程序WAIT:AJMPWAIT;以下為外部中斷1服務子程序INT_EX1:JBP1.2, NEXT1LJMPINT_IR3NEXT1:JBP1.1 , NEXT2LJMPINT_IR2NEXT2:LJMPINT_IR1ORG1000HINT_IR3:相應中斷處理程序RETI;采用電平觸發(fā),低電平有效中斷1;單片機等待中斷;判斷是不是IR3中斷;跳轉到IR3中斷處理程序;判斷是不是IR2中斷;跳轉到IR2中斷處理程序;跳轉到IR1中斷處理程序;中斷返回ORG100HINT_IR2:相應中斷處理

39、程序RETI;中斷返回ORG200HINT_IR1:相應中斷處理程序RETI;中斷返回第5章 思考題及習題5參考答案、填空1 .如果采用晶振的頻率為3MHz定時器/計數器Tx (x=0,1)工作在方式0、1、2下,其方 式0的最大定時時間為 ,方式1的最大定時時間為 ,方式2的最大定時 時間為。答:32.768ms, 262.144ms, 1024 的2 .定時器/計數器用作計數器模式時,外部輸入的計數脈沖的最高頻率為系統(tǒng)時鐘頻率 的。答:1/243 .定時器/計數器用作定時器模式時,其計數脈沖由 提供,定時時間與 有 關。答:系統(tǒng)時鐘信號12分頻后,定時器初值4 .定時器/計數器T1測量某正

40、單脈沖的寬度,采用 方式可得到最大量程?若時鐘 頻率為6MHz求允許測量的最大脈沖寬度為 。答:方式1定時,131.072ms。5 .定時器T2有3種工作方式: 、和,可通過對寄存器 中 的相關位進行軟件設置來選擇。答:捕捉,重新裝載(增計數或減計數),波特率發(fā)生器, T2CON6 . AT89S52單片機的晶振為6MHz若利用定時器T1的方式1定時2ms,則(TH。=(TL1) =。答:FCH 18H、單選1 .定時器T0工作在方式3時,定時器T1有 種工作方式A.1種 B.2種 C . 3種 D. 4種答:C2 .定時器T0、T1工作于方式1時,其計數器為 位。A.8 位 B.16 位 C

41、.14 位 D.13 位 答:B3 .定時器T0、T1的GATE=1時,其計數器是否計數的條件 。A.僅取決于TFX狀態(tài)B.僅取決于GAT時狀態(tài)C.是由TFX和 E 兩個條件來共同控制D.僅取決于 椿的狀態(tài)答:C4 .定時器T2工作在自動重裝載方式時,其計數器為 位。A.8 位 B. 13 位 C.14 位 D. 16 位答:D5 .要想測量INTO引腳上的正單脈沖的寬度,特殊功能寄存器 TMODJ內容應為。A.87H B. 09H C.80H D. 00H答:B三、判斷對錯1,下列關于T0、T1的哪些說法是正確的。A.特殊功能寄存器SCON與定時器/計數器的控制無關。對B.特殊功能寄存器TC

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

43、指令反復裝入計數初值影響定時精度的問題。2 . 丁味與丁口(x =0, 1)是普通寄存器還是計數器?其內容可以隨時用指令更改嗎?更改 后的新值是立即刷新還是等當前計數器計滿后才能刷新?答:THx與TLx (x = 0, 1)是計數器,其內容可以隨時用指令更改,但是更改后的新 值要等當前計數器計滿后才能刷新。3 .如果系統(tǒng)的晶振的頻率為 24MHz定時器/計數器工作在方式0、1、2下,其最大定時時 間各為多少?答:晶振的頻率為24MHz,機器周期為0.5 ps0方式0最大定時時間=0.5 ps>213=0.5 psX 8192=4096小方式1最大定時時間=0.5 ps>216=0.

44、5仙sX 65536=327686心方式2最大定時時間=0.5 s>28=0.5 psX 256=128小4 .定時器/計數器Tx (x=0, 1)的方式2有什么特點?適用于哪些應用場合?答:定時器/計數器的工作方式2具有自動恢復初值的特點,適用于精確定時,例如波特率的 產生。5 . 一個定時器的定時時間有限,如何用兩個定時器的串行定時來實現較長時間的定時?答:方法1,在第一個定時器的中斷程序里關閉本定時器的中斷程序,設置和打開另一個定 時器;在另一個定時器的中斷程序中關閉本定時中斷,設置和打開另一個定時器。這種方式 的定時時間為兩個定時器定時時間的和。方法2, 一個作為定時器,在定時中

45、斷后產生一個外部計數脈沖(比如由 P1.0接而0產 生),另一個定時器工作在計數方式。這樣兩個定時器的定時時間為一個定時器的定時時間 乘以另一個定時器的計數值。6 .當定時器T0用于方式3時,應該如何控制定時器T1的啟動和關閉?答:由TMODJ存器的D6位“C/T*”來控制定時器T1的啟動和關閉。7 . 丁法與丁以(x=0, 1)是普通寄存器還是計數器?其內容可以隨時用指令更改嗎?更改后 的新值是立即刷新還是等當前計數器計滿后才能刷新?答:THx與TLx (x=0,1)是由特殊功能寄存器構成的計數器,其內容可以隨時用指令更改,更 改后的新值是立即刷新。但在讀 THx TLx的值時,應該先讀TH

46、x®,后讀TLx,再讀TH% 若兩次讀得THx相同,則可確定讀得的內容正確。若前后兩次讀得的THx有變化,再重復上述過程。五、編程1 .采用定時器/計數器T0對外部脈沖進行計數,每計數 100個脈沖后,T0轉為定時工作方 式。定時1ms后,又轉為計數工作方式,如此循環(huán)不止。假定 AT89S51單片機的晶體振蕩器 的頻率為6MHz請使用方式1實現,要求編寫程序。答:定時器/計數器T0在計數和定時工作完成后,均采用中斷方式工作。除了第一次計數工 作方式設置在主程序完成外,后面的定時或計數工作方式分別在中斷程序完成,用一標志位 識別下一輪定時器/計數器T0的工作方式。參考程序如下:OR00

47、00HLJMP MAINORG 000BHLJMP IT0PMAIN: MOVMOVMOVSETBSETBSETBSETBCLRWAIT: AJMPTMOD,#06HTL0,#156TH0,#156GATETR0ET0EAF0WAIT;定時器/計數器T0為計數方式2;計數100個脈沖的初值賦值;打開計數門;啟動T0,開始計數;允許T0中斷;CPUFF中斷;設置下一輪為定時方式的標志位IT0P: CLR EAJB F0,COUNT;CPUK中斷;F0=1,轉計數方式設置MOV TMOD,#00H ;定時器/計數器T0為定時方式0MOV TH0,#0FEH ;定時1ms初值賦值MOV TL0,#0

48、CHSETB EARETICOUNT:MOV TMOD,#06HMOV TL0,#156SETB EA RETI2 .編寫程序,要求使用T0,采用方式2定時,在P1.0輸出周期為400仙s,占空比為10: 1 的矩形脈沖。答:據題意,從P1.0輸出的矩形脈沖的高低電平的時間為 10:1 ,則高低電平的時間分別為 363.63 2和36.37如果系統(tǒng)采用6MHzft振的話,Tcy=2s,因此高低電平輸出取整,貝U約為364 11 s和36 11 s o參考程序如下:ORG0000H;定時器/計數器T0為定時方式2;定時364仙s初值賦值;啟動T0,開始計數;允許T0中斷;CPU開中斷;關中斷;延

49、時36 n s;定時364仙s初值賦值LJMPORGLJMPMAIN: MOVMOVSETBSETBSETBSETBWAIT AJMPIT0P: CLRCLRMOVDLY DJNZMOVMAIN000BHIT0PTMOD,#02HTL0,#4AHTR0ET0EAP1.0WAITEAP1.0R0,#9R0,DLYTL0,#4AHSETB EARETI3.編寫程序要求:當P1.0引腳的電平正跳變時,對 P1.1的輸入脈沖進行計數;當 P1.2引腳的電平負跳變時,停止計數,并將計數值寫入 R0 R1 (高位存R1,低位存R0)。答:將P1.1的輸入脈沖接入INT0,即使用T0計數器完成對P1.1 口

50、的脈沖計數。參考程序如下:ORG 0000HLJMPORGLJMPMAIN: JNBMOVSETBSETBSETBWAIT: JBCLREAMAIN000BHIT0PP1.0,MAINTMOD,#05HTR0ET0EAP1.2,WAIT;定時器/計數器T0為計數方式1;啟動T0,開始計數;允許T0中斷;CPUFF中斷CLRTR0MOVR1,TH0MOVR0,TL0AJMP $IT0P: INC R2RETI第6章思考題及習題6參考答案一、填空1、AT89S51的串行異步通信口為 (單工/半雙工/全雙工)。答:全雙工。2 .串行通信波特率的單位是 。答:bit/s3 . AT89S52的串行通信

51、口若傳送速率為每秒120幀,每幀10位,則波特率為 答:12004 .用行口的方式0的波特率為。答:fosc/125 . AT89S511片機的通訊接口有 和 兩種型式。在串行通訊中,發(fā)送時要把數據轉換成 數據。接收時又需把 數據轉換成 數據。答:并行,申行,并行,申行,申行,并行6 .當用用行口進行串行通信時,為減小波特率誤差,使用的時鐘頻率為 MHz 。答:11.05927 . AT89S521l片機用行口的4種工作方式中, 和 的波特率是可調的,與定時器 /計數器T1的溢出率有關,另外兩種方式的波特率是固定的。答:方式1,方式38 .幀格式為1個起始位,8個數據位和1個停止位的異步串行通

52、信方式是方式 。答:方式1。9 .在申行通信中,收發(fā)雙方對波特率的設定應該是 的。答:相同的。10 .用行工作方式1的波特率是。答:方式1波特率=(2SMOD32) X定時器T1的溢出率二、單選1 .通過用行口發(fā)送或接收數據時,在程序中應使用 。A. MOV船令B. MOV將令C. MOV旨令D. XCHD旨令答:C2 . AT89S52的用行口擴展并行I/O 口時,串行接口工作方式選擇 。A.方式0 B. 方式1 C. 方式2 D. 方式3答:A3 .控制用行口工作方式的寄存器是 。A. TCON B.PCON C. TMOD D.SCON答:D三、判斷對錯1 .用行通信的第9數據位的功能可

53、由用戶定義。 對2 .發(fā)送數據的第9數據位的內容是在SCONJ存器的TB8位中預先準備好的。對3 .串行通信方式2或方式3發(fā)送時,指令把TB8位的狀態(tài)送入發(fā)送SBUFo錯4 .串行通信接收到的第9位數據送SCONJ存器的RB8中保存。對5 .用行口方式1的波特率是可變的,通過定時器/計數器T1的溢出率設定。對6,用行口工作方式1的波特率是固定的,為fosc/32。錯7. AT89S52單片機進行串行通信時,一定要占用一個定時器作為波特率發(fā)生器。錯8. AT89S52單片機進行串行通訊時,定時器方式 2能產生比方式1更低的波特率。錯9,用行口的發(fā)送緩沖器和接收緩沖器只有 1個單元地址,但實際上它

54、們是兩個不同的寄存器。 對四、簡答1 .在異步串行通信中,接收方是如何知道發(fā)送方開始發(fā)送數據的?答:實質就是如何檢測起始位的開始。當接收方檢測到RXW從1到0的負跳變時就啟動檢測器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以確認是否是真正的起始位的開始, 這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受數據。2 . AT89S51I片機的串行口有幾種工作方式?有幾種幀格式?各種工作方式的波特率如何確 定?答:有4種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為周 定波特率,方式1的波特率=2SMO/32 X定時器T1的溢出率方式2的波特率=2SMO/64 X fosc方式3的波特率=2SMO/32 X定時器T1的溢出率3 .假定用行口串行發(fā)送的字符格式為1個起始位、8個數據位、1個奇校驗位、1個停止位, 請畫出傳送字符“ B”的幀格式。答:字符“ B”的ASCII碼為“42H',幀格式如下:色始位01???Q 1 0 校髓位停止位4 .為什么定時器/計數器T1用作

溫馨提示

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

評論

0/150

提交評論