單片機(jī)原理及應(yīng)用(第三版)張毅剛課后習(xí)題答案完整版_第1頁(yè)
單片機(jī)原理及應(yīng)用(第三版)張毅剛課后習(xí)題答案完整版_第2頁(yè)
單片機(jī)原理及應(yīng)用(第三版)張毅剛課后習(xí)題答案完整版_第3頁(yè)
單片機(jī)原理及應(yīng)用(第三版)張毅剛課后習(xí)題答案完整版_第4頁(yè)
單片機(jī)原理及應(yīng)用(第三版)張毅剛課后習(xí)題答案完整版_第5頁(yè)
已閱讀5頁(yè),還剩58頁(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)介

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

2、提高運(yùn)算速度答:B2 .在家用電器中使用單片機(jī)應(yīng)屬于微計(jì)算機(jī)的 oA.輔助設(shè)計(jì)應(yīng)用。B.測(cè)量、控制應(yīng)用C.數(shù)值計(jì)算應(yīng)用。D.數(shù)據(jù)處理應(yīng)用答:B3 .下面的哪一項(xiàng)應(yīng)用,不屬于單片機(jī)的應(yīng)用范圍。A.工業(yè)控制B.家用電器的控制 C.數(shù)據(jù)庫(kù)管理 D.汽車電子設(shè)備答:c三、判斷對(duì)錯(cuò)1. STC系列單片機(jī)是8051內(nèi)核的單片機(jī)。對(duì)2. AT89 s 52與AT89s 51相比,片內(nèi)多出了 4KB的Flas h程序存儲(chǔ)器、1 28 B的RAM、1個(gè)中斷源、1個(gè)定時(shí)器(且具有捕捉功能)。對(duì)3 .單片機(jī)是一種CPU。錯(cuò)4 . AT 8 9s52單片機(jī)是微處理器。錯(cuò)5 . AT89c52片內(nèi)的Flash程序存儲(chǔ)器

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

4、 的用于測(cè)控目的的單片微計(jì)算機(jī)。2 . AT89S51單片機(jī)相當(dāng)于MCS-51系列單片機(jī)中的哪一型號(hào)的產(chǎn)品? “S”的含義是什么?答:相當(dāng)于MCS51系列中的8 7c5 1 ,只不過(guò)是AT89s51芯片內(nèi)的4K字節(jié)F lash存儲(chǔ) 器取代了 87C5 1片內(nèi)的4K字節(jié)的EPROM。3 .單片機(jī)可分為商用、工業(yè)用、汽車用以及軍用產(chǎn)品,它們的使用溫度范圍各為多少?3/63單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版答:商用:溫度范圍為0+70"C:工業(yè)用:溫度范圍為- 40+8 5;汽車用:溫度范圍為 -40+125;軍用:溫度范圍為一 55+150。4 . 解釋什么是單片機(jī)的在

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

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

7、系統(tǒng)等。這類智能化算法一 般都是運(yùn)算量較大,特別是向量運(yùn)算、指針線性尋址等較多,而這正是DSP的長(zhǎng)處所在。與 單片機(jī)相比,DSP具有的實(shí)現(xiàn)高速運(yùn)算的硬件結(jié)構(gòu)及指令和多總線,D SP處理的算法的復(fù)雜 度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機(jī)不可企及的。嵌入式微處理器的基礎(chǔ)是通用計(jì)算機(jī)中的CPU,地址總線數(shù)目較多,能擴(kuò)展容量較大的存 儲(chǔ)器,所以可配置實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)。RT0S能夠處理復(fù)雜的系統(tǒng)管理任務(wù)和處理 3/63單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版工作。因此,廣泛地應(yīng)用在移動(dòng)計(jì)算平臺(tái)、媒體手機(jī)、工業(yè)控制和商業(yè)領(lǐng)域(例如,智能工控 設(shè)備、ATM機(jī)等)

8、、電子商務(wù)平臺(tái)、信息家電(機(jī)頂盒、數(shù)字電視)以及軍事上的應(yīng)用。思考題及習(xí)題2參考答案一、填空1. 在AT89 s 52單片機(jī)中,如果采用6MHz晶振,一個(gè)機(jī)器周期為。答:2Hs2. AT89s52單片機(jī)的機(jī)器周期等于 個(gè)時(shí)鐘振蕩周期。答:123. 內(nèi)部RAM中,位地址為40 H、88H的位,該位所在字節(jié)的字節(jié)地址分別為和 o 答:2 8H, 88H4. 片內(nèi)字節(jié)地址為2AH單元最低位的位地址是;片內(nèi)字節(jié)地址為A8H單元的 最低位的位地址為 o答:50H,A8H5. 若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為 o答:06. AT89s52單片機(jī)復(fù)位后,R 4所對(duì)應(yīng)的存儲(chǔ)單元的地址為,因上電時(shí) P

9、SW二 o這時(shí)當(dāng)前的工作寄存器區(qū)是 組工作寄存器區(qū)。答:0 4H, 00H, 0。7. 內(nèi)部RAM中,可作為工作寄存器區(qū)的單元地址為 H H。答:00HJFH8. 通過(guò)堆棧操作實(shí)現(xiàn)子程序調(diào)用時(shí),首先要把 的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用子程序返回指令時(shí),再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到 ,先彈出的是原來(lái) 中的內(nèi)容。答:PC, PC, PCH9. AT89s52單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)所決定的,因?yàn)锳T89s52 單片機(jī)的PC是16位的,因此其尋址的范圍為 K Bo答:6410. AT89s52單片機(jī)復(fù)位時(shí),P0P3 口的各引腳為 電平。答:高11. AT89s52單

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

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

