單片機(jī)原理及應(yīng)用第三版張毅剛6章全_第1頁(yè)
單片機(jī)原理及應(yīng)用第三版張毅剛6章全_第2頁(yè)
已閱讀5頁(yè),還剩33頁(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、第 1 一、填空1. 除了單片機(jī)這一名稱之外,單片機(jī)還可稱為答:微控制器,嵌入式控制器.2.單片機(jī)與普通微型計(jì)算機(jī)的不同之處在于其將和或。、CPU、存儲(chǔ)器、I/O 口、總線3. AT89S52單片機(jī)工作頻率上限為MHz。答:33 。4. 專用單片機(jī)已使系統(tǒng)結(jié)構(gòu)最簡(jiǎn)化、軟硬件資源利用最優(yōu)化,從而大大降低二、單選和提高。答:成本,可靠性。1. 單片機(jī)內(nèi)部數(shù)據(jù)之所以用二進(jìn)制形式表示,主要是A為了編程方便為了通用性答:BB受器件的物理性能限制D為了提高運(yùn)算速度2. 在家用電器中使用單片機(jī)應(yīng)屬于微計(jì)算機(jī)的A輔助設(shè)計(jì)應(yīng)用 B測(cè)量、控制應(yīng)用。D數(shù)據(jù)處理應(yīng)用 數(shù)值計(jì)算應(yīng)用B答:下面的哪一項(xiàng)應(yīng)用,不屬于單片機(jī)的

2、應(yīng)用范圍。3.C B 工業(yè)控制 家用電器的控制 數(shù)據(jù)庫(kù)管理D 汽車(chē)電子設(shè)備C答:1 / 31三、判斷對(duì)錯(cuò)1. STC系列單片機(jī)是8051 內(nèi)核的單片機(jī)。對(duì)2. AT89S52與 AT89S51相比,片內(nèi)多出了4KB 的 Flash 程序存儲(chǔ)器、128B 的 RAM、1 個(gè)中斷源、1 3. 單片機(jī)是一種CPU。錯(cuò)4. AT89S52單片機(jī)是微處理器。錯(cuò)5. AT89C52片內(nèi)的Flash AT89S52則不能。錯(cuò)6. 為 AT51單片機(jī)設(shè)計(jì)的應(yīng)用系統(tǒng)板,可將芯片AT51直接用芯片AT89S51替換。對(duì)7. 為 AT89S51單片機(jī)設(shè)計(jì)的應(yīng)用系統(tǒng)板,可將芯片AT89S51直接用芯片AT89S52替

3、換。對(duì)8. 單片機(jī)的功能側(cè)重于測(cè)量和控制,而復(fù)雜的數(shù)字信號(hào)處理運(yùn)算及高速的測(cè)控功能則是DSP 的長(zhǎng)處。對(duì)四、簡(jiǎn)答1. 微處理器、微計(jì)算機(jī)、微處理機(jī)、單片機(jī)、嵌入式處理器它們之間有何區(qū)別?答:微處理器、微處理機(jī)和CPU 它們都是中央處理器的不同稱謂,微計(jì)算機(jī)。2. AT89S51單片機(jī)相當(dāng)于MCS-51 系列單片機(jī)中的哪一型號(hào)的產(chǎn)品?“S”的含義是什么?答:相當(dāng)于MCS-51 系列中的 51,只不過(guò)是AT89S51芯片內(nèi)的4K 字節(jié) Flash 存儲(chǔ)器取代了51 片內(nèi)的 4K 字節(jié)的EPROM。2 / 313. 單片機(jī)可分為商用、工業(yè)用、汽車(chē)用以及軍用產(chǎn)品,它們的使用溫度范圍各為多少?答:商用:

4、溫度范圍為0+;工業(yè)用:溫度范圍為-40+;汽車(chē)用:溫度范圍為-40;軍用:溫度范圍為-55+。4. 解釋什么是單片機(jī)的在系統(tǒng)編程()與在線應(yīng)用編程(IAP答:?jiǎn)纹瑱C(jī)的在系統(tǒng)編程ISP(In System Program只需一條與PC 機(jī) USB 口或串口相連的ISP 下載線,就可把仿真調(diào)試通過(guò)的程序代碼從PC 機(jī)在線寫(xiě)入單片機(jī)的Flash 程器。在線應(yīng)用編程(IAP)就是可將單片機(jī)的閃存內(nèi)的應(yīng)用程序在線修改升級(jí)。5. 什么是“嵌入式系統(tǒng)”? 系統(tǒng)中嵌入了單片機(jī)作為控制器,是否可稱其為“嵌入式系統(tǒng)”?、 “嵌入”嵌 目前“嵌入式系統(tǒng)”還后者。6. 嵌入式處理器家族中的單片機(jī)、嵌入式微處理器各有

5、何特點(diǎn)?它們的應(yīng)用領(lǐng)域有何不同?答:?jiǎn)纹瑱C(jī)體積小、價(jià)格低且易于掌握和普及,很容易嵌入到各種通器市場(chǎng)占有率最高,最大特點(diǎn)是價(jià)格低,體積小,應(yīng)用廣泛。DSP FFT、頻譜分析等)的嵌入式處理器。能夠高速完成各種復(fù)雜的數(shù)字信號(hào)處理算法。廣泛地用于通訊、網(wǎng)絡(luò)通信、數(shù)字圖像處理,電機(jī)控制系統(tǒng),生物信息識(shí)別終端,實(shí)時(shí)語(yǔ)音壓解系統(tǒng)等。這類智能化算法一般都是運(yùn)算量較大,特別是向量運(yùn)算、指針線性尋址等較多,而這正是DSP DSP 具有的實(shí)現(xiàn)高速運(yùn)算的硬件結(jié)構(gòu)及指令和多總線,DSP 處理的算法的復(fù)雜度和大的數(shù)據(jù)處理流量以及片內(nèi)集成的多種功能部件更是單片機(jī)不可企及的。3/ 31嵌入式微處理器的基礎(chǔ)是通用計(jì)算機(jī)中的

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