12、。結(jié)8. 堆棧區(qū)是單片機(jī)內(nèi)部的一個(gè)特殊區(qū)域,與RAM無(wú)關(guān)。錯(cuò)9. AT89 s52單片機(jī)進(jìn)入空閑模式,CPU停止工作。片內(nèi)的外圍電路(如中斷系統(tǒng)、串行口 和定時(shí)器)仍將繼續(xù)工作。對(duì)1 0. AT8 9s52單片機(jī)不論是進(jìn)入空閑模式還是掉電運(yùn)行模式后,片內(nèi)RAM和SFR中 的內(nèi)容均保持原來(lái)的狀態(tài)。對(duì)1 1. AT89s52單片機(jī)進(jìn)入掉電運(yùn)行模式,CPU和片內(nèi)的外國(guó)電路(如中斷系統(tǒng)、串行口和 定時(shí)器)均停止工作。對(duì)12. AT89s52單片機(jī)的掉電運(yùn)行模式可采用響應(yīng)中斷方式來(lái)退出。對(duì)四、簡(jiǎn)答1 . AT89s52單片機(jī)片內(nèi)都集成了哪些功能部件?答:集成了如下部件:1個(gè)微處理器(CPU) : 256

13、個(gè)數(shù)據(jù)存儲(chǔ)器(RAM)單元;8K Flash程序存儲(chǔ)器;4個(gè)8位可 編程并行I /0口(P0口、P1 口、P2 口、P3口); 1個(gè)全雙工串行口; 3個(gè)16位定時(shí)器/計(jì)數(shù)器; 1個(gè)看門狗定時(shí)器:一個(gè)中斷系統(tǒng),6個(gè)中斷源,2個(gè)優(yōu)先級(jí):32個(gè)特殊功能寄存器(SFR) o2. AT 89S52的64KB程序存儲(chǔ)器空間有6個(gè)單元地址對(duì)應(yīng)AT89S52單片機(jī)6個(gè)中斷源的中斷 入口地址,請(qǐng)寫出這些單元的入口地址及對(duì)應(yīng)的中斷源。答:見(jiàn)下表表 AT89 s52各中斷源的中斷入口地址中 斷源入口地址外部中斷00003H定時(shí)器/計(jì)數(shù)器TO000 BH外部中斷10O13H定時(shí)器/計(jì)數(shù)器T1001BH串行口002 3

14、 H定時(shí)器/計(jì)數(shù)器T20O2BH3. 說(shuō)明AT89 s5 2單片機(jī)的甌引腳接高電平或低電平的區(qū)別。茶:當(dāng)函腳為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器(8K字節(jié)F I ash)中的內(nèi)容,但在PC值 超過(guò)OFFFH (即超出4K字節(jié)地址范圍)時(shí),將自動(dòng)轉(zhuǎn)向讀外部程序存儲(chǔ)器內(nèi)的程序;當(dāng)函腳 為低電平時(shí),單片機(jī)只對(duì)外部程序存儲(chǔ)器的地址為OOOO HFFFFH中的內(nèi)容進(jìn)行讀操作,單 片機(jī)不理會(huì)片內(nèi)的8K字節(jié)的F lash程序存儲(chǔ)器。4. AT89s52單片機(jī)有哪兩種低功耗節(jié)電模式?說(shuō)明兩種低功耗節(jié)電模式的異同。答:AT8 9 S 52單片機(jī)有兩種低功耗節(jié)電工作模式:空閑模式(idle mode)和掉電模式 (

15、power down mod e ) o空閑模式下,雖然振蕩器仍然運(yùn)行,但是CPU進(jìn)入空閑狀態(tài)。此時(shí),片內(nèi)所有外圍電路(中 斷系統(tǒng)、串行口和定時(shí)器)仍繼續(xù)工作,SP、PC、PSW、A、P0P 3端口等所有其他寄存器, 以及內(nèi)部RAM和SFR中的內(nèi)容均保持進(jìn)入空閑模式前的狀態(tài)。因?yàn)镃PU耗電量通常要占芯片 耗電的80%90%,因此CPU停止工作則會(huì)大大降低功耗。掉電模式下,振蕩器停止工作。由于沒(méi)有了時(shí)鐘信號(hào),內(nèi)部的所有部件均停止工作,但片 內(nèi)的RAM和SFR的原來(lái)內(nèi)容都被保留,有關(guān)端口的榆出狀態(tài)值都保存在對(duì)應(yīng)的特殊功能寄存 器中。5. AT8 9 S52單片機(jī)運(yùn)行時(shí)程序出現(xiàn)“跑飛”或陷入“死循環(huán)

16、'時(shí),說(shuō)明如何利用看門狗 來(lái)擺脫困境的工作原理。答:可采用看門狗定時(shí)器。工作原理如下:“看門狗”技術(shù)就是使用一個(gè)“看門狗”定時(shí)器來(lái)對(duì)系統(tǒng)時(shí)鐘不斷計(jì)數(shù),監(jiān)視程序的運(yùn) 行。當(dāng)看門狗定時(shí)器啟動(dòng)運(yùn)行后,為防止看門狗定時(shí)器的不必要溢出而引起單片機(jī)的非正常的 復(fù)位,應(yīng)定期地把看門狗定時(shí)器清。,以保證看門狗定時(shí)器不溢出。當(dāng)由于干擾,使單片機(jī)程序“跑飛”或陷入“死循環(huán)”時(shí),單片機(jī)也就不能正常運(yùn)行程序 來(lái)定時(shí)地把看門狗定時(shí)器清0,當(dāng)看門狗定時(shí)器計(jì)滿溢出時(shí),將在AT89s52的RST引腳上 輸出一個(gè)正脈沖(寬度為98個(gè)時(shí)鐘周期),使單片機(jī)復(fù)位,在系統(tǒng)的復(fù)位入口 OOOOH處重新 開(kāi)始執(zhí)行主程序,從而使程序

17、擺脫“跑飛”或“死循環(huán)”狀態(tài),讓單片機(jī)歸復(fù)于正常的工作狀 態(tài)。思考題及習(xí)題3參考答案一、填空1 .訪問(wèn)SFR,只能使用 尋址方式。答:直接。2 .指令格式是由 和 組成,也可僅由 組成。答:操作碼,操作數(shù),操作碼。3 .在基址加變址尋址方式中,以 作為變址寄存器,以 或作為基址寄存器。答:A, PC, DPTR4 .假定累加器A中的內(nèi)容為30H,執(zhí)行指令1 OOO H : MOVC A, A + PC后,把程序存儲(chǔ)器 單元的內(nèi)容送入累加器A中。答:1031H5 .在AT89s52中,PC和D PTR都用于提供地址,但PC是為訪問(wèn) 存儲(chǔ)器提供地址,而DPTR是為訪問(wèn) 存儲(chǔ)器提供地址。答:程序,數(shù)

18、據(jù)6 .在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作 數(shù)的 o答:地址7 .下列程序段的功能是 o答:A的內(nèi)容與B的內(nèi)容互換。PUSH- AccPUSH 。B POPAccPOP B8 .已知程序執(zhí)行前有(A) =02H, (SP)二52H, (51H)=FFH, (52H) =FFHO下述程序執(zhí)行后, (A)=, (SP)=, (51 H)=, (52H)=, (PC)=oPOP 。 DPH9/63單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版POP a DPL MOVDPTR, #400OHRLAMOV 。B, A MOVCo A, A+D PTR

19、PUSH。Acc MOV。 A, B INC A MOVC A, A+DPTR PUSHa Acc RET 0RG 4000 H DB ,10H,80H,30H,50Ht 3OH, 5OH答:(A) =50H, (SP)=50H, (51H) =30H, (52H)=50H, (PC) =5O3OH9 .假定(A)二83H, (R0)二 17H, (17H)二3 4H,執(zhí)行以下指令后,(A)=。 ANL,A, #17HORL*1 7H, AXRL,A, R0CPLA答:(A) =OCBHo10 .假設(shè)(A) =55H, (R3)二OAAH,在執(zhí)行指令 “ANL A, R3” 后,(A) =,

20、(R 3)=o答:(A)=OOH, (R3) =OAAHon.如果(DPTR) =507BH, (SP) = 32H, (30H)=50H, (3 1 H)=5FH, (32H)=3CH,則執(zhí)行 下列指令后,(DPH)=, (DPL)=, (SP) =o POP DPH POP DPL POP o SP答:(DPH) =3CH, (DPL) =5FH, (SP) = 50H12 .假定,(SP)二60H, (A) =3 OH, (B) = 70H,執(zhí)行下列指令后,SP的內(nèi)容為, 6 1H單元的內(nèi)容為, 62H單元的內(nèi)容為 oPUSH a Acc PUSH B 答:(SP) =62H, (6 1

21、 H) =30H, (62H) =70H°二、判斷對(duì)錯(cuò)1 .判斷以下指令的正誤。(1 )MOV 28H,R2; (2) DEC DPTR ; (3) INC DPTR; (4) CLR RO; (5) CPL R5(6) MOV RO, R1; (7) PHSH DPTR ; (8)MOV FO, C; (9) MOV FO, A c c.3;(10)MOVX A, R1; (11)MOV C, 3OH; (12) RLC RO答:(1)錯(cuò)(2)錯(cuò)(3)對(duì)(4)錯(cuò)(5)錯(cuò)錯(cuò)(7)錯(cuò)(8)對(duì)錯(cuò)40)對(duì)(1 1)對(duì)(12) 錯(cuò)。2 .判斷下列說(shuō)法是否正確。A.立即數(shù)尋址方式是被操作的數(shù)據(jù)

22、本身就在指令中,而不是它的地址在指令中。B.指令周期是執(zhí)行一條指令的時(shí)間。C.指令中直接給出的操作數(shù)稱為直接尋址。D.內(nèi)部寄存器Rn (n=07)可作為間接尋址寄存器。答:A.對(duì);B.對(duì):C.錯(cuò);D.錯(cuò)。3 .以下指令中,屬于單純讀引腳的指令是()oA. MOV P1, A; B. ORL P 1 , #OFH;C. MOV C, P 1 .5; D. ANL P1,# OFH答:C。三、單選1 .程序在運(yùn)行中,當(dāng)前PC的值是 OA.當(dāng)前正在執(zhí)行指令的前一條指令的地址B.當(dāng)前正在執(zhí)行指令的地址。C.當(dāng)前正在執(zhí)行指令的下一條指令的首地址D.控制器中指令寄存器的地址。答:C2 .判斷下列哪一種說(shuō)法

23、是正確的?A.PC是一個(gè)可尋址的寄存器B.單片機(jī)的主頻越高,其運(yùn)算速度越快。C. AT89s52單片機(jī)中的一個(gè)機(jī)器周期為1口 sD.特殊功能寄存器SP內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答:B3.對(duì)程序存儲(chǔ)器的讀操作,只能使用()oA. MOV指令 B. PUSH指令 C. MOVX指令 D. MOVC指令答:D。四、程序分析與編程1 .下列程序段經(jīng)匯編后,從1000H開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容是什么?0RG1 OOOHTAB1 。EQU 1 2 34HTAB2EQU 300 0HDB"MAIN"DW 。TAB 1 ,TAB2, 70H答:從1000H開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容(

24、1 6進(jìn)制)如下:4DH, 41H, 49H, 4EH, 12H, 34H, 30H,00H, 00H, 70H2 .編寫程序,將內(nèi)部RAM中45H單元的高4位清“0”,低4位置“1”。答:參考程序如下:MOV A,45HANL。A, #OFH,ORL A, #OFH,M0V45,J H, A3 .已知程序執(zhí)行前有A=02H, SP=4 2H, (41H) = FFH, (42H)=FFH。下述程序執(zhí)行后,A= ();SP=(); (4 1 H)= () ; (42H) = ();PC=()oP OP 。DPHPOP DPLMO V DPTR,#30 00H RL o A MOVB, AMOV