7、為。答:50H,A8H5. 若 A 中的內(nèi)容為63H,那么,P 標(biāo)志位的值為6. AT89S52單片機(jī)復(fù)位后,R4 所對(duì)應(yīng)的存儲(chǔ)單元的地址為。答:0,因上電時(shí)PSW=組工作寄存器區(qū)。答:04H,00H0。7. 內(nèi)部RAM 中,可作為工作寄存器區(qū)的單元地址為H。答:,1FHH8. 通過(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, ,PCH4 / 319. AT89S52單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器PC 的位數(shù) AT89S52單片機(jī)的PC 是 16 為KB。答:6410. AT

8、89S52單片機(jī)復(fù)位時(shí),P0P3 口的各引腳為電平。答:高11. AT89S52單片機(jī)使用片外振蕩器作為時(shí)鐘信號(hào)時(shí),引腳XTAL1,引腳XTAL2的接法是 。答:片外振蕩器的輸出信號(hào),懸空接12. AT89S52單片機(jī)復(fù)位時(shí),堆棧指針SP 中的內(nèi)容為程序指針PC 中的內(nèi)容為。答:07H,0000H,二、單選1. 程序在運(yùn)行中,當(dāng)前PC 的值是A令的地址。B D存器的地址。答:C2. 判斷下列哪一種說(shuō)法是正確的?APC 是一個(gè)可尋址的寄存器其運(yùn)算速度越快。B單片機(jī)的主頻越高,AT89S52單片機(jī)中的一個(gè)機(jī)器周期為sD特殊功能寄存器SP 內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答: B5 / 31三、判斷對(duì)

9、錯(cuò)1. 使用AT89S52單片機(jī)且引腳=1 時(shí),仍可外擴(kuò)64KB 的程序存儲(chǔ)器。錯(cuò)2. 區(qū)分片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的最可靠的方法是看其位于地址范圍的低端還是高端。錯(cuò)3. 在 AT89S52 I/O 事先預(yù)置1。對(duì)4. PC 可以看成是程序存儲(chǔ)器的地址指針。對(duì)5. AT89S52單片機(jī)中特殊功能寄存器(SFR)使用片內(nèi)RAM 的部份字節(jié)地址。對(duì)6. 片內(nèi)RAM錯(cuò)7. AT89S52單片機(jī)共有32 個(gè)特殊功能寄存器,它們的位都是可以用軟件設(shè)置的,因此,都是可以位尋址的。錯(cuò)8. 堆棧區(qū)是單片機(jī)內(nèi)部的一個(gè)特殊區(qū)域,與RAM 無(wú)關(guān)。錯(cuò)9. AT89S52單片機(jī)進(jìn)入空閑模式,CPU 中斷系統(tǒng)、串行

10、口和定時(shí)器)仍將繼續(xù)工作。對(duì)10. AT89S52單片機(jī)不論是進(jìn)入空閑模式還是掉電運(yùn)行模式后,片內(nèi)RAM 和SFR 中的內(nèi)容均保持原來(lái)的狀態(tài)。對(duì)11. AT89S52單片機(jī)進(jìn)入掉電運(yùn)行模式,CPU 斷系統(tǒng)、串行口和定時(shí)器)均停止工作。對(duì)12. AT89S52單片機(jī)的掉電運(yùn)行模式可采用響應(yīng)中斷方式來(lái)退出。對(duì)四、簡(jiǎn)答1. AT89S52單片機(jī)片內(nèi)都集成了哪些功能部件?6 / 31答:集成了如下部件:1 256 RAM)單元 8K Flash 程序存儲(chǔ)器;4 個(gè) 8 位可編程并行I/O P0 口、P1 口、P2 口、P3 1 個(gè)全雙工串行口;3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器; 1 個(gè)看門(mén)狗定時(shí)器;一個(gè)