25、C 。A, A+DPTR PUSHAccMOV A, B INC A MOVC。A, A+DPTR PUS H Acc RET ORG 。30 0 OH DB 1 OH, 80H, 30H, 80H,50H, 80H 答:(A)=80H , (SP) =40H, (41H) =50H, (42H) =80H , (PC)=8050H4 .編寫程序,查找在內(nèi)部RAM的30H50H單元中是否有OAAH這一數(shù)據(jù)。若有,則將51H 單元置為“01H” :若未找到,則將51H單元置為“00H”。答:參考程序如下:START: 。MOV o RO, #30H。MOV。 R2, #20HLOOP:MOV A

26、, R0oooo CJNE。A, #0A A H, NEXT o MO V o 51H, #01 HLJMP EXIT13 / 63單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版。NEXT:。INC RO。DJNZ。R2, LOOPMOV。51 H,#00H。EX I T:。 RET5 .寫出完成如下要求的程序段,但是不能改變未涉及位的內(nèi)容。A. 把 ACC. 3, ACC. 4ACC.5 和 ACC.6清 “0”。B,把累加器A的中間4位清“0”。C.把 ACC.2 和 ACC.3 置 “1”。答:,A. ANL A,#87HB. ANL A, #0C3HC. ORL A, #OCH6

27、.若SP=60H,標(biāo)號(hào)LABEL所在的地址為3456H。l_ CALL指令的地址為20 OOH ,執(zhí)行 如下指令:200 OH LCALL LABEL后(1 )堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?(2) PC的值等于什么?(3)如果將指令 LCALL直接換成ACALL是否可以? (4)如果換成ACALL指令,可調(diào)用的地址范圍是什 么?答:(1) SP=SP+ 1 =61(61H)=PC 的低字節(jié)=03H3 。 SP=SP+1 = 62H(6 2H)=PC 的高字節(jié)二20H(2)PC = 3 456H(3)不可以(4) 2KB = 2048 Byte7.試編寫程序,查找在內(nèi)部RAM的2 0H4

28、0H單元中出現(xiàn)“OOH”這一數(shù)據(jù)的次數(shù),并將查 找到的結(jié)果存入41H單元。答:參考程序如下:S TART:, MOV D 41H, #03 o MOV RO, #20H。,3 MOV, R2, #20H。LOOP:。 MOV A,RO,JNZo o NEXT3 3 INS J 41 HNEXT:INS。RODJNZo R2, LOOPRE T8 .對(duì)例3-22中的程序進(jìn)行修改,使其達(dá)到精確的50ms延時(shí)時(shí)間。答:原來(lái)的程序:。ORG 0100HD50ms: 3 MOV,R7, #200;執(zhí)行時(shí)間1日s17 / 63D 1 : MOV R6,#125D2: J DJNZ o R6, D 2)DJ

29、NZ o R7, DV。;執(zhí)行時(shí)間1日 s;指令執(zhí)行1次為2H s ,總計(jì)125X2 = 250ns:指令執(zhí)行時(shí)間2日s,本循環(huán)體執(zhí)行200次RET ,;指令執(zhí)行時(shí)間2H s可對(duì)程序做如下修改:ORG 0100HD50ms : M0V。R7, #200D1:3 3 MOV 3 R6, #123 3 0 ;將原來(lái)的立即數(shù)1 25改為123D2: ,DJNZ R6, D2o NOPo :增加的指令DJNZ® R7, D1»RET程序修改后的延時(shí)時(shí)間為:1 +(1+1 23*2+ 1 +2)*2 0 0+2 = 5 0 0 03日 s=50. 00 3ms9 . 借助表3-2,對(duì)

30、如下指令代碼(十六進(jìn)制)進(jìn)行手工反匯編。FFH, COH, EOH, E5H,F0H, F0H答:,MOV, R7, APUSH。AccMOV。o A.BMOV X® DPTR, A五、簡(jiǎn)答1 . 說(shuō)明偽指令的作用?!皞巍钡暮x是什么?常用偽指令有哪些?其功能如何?答:偽指令是程序員發(fā)給匯編程序的命令,只有在匯編前的源程序中才有偽指令,即在匯 編過(guò)程中的用來(lái)控制匯編過(guò)程的命令。所謂“偽”是體現(xiàn)在匯編后,偽指令沒(méi)有相應(yīng)的機(jī)器 代碼產(chǎn)生。常用偽指令及功能如下:ORG (ORiG i n)匯編起始地址命令:END (END of a s sembl y )匯編終止命令; EQU (EQUa

31、t e )標(biāo)號(hào)賦值命令;DB (Def i n e B y te)定義數(shù)據(jù)字節(jié)命令;DW (Define Wor d)定義數(shù)據(jù)字命令:DS(Defi ne Stor age)定義存儲(chǔ)區(qū)命令:BIT位定義命令2 .解釋下列術(shù)語(yǔ):手工匯編、機(jī)器匯編、反匯編答:手工匯編:通過(guò)查指令的機(jī)器代碼表(表3-2),逐個(gè)把助記符指令“翻譯”成機(jī)器代碼, 再進(jìn)行調(diào)試和運(yùn)行。這種人工查表“翻譯”指令的方法稱為“手工匯編”。機(jī)器匯編:借助于微型計(jì)算機(jī)上的軟件(匯編程序)來(lái)代替手工匯編。通過(guò)在微機(jī)上運(yùn)行匯 編程序,把匯編語(yǔ)言源程序翻譯成機(jī)器代碼。反匯編:將二進(jìn)制的機(jī)器碼程序翻譯成匯編語(yǔ)言源程序的過(guò)程稱為“反匯編”。3