11、中斷系統(tǒng),6個(gè)中斷源,2個(gè)優(yōu)先級(jí);322. AT89S52的 64KB 程序存儲(chǔ)器空間有6 個(gè)單元地址對(duì)應(yīng)AT89S52單片機(jī)6 的中斷源。答:見(jiàn)下表表 AT89S52各中斷源的中斷入口地址3. 說(shuō)明AT89S52單片機(jī)的引腳接高電平或低電平的區(qū)別。答:當(dāng)腳為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器(8K 字節(jié)Flash)中的內(nèi)容,但在PC 值超過(guò)(即超出4K 字節(jié)地址范圍)時(shí),將自部程序存儲(chǔ)器的地址為0000HFFFFH 中的內(nèi)容進(jìn)行讀操作,單片機(jī)不理會(huì)片內(nèi)的8K 字節(jié)的Flash 程序存儲(chǔ)器。4. AT89S52單片機(jī)有哪兩種低功耗節(jié)電模式?說(shuō)明兩種低功耗節(jié)電模式的異同。答:AT89S52idle

12、 )和掉電模式(power down CPU 片內(nèi)所有外圍電路(中斷系統(tǒng)、串行口和定時(shí)器)仍繼續(xù)工作,SP、AP0P3 端口等所有其他寄存器,以及內(nèi)部RAM 和 SFR中的內(nèi)容均保持進(jìn)入空閑模式前的狀態(tài)。因?yàn)镃PU 耗電量通常要占芯片耗電的,因此CPU 停止工作則會(huì)大大降低功耗。掉電模式下,振蕩器停止工作。由于沒(méi)有了時(shí)鐘信號(hào),內(nèi)部的所有部件均停止工作,但片內(nèi)的RAM 和SFR 的原來(lái)內(nèi)容都被保留,有關(guān)端口的輸出狀態(tài)值都保存在對(duì)應(yīng)的特殊功能寄存器中。7/ 315. AT89S52單片機(jī)運(yùn)行時(shí)程序出現(xiàn)“跑飛”或陷入“死循環(huán)時(shí),說(shuō)明如何利用看門(mén)狗來(lái)擺脫困境的工作原理。答:可采用看門(mén)狗定時(shí)器。工作原理

13、如下:“看門(mén)狗”技術(shù)就是使用一個(gè)“看門(mén)狗”定時(shí)器來(lái)對(duì)系統(tǒng)時(shí)鐘不斷計(jì)數(shù),監(jiān)視程序的運(yùn)行。當(dāng)看門(mén)狗定時(shí)器啟動(dòng)運(yùn)行后,為防止看門(mén)狗定定時(shí)器清0,以保證看門(mén)狗定時(shí)器不溢出。當(dāng)由于干擾,使單片機(jī)程序“跑飛”或陷入“死循環(huán)”時(shí),單片機(jī)也就不能正常運(yùn)行程序來(lái)定時(shí)地把看門(mén)狗定時(shí)器清0,當(dāng)看門(mén)狗定時(shí)器計(jì)滿溢出時(shí),將在AT89S52的 RST 引腳上輸出一個(gè)正脈沖(寬度為98 0000H 處重新開(kāi)始執(zhí)行主程序,從而使程序擺脫 “跑飛”或“死循環(huán)”狀態(tài),讓單片機(jī)歸復(fù)于正常的工作狀態(tài)。第 3 章 思考題及習(xí)題3 參考答案一、填空訪問(wèn)SFR,只能使用尋址方式。答:直接。組成,也可僅由指令格式是由和組成。答:操作碼,操作

14、數(shù),操作碼?;蜃鳛榛芳拇嫫鳌4穑篈,DPTR假定累加器A 中的內(nèi)容為30H,執(zhí)行指令1000H: MOVC A,A+PC后,把程序存儲(chǔ)器單元的內(nèi)容送入累加器A 中。答:1031H在AT89S52中,PC和DPTRPC是為訪問(wèn)存儲(chǔ)器提供地址,而DPTR 是為訪問(wèn)存儲(chǔ)器提供地址。答:程序,數(shù)據(jù)8 / 31在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的下列程序段的功能是PUSH Acc。答:地址。答:A 的內(nèi)容與B 的內(nèi)容互換。PUSH BPOPPOPAccB已知程序執(zhí)行前有(A)=02H(51H)=FFH,(52H)=FFH。下述程序執(zhí)(SP)=52H ,(5

15、2H)=, (51H)=,(SP)=行后, (A)=,。 DPH POPDPLPOP#4000H,MOV DPTR A RLA MOV B,A+DPTR AMOVC,PUSH AccB MOV A,AINCA+DPTRMOVCA,PUSH AccRET31/ 9ORG 4000HDB 10H,80H,30H,50H,30H,50H=50H=50H51H5030H假定(A)=83H(R0)=17H(17H)=34H(A)=。ANL A,#17H17H,A ORLAR0 XRLACPLA)=0CBH。假設(shè)(A)=55H(R3)=0AAHANL AR 后,(A)=,(R3)=。A)=0AAH。如果(

16、DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,DPH=(DPL)=(SP)=。POP DPHPOPPOPDPLSPDPH)=3CHDPL)=5FH)=50H假定,(SP)=60H,(B)=70H,執(zhí)行下列指令后,SP 的內(nèi)容為61H單元的內(nèi)容為Acc62H單元的內(nèi)容為。PUSHPUSHB10/ 31SP)=62H)=30H=70H。二、判斷對(duì)錯(cuò)1. 判斷以下指令的正誤。(1MOV 28HR22DEC DPTR 3INC DPTR4CLRR0)CPL R5(6MOV R07PHSH 8MOV F09MOVF0,Acc.3;(10)MOVX

17、AR111)MOV C,30H12RLC R01)錯(cuò)(2)對(duì)(4)錯(cuò)()錯(cuò)(6)錯(cuò)(7)錯(cuò)(8)對(duì)(9)錯(cuò)(1011)對(duì)()錯(cuò)。2. 判斷下列說(shuō)法是否正確。A. 立即數(shù)尋址方式是被操作的數(shù)據(jù)本身就在指令中,而不是它的地址在指令中。B. 指令周期是執(zhí)行一條指令的時(shí)間。C. 指令中直接給出的操作數(shù)稱為直接尋址。D. 內(nèi)部寄存器Rn)可作為間接尋址寄存器。答:A.B.對(duì);錯(cuò);錯(cuò)。3. 以下指令中,屬于單純讀引腳的指令是( A. MOV P1,A;B. ORL P1,#0FHC. MOV C, ;D. ANL P1,#0FH答:。三、單選1. 程序在運(yùn)行中,當(dāng)前PC 的值是。11 / 31AB令的地址

18、。 D存器的地址。答:C2. 判斷下列哪一種說(shuō)法是正確的?APC 是一個(gè)可尋址的寄存器B單片機(jī)的主頻越高,其運(yùn)算速度越快。AT89S52單片機(jī)中的一個(gè)機(jī)器周期為sD特殊功能寄存器SP 內(nèi)存放的是堆棧棧頂單元的內(nèi)容。答:B3. 對(duì)程序存儲(chǔ)器的讀操作,只能使用( A. MOV 指令 BPUSH 指令 MOVX 指令 DMOVC指令答:D。四、程序分析與編程1. 下列程序段經(jīng)匯編后,從1000H 開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDBMAINTAB1,TAB2,70HDW答:從1000H 開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容(16 進(jìn)制

19、如下:12 / 314DH,41H,49H,12H,34H,00H,00H,70H2. 編寫(xiě)程序,將內(nèi)部 RAM 中 45H 單元的高 4 位清“,低 4 位置“。答:參考程序如下:MOV A,45HA,ANL #0FHA,#0FH ORL45H, AMOV3. 已知程序執(zhí)行前有A=02HSP=42H(41H)=FFH(42H)=FFH。下述程序執(zhí)行后, A=();SP=()。);(41H)=();(42H)=();PC=(POP DPHDPLPOPMOV DPTR,#3000HRL AMOV B,AMOVC A,A+DPTRPUSH AccMOV A,BINC AMOVC A,A+DPTRP

20、USH AccRET13/ 31ORG 3000HDB 10H,80H,30H,80H,50H,80HA=80H =40H(41H)=50H(42H)=80H (PC=8050H4. 編寫(xiě)程序,查找在內(nèi)部RAM 的 50H 單元中是否有0AAH 這一數(shù)據(jù)。若有,則將51H 單元置為“ 51H 單元置為“答:參考程序如下:START: MOV R0,#30HR2,#20HMOVA,R0: MOVCJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,MOV 51H,#00HRETEXIT:5. 寫(xiě)出完成如下要求的程序段,但是不能改變未涉

21、及位的內(nèi)容。A. 把ACC.3, ,ACC.5 和 ACC.6 清“0B. 把累加器A 的中間4 位清“0C. 把 ACC.2 和 ACC.3 置“1答: A. ANL A,#87H14/ 31B. ANL A,#3HC. ORL A,#0CH6. 若 SP=60H號(hào)LABEL 所在的地址為3456HLCALL 指令的地址為2000H,執(zhí)行如下指令:2000HLCALL LABEL1)堆棧指針SP 2PC 的值等于什么?(3)如果將指令LCALL 直接換成ACALL 是否可以?(4)如果換成ACALL 指令,可調(diào)用的地址范圍是什么?答:(1)SP=SP+1=61H (61H)=PC 的低字節(jié)=

22、03H(62H)=PC SP=SP+1=62H 的高字節(jié)=20HPC=3456H 2 ()不可以 2048 Byte(42KB這一數(shù)據(jù)的“00H”單元中出現(xiàn)20H40H 的 7. 試編寫(xiě)程序,查找在內(nèi)部 RAM 41H 次數(shù),并將查找到的結(jié)果存入單元。 答:參考程序如下:41H,#0 MOV START:R0,#20H MOVR2,#20H MOVMOV A,R0:JNZ NEXT15/ 31INC 41HINC R0NEXT:DJNZ ,LOOPRET8. 對(duì)例3-22 中的程序進(jìn)行修改,使其達(dá)到精確的50ms 延時(shí)時(shí)間。答:原來(lái)的程序:ORG 0100HD50ms: MOV R7,#200

23、 ;執(zhí)行時(shí)間1s;執(zhí)行時(shí)間 1s: MOVR6,#125 D1;指令執(zhí)行 1 次為2s,總計(jì) : DJNZR6,D2 1252=250sDJNZ R7,D1 ;指令執(zhí)行時(shí)間,本循環(huán)體執(zhí)行200 次;指令執(zhí)行時(shí)間 sRET可對(duì)程序做如下修改:ORG 0100HD50ms: MOV R7, #200MOV R6, #123 ;將原來(lái)的立即數(shù)125 改為 D1: 123R6, D2DJNZ :D2NOP;增加的指令DJNZ R7, D1RET程序修改后的延時(shí)時(shí)間為:1+(1+123*2+1+2)*200+2=50003s=50.003ms16/ 319. 借助表3-2,對(duì)如下指令代碼(十六進(jìn)制)進(jìn)行

24、手工反匯編。FFH,E0H,F(xiàn)0H,F0H答: MOV R7,APUSH AccB A,MOVADPTRMOVX五、簡(jiǎn)答1. 功能如何?能如下:ORG(ORiGin)匯編起始地址命令;END(END of 匯編終止命(Define )定義數(shù)據(jù)字節(jié)命令;(Define Word)定義數(shù)據(jù)字命令;(Define )定義存儲(chǔ)區(qū)命令;BIT 位定義命令2. 解釋下列術(shù)語(yǔ):手工匯編、機(jī)器匯編、反匯編答: 3-2譯”成機(jī)器代碼,再進(jìn)行調(diào)試和運(yùn)行。這種人工查表“翻譯”指令的機(jī)器匯編:借助于微型計(jì)算機(jī)上的軟件匯編程序來(lái)代替手工匯編。通過(guò)在微機(jī)上運(yùn)行匯編程序,把匯編語(yǔ)言源程序翻譯成機(jī)器代碼。17 / 31反匯編

25、:將二進(jìn)制的機(jī)器碼程序翻譯成匯編語(yǔ)言源程序的過(guò)程稱為3. 設(shè)計(jì)子程序時(shí)應(yīng)注意哪些問(wèn)題?答:編寫(xiě)子程序時(shí)應(yīng)注意以下問(wèn)題:子程序的第一條指令前必須有標(biāo)號(hào)。主程序調(diào)用子程序,有如下兩條子程序調(diào)用指令: 絕對(duì)調(diào)用指令A(yù)CALL add1。被調(diào)用的子程序的首地址與絕對(duì)調(diào)用指令的下一條指令的高5 位地址相同,即只能在同一個(gè)2KB 區(qū)內(nèi)。 長(zhǎng)調(diào)用指令LCALL add6。addr16 為直接調(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ì)基本型的80

26、51如 MOV R0)中,規(guī)定R0 或R1 的內(nèi)容不能超過(guò)?而對(duì)增強(qiáng)型的8052 子系列單片機(jī),R0 或 R1 的內(nèi)容就不受限制?答:基本型的8051 子系列單片機(jī),由于其片內(nèi)RAM 的地址范圍為00H7FH,而80HFFH 為特殊功能寄存器區(qū),而對(duì)特殊功能寄存器尋址,只能使用直接尋址方式。對(duì)片內(nèi)RAM 尋址,當(dāng)使用寄存器間接尋址是采用R0 或R1 作為間接尋址的,因此R0 或R1 的內(nèi)容不能超過(guò) 7FH。增強(qiáng)型的8052 RAM 的地址范圍為00HFFH此作為間接尋址寄存器的R0 或R1 的內(nèi)容就不受限制。18/ 31第 4章 思考題及習(xí)題4參考答案一、填空1 1的中斷入口地址為 T1的中斷

27、入口地址為答:0013H;001BH2若()=00010100B,則優(yōu)先級(jí)最高者為。,最低者為。答:外部中斷1,定時(shí)器T13AT89S52單片機(jī)響應(yīng)中斷后,產(chǎn)生長(zhǎng)調(diào)用指令,執(zhí)行該指令的過(guò)程包括:首先把 的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然,使程序執(zhí)行轉(zhuǎn)向后把長(zhǎng)調(diào)用指令的16位地址送入中的中斷地址區(qū)。答:、程序存儲(chǔ)器4AT89S52單片機(jī)復(fù)位后,中斷優(yōu)先級(jí)最高的中斷源是答:外部中斷0。5當(dāng)AT89S52單片機(jī)響應(yīng)中斷后,必須用軟件清除的中斷請(qǐng)求標(biāo)志是。答:串行中斷、定時(shí)器/計(jì)數(shù)器T2中斷二、單選1下列說(shuō)法錯(cuò)誤的是(A. 同一級(jí)別的中斷請(qǐng)求按時(shí)間的先后順序響應(yīng)B. 同一時(shí)間同一級(jí)別的多中斷請(qǐng)求,將形

28、成阻塞,系統(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)求19 / 31D. 同級(jí)中斷不能嵌套答:B2在AT89S52的中斷請(qǐng)求源中,需要外加電路實(shí)現(xiàn)中斷撤銷(xiāo)的是(A. 電平方式的外部中斷請(qǐng)求B跳沿方式的外部中斷請(qǐng)求外部串行中斷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í)行RETI 指令當(dāng)前指令是MOV A,R3D當(dāng)前指令是DIV 指令,且正處于取指令的機(jī)器周期答:C4下列說(shuō)法正確的是(A. 各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89S52的

29、IE 寄存器中B. 各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89S52的 TMOD 寄存器中C. 各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89S52的 IP 寄存器中D. 各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在AT89S52的 、SCON 以及T2CON 寄存器中20/ 31答:D三、判斷對(duì)錯(cuò)1定時(shí)器T0 中斷可以被外部中斷0 中斷。錯(cuò)2. 必須有中斷源發(fā)出中斷請(qǐng)求,并且CPU 開(kāi)中斷,CPU 才可能響應(yīng)中斷。錯(cuò)3AT89S52單片機(jī)中的同級(jí)中斷不能嵌套。對(duì)4同為高中斷優(yōu)先級(jí),外部中斷0 能打斷正在執(zhí)行的外部中斷1 的中斷服務(wù)程序。錯(cuò)5中斷服務(wù)子程序可以直接調(diào)用。錯(cuò)6在開(kāi)中斷的前提下,只要

30、中斷源發(fā)出中斷請(qǐng)求,CPU 就會(huì)立刻響應(yīng)中斷。錯(cuò)四、簡(jiǎn)答1中斷服務(wù)子程序與普通子程序有哪些相同和不同之處?答:RETI 指令在返回的同時(shí)自動(dòng)清除相應(yīng)的不可尋址的優(yōu)先級(jí)觸發(fā)器, RET 不同外,其它操作都相同。2AT89S52單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU 將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:在一個(gè)單一中斷的系統(tǒng)里,AT89S51單片機(jī)對(duì)外部中斷請(qǐng)求的響應(yīng)時(shí)間總是在38 個(gè)機(jī)器周期之間。在下述三種情況下,AT89S51將推遲對(duì)外部中斷請(qǐng)求的響應(yīng):(1)AT89S52正在處理同級(jí)或更高優(yōu)先級(jí)的中斷。(221 / 31(3)正在執(zhí)行的指令是RETI 或是訪問(wèn)IE 或 IP 的指

31、令。AT89S52將丟棄中斷查詢結(jié)果,將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)。3中斷響應(yīng)需要滿足哪些條件?答:一個(gè)中斷源的中斷請(qǐng)求被響應(yīng),必須滿足以下條件:(1)總中斷允許開(kāi)關(guān)接通,即IE 寄存器中的中斷總允許位EA1。(21(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無(wú)同級(jí)或更高級(jí)中斷正在被服務(wù)。4編寫(xiě)外部中斷1 為跳沿觸發(fā)的中斷初始化程序段。答: 參考程序段如下:SETB IT1SETB EX1SETB EA5某系統(tǒng)有三個(gè)外部中斷源I1IR2 和 IR3見(jiàn)圖4-11 CPU 進(jìn)行處理,它們的優(yōu)先處理次序由高到低為I3、I22/ 312IR1,中斷處理程序的入口地址分別為1000H1100H1

32、200H。試編寫(xiě)主程序及中斷服務(wù)子程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即答:參見(jiàn)電路如圖,參考程序如下:ORG 0000HLJMP0013H ORGLJMP INT_EX1ORG 0030HCLR IT0MAIN:;采用電平觸發(fā),低電平有效中斷SETB EX1 ;允許外部中斷1EASETB;插入一段用戶程序WAIT: AJMP WAIT ;單片機(jī)等待中斷;以下為外部中斷1 服務(wù)子程序INT_EX1: JB P1.2,NEXT1 ;判斷是不是IR3 中斷;跳轉(zhuǎn)到IR3 INT_IR3 中斷處理程序 LJMPP1.1NEXT1: ,NEXT2 ;判斷是不是 IR2 中斷 JBLJMP 中斷處理程序

33、INT_IR2 IR2;跳轉(zhuǎn)到NEXT2: IR1 中斷處理程序LJMP INT_IR1;跳轉(zhuǎn)到1000HORGINT_IR3: 相應(yīng)中斷處理程序23/ 31RETI;中斷返回ORG 1100HINT_IR2: 相應(yīng)中斷處理程序RETI;中斷返回ORG 1200HINT_IR1: 相應(yīng)中斷處理程序RETI ;中斷返回第 5 章 思考題及習(xí)題5 參考答案一、填空1如果采用晶振的頻率為/計(jì)數(shù)器Txx=0,1)工作在方01、2 下,其方式 0 的最大定時(shí)時(shí)間為,方式 1 的最大定時(shí)時(shí)間為,方式2 的最大定時(shí)時(shí)間為。答:32.768ms,262.144ms,1024s2定時(shí)器/計(jì)數(shù)器用作計(jì)數(shù)器模式時(shí),

34、外部輸入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)時(shí)鐘頻率的。答:1/243/定時(shí)時(shí)間與 有關(guān)。提供,方式可答:系統(tǒng)時(shí)鐘信號(hào)12 分頻后,定時(shí)器初值4定時(shí)器/計(jì)數(shù)器T1 測(cè)量某正單脈沖的寬度,采用得到最大量程?若時(shí)鐘頻率為,求允許測(cè)量的最大脈沖寬度為。24 / 31答:方式1 定時(shí),131.072ms。5. 定時(shí)器T2 有 3 種工作方式:、和,可通過(guò)對(duì)寄存器中的相關(guān)位進(jìn)行軟件設(shè)置來(lái)選擇。T2CON6. AT89S52單片機(jī)的晶振為T(mén)1的方式1定時(shí),則(TH1)=答:,。二、單選TL1)=。1定時(shí)器T0 工作在方式3 時(shí),定時(shí)器T1 有種工作方式。A.1 種 B.2 種3 種 D4 種C 答: 2. 定時(shí)器

35、位。、T1 工作于方式1 時(shí),其計(jì)數(shù)器為B.16 位 C.14B 答: 3. 定時(shí)器 。 T10、的 GATEx=1時(shí),其計(jì)數(shù)器是否計(jì)數(shù)的條件位 位D.13A.8 位GATE位狀態(tài)B. 僅取決于狀態(tài)僅取決于A. TRxD. 僅取決于的狀態(tài)TRxC. 是由和兩個(gè)條件來(lái)共同控制C答: T24. 定時(shí)器 位。25 / 31A.8 位答:DB. 13 位C.14 位D. 16 位5. 要想測(cè)量引腳上的正單脈沖的寬度,特殊功能寄存器TMOD 的內(nèi)容應(yīng)為A.87H答:B。B. 09H C.80HD. 00H三、判斷對(duì)錯(cuò)1下列關(guān)于0、T1 的哪些說(shuō)法是正確的。A.特殊功能寄存器,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。

36、對(duì)B.特殊功能寄存器,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)C.特殊功能寄存器,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)特殊功能寄存器,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)2定時(shí)器0T1 對(duì)外部脈沖進(jìn)行計(jì)數(shù)時(shí),要求輸入的計(jì)數(shù)脈沖的高電平或低電平的持續(xù)時(shí)間不小于1 SCON 與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。錯(cuò)3定時(shí)器0T1 對(duì)外部引腳上的脈沖進(jìn)行計(jì)數(shù)時(shí),要求輸入的計(jì)數(shù)脈沖的高電平和低電平的持續(xù)時(shí)間均不小于2 個(gè)機(jī)器周期。對(duì)四、簡(jiǎn)答1定時(shí)器/計(jì)數(shù)器26 / 311、T0 的工作方式 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ù)初

37、值影響定時(shí)精度的問(wèn)題。2THx 與 TLxx =0)是普通寄存器還是計(jì)數(shù)器?其內(nèi)容可以隨時(shí)用指令更改嗎?更改后的新值是立即刷新還是等當(dāng)前計(jì)數(shù)器計(jì)滿后才能刷新?答:THx 與 TLx(x = 0,1)是計(jì)數(shù)器,其內(nèi)容可以隨時(shí)用指令更改,但是更改后的新值要等當(dāng)前計(jì)數(shù)器計(jì)滿后才能刷新。3如果系統(tǒng)的晶振的頻率為,定時(shí)器/計(jì)數(shù)器工作在方01、2 下,其最大定時(shí)時(shí)間各為多少?答:晶振的頻率為24MHz, 機(jī)器周期為0.5s。方式0 最大定時(shí)時(shí)間=0.5213=0.5s8192=4096s方式1 最大定時(shí)時(shí)間=0.5216=0.5s65536=327686s方式2 最大定時(shí)時(shí)間=0.528=0.5s256=

38、128s4定時(shí)器/計(jì)數(shù)器Tx(x=01)的方式2 有什么特點(diǎn)?適用于哪些應(yīng)用場(chǎng)合?答:定時(shí)器/計(jì)數(shù)器的工作方式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í)? 定時(shí)時(shí)間的和。27/ 31方法2,一個(gè)作為定時(shí)器,在定時(shí)中斷后產(chǎn)生一個(gè)外部計(jì)數(shù)脈沖(比如由P1.0 的定時(shí)時(shí)間為一個(gè)定時(shí)器的定時(shí)時(shí)間乘以另一個(gè)定時(shí)器的計(jì)數(shù)值。6當(dāng)定時(shí)器T0 用于方式3 時(shí),應(yīng)該如何控制定時(shí)器T1 的啟動(dòng)和關(guān)閉? TMOD 寄存器的D6 T1 的啟動(dòng)和關(guān)閉。7THx 與 (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 的 THx 讀THx THx 相同,THx 述過(guò)程。五、編程1采用定時(shí)器/計(jì)數(shù)器T0 對(duì)外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)100 個(gè)脈沖后,T0 轉(zhuǎn)為定時(shí)工作方式。定時(shí)1m

溫馨提示

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