32、 .設(shè)計(jì)子程序時(shí)應(yīng)注意哪些問(wèn)題?答:編寫子程序時(shí)應(yīng)注意以下問(wèn)題:子程序的第一條指令前必須有標(biāo)號(hào)。 主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令: 絕對(duì)調(diào)用指令A(yù)CALL addr 1 U 被調(diào)用的子程序的首地址與絕對(duì)調(diào)用指令的下一條 指令的高5位地址相同,即只能,在同一個(gè)2KB區(qū)內(nèi)。 長(zhǎng)調(diào)用指令LCALL addr16o add門6為直接調(diào)用的目的地址,被調(diào)用的子程序可 放置在64KB程序存儲(chǔ)器區(qū)的任意位置。 子程序結(jié)構(gòu)中必須用到堆棧,用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)保護(hù)。 子程序返回時(shí),必須以RET指令結(jié)束。 子程序可以嵌套,但要注意堆棧的沖突。4.為什么對(duì)基本型的8051子系列單片機(jī),其寄存器間接尋址方式

33、(例如MOV A,RO)中, 規(guī)定RO或R1的內(nèi)容不能超過(guò)7FH?而對(duì)增強(qiáng)型的8052子系列單片機(jī),R0或R 1的內(nèi)容就 不受限制?答:基本型的8 051子系列單片機(jī),由于其片內(nèi)RAM的地址范圍為OOH7FH,而8。 HFFH為特殊功能寄存器區(qū),而對(duì)特殊功能寄存器尋址,只能使用直接尋址方式。對(duì)片內(nèi)R AM尋址,當(dāng)使用寄存器間接尋址是采用R0或R1作為間接尋址的,因此R0或R 1的內(nèi)容不 能超過(guò)7FH。增強(qiáng)型的8。52子系列單片機(jī),片內(nèi)RAM的地址范圍為OOHFFH,因此作為間接尋址寄存 器的R0或R1的內(nèi)容就不受限制。單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版思考題及習(xí)題4參考答案一

34、、填空1 .外部中斷1的中斷入口地址為 o定時(shí)器T 1的中斷入口地址為答:00 1 3H;0O1BH2 .若(I P)=000 1 0100 B,則優(yōu)先級(jí)最高者為,最低者為 o答:外部中斷1,定時(shí)器T13 .AT89s52單片機(jī)響應(yīng)中斷后,產(chǎn)生長(zhǎng)調(diào)用指令LCALL,執(zhí)行該指令的過(guò)程包括:首先把 的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然后把長(zhǎng)調(diào)用指令的1 6位地址送入,使 程序執(zhí)行轉(zhuǎn)向 中的中斷地址區(qū)。答:PC、PC、程序存儲(chǔ)器4 . AT89s52單片機(jī)復(fù)位后,中斷優(yōu)先級(jí)最高的中斷源是。 答:外部中斷05 .當(dāng)AT8 9s5 2單片機(jī)響應(yīng)中斷后,必須用軟件清除的中斷請(qǐng)求標(biāo)志是。 答:串行中斷、定時(shí)器

35、/計(jì)數(shù)器T2中斷二、單選1.下列說(shuō)法錯(cuò)誤的是()。A,同一級(jí)別的中斷請(qǐng)求按時(shí)間的先后順序響應(yīng)B.同一時(shí)間同一級(jí)別的多中斷請(qǐng)求,將形成阻塞,系統(tǒng)無(wú)法響應(yīng)C.低優(yōu)先級(jí)中斷請(qǐng)求不能中斷高優(yōu)先級(jí)中斷請(qǐng)求,但是高優(yōu)先級(jí)中斷請(qǐng)求能中斷低優(yōu)先 級(jí)中斷請(qǐng)求D.同級(jí)中斷不能嵌套答:B2.在AT89s52的中斷請(qǐng)求源中,需要外加電路實(shí)現(xiàn)中斷撤銷的是()。A.電平方式的外部中斷請(qǐng)求B.跳沿方式的外部中斷請(qǐng)求C.外部串行中斷D.定時(shí)中斷答:A3.中斷查詢確認(rèn)后,在下列各種AT89s52單片機(jī)運(yùn)行情況下,能立即進(jìn)行響應(yīng)的是()。A.當(dāng)前正在進(jìn)行高優(yōu)先級(jí)中斷處理B.當(dāng)前正在執(zhí)行R ETI指令C.當(dāng)前指令是MOV A, R

36、3D.當(dāng)前指令是DIV指令,且正處于取指令的機(jī)器周期 答:C4.下列說(shuō)法正確的是()。A.各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在A T89s52的IE寄存器中B. 各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89s52的TM0D寄存器中C.各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89s52的IP寄存器中D.各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89s52的TCON、SCON以及T2CON 寄存器中答:D三、判斷對(duì)錯(cuò)1 .定時(shí)器TO中斷可以被外部中斷0中斷。4告2 .必須有中斷源發(fā)出中斷請(qǐng)求,并且CPU開(kāi)中斷,CPU才可能響應(yīng)中斷。錯(cuò)3 . AT89s52單片機(jī)中的同級(jí)中斷不能嵌套。對(duì)4 .

37、同為高中斷優(yōu)先級(jí),外部中斷0能打斷正在執(zhí)行的外部中斷1的中斷服務(wù)程序。錯(cuò)19 / 63單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版5 .中斷服務(wù)子程序可以直接調(diào)用。錯(cuò)6 .在開(kāi)中斷的前提下,只要中斷源發(fā)出中斷請(qǐng)求,CPU就會(huì)立刻響應(yīng)中斷。錯(cuò)四、簡(jiǎn)答1 .中斷服務(wù)子程序與普通子程序有哪些相同和不同之處?答:RET I指令在返回的同時(shí)自動(dòng)清除相應(yīng)的不可尋址的優(yōu)先級(jí)觸發(fā)器,以允許下次中 斷,而RET指令則沒(méi)有這個(gè)操作。除了這一點(diǎn)兩條指令不同外,其它操作都相同。2 . AT89s52單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對(duì)外部中斷 請(qǐng)求的響應(yīng)?答:在一個(gè)單一中斷的系統(tǒng)里

38、,AT89S51單片機(jī)對(duì)外部中斷請(qǐng)求的響應(yīng)時(shí)間總是在38 個(gè)機(jī)器周期之間。在下述三種情況下,AT89S51將推遲對(duì)外部中斷請(qǐng)求的響應(yīng):(1) AT89s 52正在處理同級(jí)或更高優(yōu)先級(jí)的中斷。(2)所查詢的機(jī)器周期不是當(dāng)前正在執(zhí)行指令的最后一個(gè)機(jī)器周期。(3)正在執(zhí)行的指令是RET I或是訪問(wèn)IE或IP的指令。如果存在上述三種情況之一,AT89 s 52將丟棄中斷查詢結(jié)果,將推遲對(duì)外部中斷請(qǐng)求 的響應(yīng)。3 .中斷響應(yīng)需要滿足哪些條件?答:一個(gè)中斷源的中斷請(qǐng)求被響應(yīng),必須滿足以下條件:(1)總中斷允許開(kāi)關(guān)接通,即I E寄存器中的中斷總允許位EAH。(2)該中斷源發(fā)出中斷請(qǐng)求,即該中斷源對(duì)應(yīng)的中斷請(qǐng)

39、求標(biāo)志為“1”。(3)該中斷源的中斷允許位二1,即該中斷被允許。(4)無(wú)同級(jí)或更高級(jí)中斷正在被服務(wù)。4 .編寫外部中斷1為跳沿觸發(fā)的中斷初始化程序段。答:參考程序段如下:SETB I T1。SETB EX 1SETBo E A5 .某系統(tǒng)有三個(gè)外部中斷源IR1、IR2和IR3,當(dāng)某一中斷源發(fā)出的中斷請(qǐng)求使而引腳變 為低電平時(shí)(參見(jiàn)圖便要求CPU進(jìn)行處理,它們的優(yōu)先處理次序由高到低為I R3、 IR2、IR1,中斷處理程序的入口地址分別為1O0OH, 1 1 00H, 1 20 O Ho試編寫主程序 及中斷服務(wù)子程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。答:參見(jiàn)電路如圖471,參考程序如下:。O

40、RG。 0000H,LJMP。MA I N,ORG00 1 3Ho LJMP。INTEX1一 OR GO030HMAIN: ®,CLR ITO。 。;采用電平觸發(fā),低電平有效中斷。3 SETB。EXV。;允許外部中斷1 n SET B EA o;插入一段用戶程序WA I T:。AJMP WAIT o。;單片機(jī)等待中斷:以下為外部中斷1服務(wù)子程序INT EX1:JB P1.2, NEXT1 ;判斷是不是 IR3 中斷, J LJMP INTR3,;跳轉(zhuǎn)到IR3中斷處理程序NEXT1:。 JBo。P 1 . 1, NEXT2;判斷是不是 IR2 中斷。LJMP。I NTJR2。;跳轉(zhuǎn)到I

41、R2中斷處理程序NEXT2:。 LJMP INT I R1 。;跳轉(zhuǎn)到IR 1中斷處理程序3 ,0RG100)J 0HI NT IR3: ®相應(yīng)中斷處理程序,3 RET Io o ;中斷返回,ORG 1100HINT_ I R2:®相應(yīng)中斷處理程序3 RET h 3。;中斷返回。 ORG 120OHI NTR1: 相應(yīng)中斷處理程序3 ,RETh3 ;中斷返回第5章思考題及習(xí)題5參考答案一、填空1 .如果采用晶振的頻率為3MHz,定時(shí)器/計(jì)數(shù)器Tx ( >=0, 1)工作在方式0、1、2下,其方式 。的最大定時(shí)時(shí)間為 ,方式1的最大定時(shí)時(shí)間為,方式2的最大定 時(shí)時(shí)間為。

42、答:32. 768m s , 262.1 4 4 ms, 1024Pl s2 .定時(shí)器/計(jì)數(shù)器用作計(jì)數(shù)器模式時(shí),外部揄入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)時(shí)鐘頻率 的 O答:1/243 .定時(shí)器/計(jì)數(shù)器用作定時(shí)器模式時(shí),其計(jì)數(shù)脈沖由 提供,定時(shí)時(shí)間與有關(guān)。答:系統(tǒng)時(shí)鐘信號(hào)12分頻后,定時(shí)器初值4 .定時(shí)器/計(jì)數(shù)器T 1測(cè)量某正單脈沖的寬度,采用 方式可得到最大量程?若時(shí)鐘頻率為6MH z ,求允許測(cè)量的最大脈沖寬度為 o答:方式1定時(shí),131. 072mso5 .定時(shí)器T2有3種工作方式:、和,可通過(guò)對(duì)寄存器 中的相關(guān)位進(jìn)行軟件設(shè)置來(lái)選擇。答:捕捉,重新裝載(增計(jì)數(shù)或減計(jì)數(shù)),波特率發(fā)生器,T2C0N

43、6 . AT89S52單片機(jī)的晶振為6MHz ,若利用定時(shí)器T 1的方式1定時(shí)2ms,則(TH1 )二, (TL1)=©答:FCH, 1 8Ho二、單選1 .定時(shí)器TO工作在方式3時(shí),定時(shí)器T1有 種工作方式。A. 1 種。B.2 種 C. 3 種。D. 4 種 答:02 .定時(shí)器TO、T1工作于方式1時(shí),其計(jì)數(shù)器為 位。A. 8位B. 16位 C.14 位 D.13 位答:B3 .定時(shí)器TO、T1的GA TEm=1時(shí),其計(jì)數(shù)器是否計(jì)數(shù)的條件。A.僅取決于TRx狀態(tài)B.僅取決于GATE位狀態(tài)C.是由TRx和而G兩個(gè)條件來(lái)共同控制D.僅取決于iNTx的狀態(tài)答:C4 .定時(shí)器T2工作在自

44、動(dòng)重裝載方式時(shí),其計(jì)數(shù)器為 位。A.8 位B. 13位 C.14 位 D. 16 位答:D5 .要想測(cè)量而吊引腳上的正單脈沖的寬度,特殊功能寄存器TMOD的內(nèi)容應(yīng)為 oA. 8 7H B. 09H C. 8 OH D. 00H答:B三、判斷對(duì)錯(cuò)1.下列關(guān)于TO、T1的哪些說(shuō)法是正確的。A.特殊功能寄存器SCON,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。對(duì)B.特殊功能寄存器TC0N,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)C.特殊功能寄存器IE,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)D.特殊功能寄存器TMOD,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)2 .定時(shí)器TO、T1對(duì)外部脈沖進(jìn)行計(jì)數(shù)時(shí),要求揄入的計(jì)數(shù)脈沖的高電平或低電平的持 續(xù)

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

46、容可以隨時(shí)用指令更改,但是更改后的新值要 等當(dāng)前計(jì)數(shù)器計(jì)滿后才能刷新。3 .如果系統(tǒng)的晶振的頻率為24MHz,定時(shí)器/計(jì)數(shù)器工作在方式0、1、2下,其最大定時(shí)時(shí)間 各為多少?答:晶振的頻率為24MHz,機(jī)器周期為0.5口 So方式。最大定時(shí)時(shí)間二0. 5從 sX2e=0. 5n sX8 1 92=4O96|i s方式 1 最大定時(shí)時(shí)間二。.5口 sX2'6=0. 5p s X 65536=327 686口 s方式 2 最大定時(shí)時(shí)間二0.5口 sX2a=0. 5H sX256=128 s4 .定時(shí)器/計(jì)數(shù)器Tx(xO, 1)的方式2有什么特點(diǎn)?適用于哪些應(yīng)用場(chǎng)合?答:定時(shí)器/計(jì)數(shù)器的工作

47、方式2具有自動(dòng)恢復(fù)初值的特點(diǎn),適用于精確定時(shí),例如波特率的 產(chǎn)生。5 . 一個(gè)定時(shí)器的定時(shí)時(shí)間有限,如何用兩個(gè)定時(shí)器的串行定時(shí)來(lái)實(shí)現(xiàn)較長(zhǎng)時(shí)間的定時(shí)?25 / 63單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版答:方法1,在第一個(gè)定時(shí)器的中斷程序里關(guān)閉本定時(shí)器的中斷程序,設(shè)置和打開(kāi)另一個(gè)定時(shí)器; 在另一個(gè)定時(shí)器的中斷程序中關(guān)閉本定時(shí)中斷,設(shè)置和打開(kāi)另一個(gè)定時(shí)器。這種方式的定時(shí) 時(shí)間為兩個(gè)定時(shí)器定時(shí)時(shí)間的和。方法2,一個(gè)作為定時(shí)器,在定時(shí)中斷后產(chǎn)生一個(gè)外部計(jì)數(shù)脈沖(比如由P1.0接向不產(chǎn) 生),另一個(gè)定時(shí)器工作在計(jì)數(shù)方式。這樣兩個(gè)定時(shí)器的定時(shí)時(shí)間為一個(gè)定時(shí)器的定時(shí)時(shí)間 乘以另一個(gè)定時(shí)器的計(jì)數(shù)

48、值。6 .當(dāng)定時(shí)器TO用于方式3時(shí),應(yīng)該如何控制定時(shí)器T1的啟動(dòng)和關(guān)閉?答:由TM0D寄存器的D6位“C/T *”來(lái)控制定時(shí)器T1的啟動(dòng)和關(guān)閉。7 . THx與TLx(x=0,1)是普通寄存器還是計(jì)數(shù)器?其內(nèi)容可以隨時(shí)用指令更改嗎?更改后 的新值是立即刷新還是等當(dāng)前計(jì)數(shù)器計(jì)滿后才能刷新?答:THx與TLx (x=0,1)是由特殊功能寄存器構(gòu)成的計(jì)數(shù)器,其內(nèi)容可以隨時(shí)用指令更改, 更改后的新值是立即刷新。但在讀THx、TLx的值時(shí),應(yīng)該先讀THx值,后讀TLx,再讀TH x o若兩次讀得THx相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THx有變化,再重 復(fù)上述過(guò)程。五、編程1.采用定時(shí)器/計(jì)

49、數(shù)器T0對(duì)外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)1 00個(gè)脈沖后,T 0轉(zhuǎn)為定時(shí)工作方 式。定時(shí)1ms后,又轉(zhuǎn)為計(jì)數(shù)工作方式,如此循環(huán)不止。假定AT89s51單片機(jī)的晶體振蕩器的 頻率為6MHz,請(qǐng)使用方式1實(shí)現(xiàn),要求編寫程序。答:定時(shí)器/計(jì)數(shù)器T0在計(jì)數(shù)和定時(shí)工作完成后,均采用中斷方式工作。除了第一次計(jì)數(shù)工 作方式設(shè)置在主程序完成外,后面的定時(shí)或計(jì)數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識(shí) 別下一輪定時(shí)器/計(jì)數(shù)器T 0的工作方式。參考程序如下:。ORG OOOOH。LJMP MAIN。ORG。OOOBH,LJMP® ITOPMA IN: MOV 。TM0D,#O6H ;定時(shí)器/計(jì)數(shù)器TO為計(jì)數(shù)方

50、式2MOV 。TLO, #156。;計(jì)數(shù)100個(gè)脈沖的初值賦值MOV。TH0,#1 5 6SETB。GATE。 ;打開(kāi)計(jì)數(shù)門SETB。TRO。 o ;啟動(dòng)T0,開(kāi)始計(jì)數(shù)。SETB ETO®允許 T0 中斷。SETB EA。 ;CPU 開(kāi)中斷。CLRF0,。;設(shè)置.下一輪為定時(shí)方式的標(biāo)志位WA I T:。A JMP。WAITITOP:。CLREA;CPU關(guān)中斷。JB。FO,COUNT。; F0= 1 ,轉(zhuǎn)計(jì)數(shù)方式設(shè)置。MOV, TMOD, #00H ;定時(shí)器/計(jì)數(shù)器TO為定時(shí)方式0。MOV THO, #OFEH ;定時(shí)1 ms初值賦值,MOV),TL O,#OCH。SETBEARET

51、ICOUNT:。MOV。TMOD, #06H。MOV ® TL0,#1 56。SETB。 EARET I2.編寫程序,要求使用TO,采用方式2定時(shí),在P1. O輸出周期為400口 s,占空比為10: 1的矩形脈沖。答:據(jù)題意,從P1.0榆出的矩形脈沖的高低電平的時(shí)間為10:1,則高低電平的時(shí)間分別為 363. 63 Hs和36. 37 us。如果系統(tǒng)采用6MHz晶振的話,Tc尸2 口 s,因此高低電平輸出取 整,則約為364 Hs和36u s。參考程序如下:ORG OOO OH。LUMP。MAINORG 。OOOBH。LJMP ITOPMAIN:。MOV。 TM0D, #02件,:定

52、時(shí)器/計(jì)數(shù)器TO為定時(shí)方式2MO V 。TLO, #4AHo。;定時(shí) 364 Hs 初值賦值。SETB TRO -SETB。ET0,SET B EA。SETB P1.0WA I T:A JMP WAITITOP:。CLR。EAC LRP1. 0,MOV。RO, #9DLY:o DJNZ。RO, DLYo0。MOV 3 TL0,#4AH)。SETBo P1. 0o SETB: EA,;啟動(dòng)TO,開(kāi)始計(jì)數(shù)3 ;允許TO中斷;CPU開(kāi)中斷3 ;關(guān)中斷b ;延時(shí)36 Hs;定時(shí)364 Hs初值賦值3 RET I3.編寫程序要求:當(dāng)P1.0弓I腳的電平正跳變時(shí),對(duì)P1.1的輸入脈沖進(jìn)行計(jì)數(shù);當(dāng)P1.2引

53、腳 的電平負(fù)跳變時(shí),停止計(jì)數(shù),并將計(jì)數(shù)值寫入RO、R 1 (高位存R1,低位存RO)。答: P 1 . 1的榆人脈沖接入I NTO,即使用TO計(jì)數(shù)器完成對(duì)P1. 1 口的脈沖計(jì)數(shù)。參考 程序如下:OR G 0000H,LJMP MA I Nb O RGj 00 0 BHLJMP ITOPMAIN: JNB。 P 1.0, MA I NMOV 。TMOD,#05H 。;定時(shí)器/計(jì)數(shù)器TO為計(jì)數(shù)方式127 / 63SETBo TRO 。;啟動(dòng)TO,開(kāi)始計(jì)數(shù)。S ETB ET0。o ;允許 TO 中斷SETB EAo。; CPU 開(kāi)中斷WA IT: o jBo o p 1 .2, WAI T。CLR

54、。EA。CLR TR 0,MOV,R1,THO。MOV,RO, TLO。AJMP $I TOP:。I NO R2。RET I第6章思考題及習(xí)題6參考答案一、填空1、AT89S5 1的串行異步通信口為(單工/半雙工/全雙工)。答:全雙工。2 .串行通信波特率的單位是 o答:b i t/s3 . AT89s52的串行通信口若傳送速率為每秒1 20幀,每幀1 0位,則波特率為單片機(jī)原理及應(yīng)用(第三版)張毅剛 課后習(xí)題答案完整版答:12004 .串行口的方式0的波特率為 o答:f osc/1 25 . AT89s51單片機(jī)的通訊接口有 和 兩種型式。在串行通訊中,發(fā)送時(shí)要把 數(shù)據(jù)轉(zhuǎn)換成 數(shù)據(jù)。接收時(shí)又

55、需把 數(shù)據(jù)轉(zhuǎn)換成 數(shù)據(jù)。答:并行,串行,并行,串行,串行,并行6 .當(dāng)用串行口進(jìn)行串行通信時(shí),為減小波特率誤差,使用的時(shí)鐘頻率為 MHzo答:1 1.05927 . AT89 S52單片機(jī)串行口的4種工作方式中, 和 的波特率是可調(diào)的,與 定時(shí)器/計(jì)數(shù)器T1的溢出率有關(guān),另外兩種方式的波特率是固定的。答:方式1,方式38 .幀格式為1個(gè)起始位,8個(gè)數(shù)據(jù)位和1個(gè)停止位的異步串行通信方式是方式 o答:方式1。9 .在串行通信中,收發(fā)雙方對(duì)波特率的設(shè)定應(yīng)該是 的。答:相同的。10 .串行口工作方式1的波特率是 O答: 方式1波特率二(2SQ/32) X定時(shí)器T1的溢出率二、單選1 .通過(guò)串行口發(fā)送或

56、接收數(shù)據(jù)時(shí),在程序中應(yīng)使用 OA.MOVC指令,B. M0VX指令 C. MOV指令 D. XCHD指令答:C2 . AT89S52的串行口擴(kuò)展并行I/O 口時(shí),串行接口工作方式選擇。A.方式。 B.方式1 C.方式2D.方式3答:A3 .控制串行口工作方式的寄存器是 oA. TCON B. PCON C. TMOD D. SCON答:D三、判斷對(duì)錯(cuò)1.串行口通信的第9數(shù)據(jù)位的功能可由用戶定義。對(duì)2 .發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的內(nèi)容是在SCON寄存器的TB8位中預(yù)先準(zhǔn)備好的。對(duì)3 .串行通信方式2或方式3發(fā)送時(shí),指令把TB8位的狀態(tài)送入發(fā)送SBUF中。錯(cuò)4 .串行通信接收到的第9位數(shù)據(jù)送SCON寄存器的RB8中保

溫馨提示

  • 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)論