![MCS-51單片機(jī)應(yīng)用設(shè)計(jì)課后答案(共11頁)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/f1b10f01-1c7f-481d-bebc-8bede5f6cc08/f1b10f01-1c7f-481d-bebc-8bede5f6cc081.gif)
![MCS-51單片機(jī)應(yīng)用設(shè)計(jì)課后答案(共11頁)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/f1b10f01-1c7f-481d-bebc-8bede5f6cc08/f1b10f01-1c7f-481d-bebc-8bede5f6cc082.gif)
![MCS-51單片機(jī)應(yīng)用設(shè)計(jì)課后答案(共11頁)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/f1b10f01-1c7f-481d-bebc-8bede5f6cc08/f1b10f01-1c7f-481d-bebc-8bede5f6cc083.gif)
![MCS-51單片機(jī)應(yīng)用設(shè)計(jì)課后答案(共11頁)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/f1b10f01-1c7f-481d-bebc-8bede5f6cc08/f1b10f01-1c7f-481d-bebc-8bede5f6cc084.gif)
![MCS-51單片機(jī)應(yīng)用設(shè)計(jì)課后答案(共11頁)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/f1b10f01-1c7f-481d-bebc-8bede5f6cc08/f1b10f01-1c7f-481d-bebc-8bede5f6cc085.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一章 單片機(jī)概述1.2除了單片機(jī)這一名稱之外,單片機(jī)還可稱為(微控制器)和(嵌入式控制器)。1.3單片機(jī)與普通計(jì)算機(jī)的不同之處在于其將(微處理器)、(存儲(chǔ)器)和(各種輸入輸出接口)三部分集成于一塊芯片上。4、單片機(jī)的發(fā)展大致分為哪幾個(gè)階段?答:單片機(jī)的發(fā)展歷史可分為四個(gè)階段:第一階段(1974年-1976年):單片機(jī)初級(jí)階段。第二階段(1976年-1978年):低性能單片機(jī)階段。第三階段(1978年-現(xiàn)在):高性能單片機(jī)階段。第四階段(1982年-現(xiàn)在):8位單片機(jī)鞏固發(fā)展及16位單片機(jī)、32位單片機(jī)推出階段1.5單片機(jī)根據(jù)其基本操作處理的位數(shù)可分為哪幾種類型?答:單片機(jī)根據(jù)其基本操作處理的
2、位數(shù)可分為:1位單片機(jī)、4位單片機(jī)、8位單片機(jī)、16位單片機(jī)和32位單片機(jī)。1.6 MCS-51系列單片機(jī)的基本芯片分別為哪幾種?它們的差別是什么?答:基本芯片為8031、8051、8751。8031內(nèi)部包括1個(gè)8位cpu、128BRAM,21個(gè)特殊功能寄存器(SFR)、4個(gè)8位并行I/O口、1個(gè)全雙工串行口,2個(gè)16位定時(shí)器/計(jì)數(shù)器,但片內(nèi)無程序存儲(chǔ)器,需外擴(kuò)EPROM芯片。8051是在8031的基礎(chǔ)上,片內(nèi)又集成有4KBROM,作為程序存儲(chǔ)器,是1個(gè)程序不超過4KB的小系統(tǒng)。8751是在8031的基礎(chǔ)上,增加了4KB的EPROM,它構(gòu)成了1個(gè)程序小于4KB的小系統(tǒng)。用戶可以將程序固化在EP
3、ROM中,可以反復(fù)修改程序。1.7 MCS-51系列單片機(jī)與80C51系列單片機(jī)的異同點(diǎn)是什么?答:共同點(diǎn)為它們的指令系統(tǒng)相互兼容。不同點(diǎn)在于MCS-51是基本型,而80C51采用CMOS工藝,功耗很低,有兩種掉電工作方式,一種是CPU停止工作,其它部分仍繼續(xù)工作;另一種是,除片內(nèi)RAM繼續(xù)保持?jǐn)?shù)據(jù)外,其它部分都停止工作。1.8 8051與8751的區(qū)別是(C)(A)內(nèi)部數(shù)據(jù)存儲(chǔ)單元數(shù)目的不同 (B)內(nèi)部數(shù)據(jù)存儲(chǔ)器的類型不同(C)內(nèi)部程序存儲(chǔ)器的類型不同 (D)內(nèi)部的寄存器的數(shù)目不同1.9在家用電器中使用單片機(jī)應(yīng)屬于微型計(jì)算機(jī)的(B)(A)輔助設(shè)計(jì)應(yīng)用(B)測量、控制應(yīng)用(C)數(shù)值計(jì)算應(yīng)用(D
4、)數(shù)據(jù)處理應(yīng)用1.10說明單片機(jī)主要應(yīng)用在哪些領(lǐng)域?答:單片機(jī)主要運(yùn)用領(lǐng)域?yàn)椋汗I(yè)自動(dòng)化;智能儀器儀表;消費(fèi)類電子產(chǎn)品;通信方面;武器裝備;終端及外部設(shè)備控制;多機(jī)分布式系統(tǒng)。第二章MCS-51單片機(jī)的硬件結(jié)構(gòu)2.1 MCS-51單片機(jī)的片內(nèi)都集成了哪些功能部件?各個(gè)功能部件的最主要的功能是什么?答:功能部件如下:微處理器(CPU); 數(shù)據(jù)存儲(chǔ)器(RAM); 程序存儲(chǔ)器(ROM/EPROM,8031沒有此部件),4個(gè)8位并行I/O口(P0口、P1口、P2口、P3口);1個(gè)全雙工的串行口;2個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷系統(tǒng);21個(gè)特殊功能寄存器(SFR)。各部件功能:CPU(微處理器)包括了運(yùn)算
5、器和控制器兩大部分,還增加了面向控制的處理功能,不僅可處理字節(jié)數(shù)據(jù),還可以進(jìn)行位變量的處理;數(shù)據(jù)存儲(chǔ)器(RAM)片內(nèi)為128B(52系列的為256B),片外最多可外擴(kuò)64KB。數(shù)據(jù)存儲(chǔ)器來存儲(chǔ)單片機(jī)運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等;程序存儲(chǔ)器(ROM/EPROM)用來存儲(chǔ)程序;中斷系統(tǒng)具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán);定時(shí)器/計(jì)數(shù)器用作精確的定時(shí),或?qū)ν獠渴录M(jìn)行計(jì)數(shù);串行口可用來進(jìn)行串行通信,擴(kuò)展并行I/O口,還可以與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣;特殊功能寄存器用于CPU對(duì)片內(nèi)各功能部件進(jìn)行管理、控制、監(jiān)視。2.2說明MCS-51單片
6、機(jī)的引腳EA的作用,該引腳接高電平和接低電平時(shí)各有何種功能?答:當(dāng)該引腳為高電平時(shí),單片機(jī)訪問片內(nèi)程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過0FFFH(對(duì)于8051、8751)時(shí),即超出片內(nèi)程序存儲(chǔ)器的4KB地址范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)該引腳為低電平時(shí),單片機(jī)則只訪問外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器。對(duì)于8031來說,因其無內(nèi)部程序存儲(chǔ)器,所以該引腳必須接地,這樣只能選擇外部程序存儲(chǔ)器。2.3 MCS-51的時(shí)鐘振蕩周期和機(jī)器周期之間有何關(guān)系?答:每12個(gè)時(shí)鐘周期為1個(gè)機(jī)器周期。2.4在MCS-51單片機(jī)中,如果采用6 MHZ晶振,1個(gè)機(jī)器周期為(2微秒)。2.5
7、程序存儲(chǔ)器的空間里,有5個(gè)單元是特殊的,這5個(gè)單元對(duì)應(yīng)MCS-51單片機(jī)5個(gè)中斷源的中斷入口地址,請(qǐng)寫出這些單元的地址以及對(duì)應(yīng)的中斷源。答: 中斷源 入口地址外部中斷0 0003H定時(shí)器0(T0)000BH外部中斷1 0013H定時(shí)器1(T1)001BH串行口0023H2.6內(nèi)部RAM中,位地址為30H的位,該位所在字節(jié)的字節(jié)地址為(26H)。2.7若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為(0)。2.8判斷下列說法是否正確:(A)8031的CPU是由RAM和EPROM所組成。 (錯(cuò))(B)區(qū)分片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的最可靠的方法是看其位于地址范圍的低端還是高端。(錯(cuò))(C)在MCS-
8、51中,為使準(zhǔn)雙向的I/O口工作在輸入方式,必須保證它被事先預(yù)置為1。 (對(duì))(D)PC可以看成是程序存儲(chǔ)器的地址指針。 (對(duì))2.9 8031單片機(jī)復(fù)位后,R4所對(duì)應(yīng)的存儲(chǔ)單元的地址為(04H),因上電時(shí)PSW=(00H)。這時(shí)當(dāng)前的工作寄存器區(qū)是(0)組工作寄存器區(qū)。2.10什么是機(jī)器周期?1個(gè)機(jī)器周期的時(shí)序是如何來劃分的?如果采用12MHZ晶振,1個(gè)機(jī)器周期為多長時(shí)間?答:CPU完成一個(gè)基本操作所需要的時(shí)間稱為機(jī)器周期。時(shí)序劃分:一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,分為6個(gè)狀態(tài);S1-S6。每個(gè)狀態(tài)又分為2拍;P1和P2。因此,1個(gè)機(jī)器周期中的12個(gè)時(shí)鐘周期表示為:S1P1、S1P2、S2P
9、1、S2P2、S6P2。如果采用12MHZ晶振,1個(gè)機(jī)器周期為1s。2.11判斷以下有關(guān)PC和DPTR的結(jié)論是否正確?(A)DPTR是可以訪問的,而PC不能訪問。 (錯(cuò))(B)它們都是16位的寄存器。 (對(duì))(C)它們都具有加1的功能。 (對(duì))(D)DPTR可以分為2個(gè)8位寄存器使用,但PC不能。 (對(duì))12、內(nèi)部RAM中,哪些單元可作為工作寄存器區(qū),哪些單元可以進(jìn)行位尋址?寫出它們的字節(jié)地址。答:地址為00H-1FH的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)包括8個(gè)8位工作寄存器,編號(hào)為R0-R7。字節(jié)地址為20H-2FH的16個(gè)單元可進(jìn)行128位的位尋址,這些單元構(gòu)成了1位處理機(jī)的存儲(chǔ)器空
10、間。位地址范圍是00H-7FH。2.13使用8031單片機(jī)時(shí),需將EA引腳接(低)電平,因?yàn)槠淦瑑?nèi)無(程序)存儲(chǔ)器。2.14片內(nèi)RAM低128個(gè)單元?jiǎng)澐譃槟?個(gè)主要部分?各部分的主要功能是什么?答:字節(jié)地址為00H-1FH的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)包括8個(gè)8位工作寄存器,編號(hào)為R0-R7??梢酝ㄟ^改變PSW中的RS1、RS0來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計(jì)帶來極大的方便,特別是在中斷嵌套時(shí),為實(shí)現(xiàn)工作寄存器現(xiàn)場內(nèi)容保護(hù)提供了方便;字節(jié)地址為20H-2FH的16個(gè)單元可進(jìn)行工128位的位尋址,這些單元構(gòu)成了1位處理機(jī)的存儲(chǔ)器空間;字節(jié)地址為30H-7FH的單元為用戶R
11、AM區(qū),只能進(jìn)行字節(jié)尋址。用于作為數(shù)據(jù)緩沖區(qū)以及堆棧區(qū)。2.15判斷下列說法是否正確(A)程序計(jì)數(shù)器PC不能為用戶編程時(shí)直接使用,因?yàn)樗鼪]有地址。 (對(duì))(B)內(nèi)部RAM的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。 (錯(cuò))(C)8031共有21個(gè)特殊功能寄存器,它們的位都是可用軟件設(shè)置的,因此,是可以進(jìn)行位尋址的。(錯(cuò))2.16 PC的值是:(C)(A)當(dāng)前正在執(zhí)行指令的前一條指令的地址(B)當(dāng)前正在執(zhí)行指令的地址(C)當(dāng)前正在執(zhí)行指令的下一條指令的地址(D)控制器中指令寄存器的地址2.17通過堆棧操作實(shí)現(xiàn)子程序調(diào)用,首先就要把(PC)的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用返回時(shí),再進(jìn)行出棧
12、保護(hù),把保護(hù)的斷點(diǎn)送回到(PC)。2.18寫出P3口各引腳的第二功能。答: 口引腳 第二功能定義P3.0串行輸入口P3.1串行輸出口P3.2外部中斷0P3.3外部中斷1P3.4定時(shí)器0外部計(jì)數(shù)輸入P3.5定時(shí)器1外部計(jì)數(shù)輸入P3.6外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通2.19 MCS-51單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)所決定的,因?yàn)镸CS-51的PC是16位的,因此其尋址的范圍為(64)KB。2.20當(dāng)MCS-51單片機(jī)運(yùn)行出錯(cuò)或程序陷入死循環(huán)時(shí),如何來擺脫困境?答:可通過復(fù)位來解決。2.21判斷下列說法是否正確?(A)PC是1個(gè)不可尋址的特殊功能寄存器 (對(duì))
13、(B)單片機(jī)的主頻越高,其運(yùn)算速度越快(對(duì))(C)在MCS-51單片機(jī)中,1個(gè)機(jī)器周期等于1微秒 (錯(cuò))(D)特殊功能寄存器SP內(nèi)裝的是棧頂首地址單元的內(nèi)容(錯(cuò))2.22如果手中僅有一臺(tái)示波器,可通過觀察哪個(gè)引腳的狀態(tài),來大致判斷MCS-51單片機(jī)正在工作?答:ALE引腳。第三章MCS-51的指令系統(tǒng)3.1判斷以下指令的正誤:(1)MOV 28H,R2 (2) DEC DPTR (3) INC DPTR (4) CLR R0(5) CPL R5 (6) MOV R0,R1 (7) PUSH DPTR (8) MOV F0,C (9)MOV F0,Acc.3 (10)MOVX A,R1 (11)
14、 MOV C,30H (12)RLC R0答:(3)、(8)、(10)、(11)對(duì),其余錯(cuò)。3.2判斷下列說法是否正確。(A)立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。()(B)指令周期是執(zhí)行一條指令的時(shí)間。()(C)指令中直接給出的操作數(shù)稱為直接尋址。()3.3在基址加變址尋址方式中,以(A)作變址寄存器,以(DPTR)或(PC)作基址寄存器3.4 MCS-51共有哪幾種尋址方式?各有什么特點(diǎn)?答: 共有7種尋址方式。(1)寄存器尋址方式 操作數(shù)在寄存器中,因此指定了寄存器就能得到操作數(shù)。(2)直接尋址方式 指令中操作數(shù)直接以單元地址的形式給出,該單元地址中的內(nèi)容就是操
15、作數(shù)。(3)寄存器間接尋址方式寄存器中存放的是操作數(shù)的地址,即先從寄存器中找到操作數(shù)的地址,再按該地址找到操作數(shù)。(4)立即尋址方式 操作數(shù)在指令中直接給出,但需在操作數(shù)前面加前綴標(biāo)志“#”。(5)_基址寄存器加變址寄存器間接尋址方式 以DPTR或PC作基址寄存器,以累加器A作為變址寄存器,并以兩者內(nèi)容相加形成的16位地址作為操作數(shù)的地址,以達(dá)到訪問數(shù)據(jù)表格的目的。(6)位尋址方式 位尋址指令中可以直接使用位地址。(7)相對(duì)尋址方式在相對(duì)尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“rel”表示,即把PC的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。3.5 MCS-51指令按功能可以分為哪幾類?答:
16、MCS-51指令系統(tǒng)按功能分為:數(shù)據(jù)傳送類(28條);算術(shù)操作類(24條);邏輯運(yùn)算類(25條);控制轉(zhuǎn)移類(17條);位操作類(17條)。3.6訪問SFR,可使用哪些尋址方式?答:一般采用直接尋址,對(duì)于SFR中字節(jié)地址能被8整除的SFR可以使用位尋址,對(duì)于SFR中的A、B、DPTR寄存器可以采用寄存器尋址。3.7指令格式是由(操作碼)和(操作數(shù))所組成,也可能僅由(操作碼)組成。3.8假定累加器A中的內(nèi)容為30H,執(zhí)行指令:1000H:MOVC A,A+PC后,把程序存儲(chǔ)器(1031H)單元的內(nèi)容送入累加器中3.9在MCS-51中,PC和DPTR都用于提供地址,但PC是為訪問(程序)存儲(chǔ)器提
17、供地址,而DPTR是為訪問(數(shù)據(jù))存儲(chǔ)器提供地址。3.10在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的(地址)。3.11該程序段的功能是什么?PUSH APUSH BPOP APOP B答:功能是A、B內(nèi)容互換3.12已知程序執(zhí)行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下列程序執(zhí)行后:POP DPH POP DPL MOV DPTR,#4000H RL A MOV B,A MOVC A,A+DPTR PUSH A MOV A,B INC A MOVC A,A+DPTR PUSH A RET ORG 4000H DB 10H,8
18、0H,30H,50H,30H,50HA=50H SP=50H(51H)=30H(52H)=50H PC=5030H3.13寫出完成如下要求的指令,但是不能改變未涉及位的內(nèi)容。(A)把Acc.3,Acc.4,Acc.5和Acc.6清0。解:ANL A,#87H(B)把累加器A的中間4位清0。解:ANL A,#C3H(C)使Acc.2和Acc.3置1。解:ORL A,#0CH3.14假定A=83H,(R0)=17H,(17H)=34H,執(zhí)行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A的內(nèi)容為(0CBH)3.15假設(shè)A=55H,R3=0AAH,在執(zhí)行指令后ANL
19、A,R3后,A=(00H),R3=(0AAH)3.16如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后:POP DPHPOP DPLPOP SP則:DPH=(3CH)DPL=(5FH)SP=(4FH)3.17假定SP=60H,A=30H,B=70H,執(zhí)行下列指令:PUSH APUSH B后,SP的內(nèi)容為(62H),61H單元的內(nèi)容為(30H),62H單元的內(nèi)容為(70H)。3.18借助本書中的指令表:表3-3表3-7對(duì)如下的指令代碼(16進(jìn)制)進(jìn)行手工反匯編。FF C0 E0 E5 F0 F0解:查表可知FF MOV R7,A
20、C0 E0 PUSH 0E0HE5 F0 MOV A,0F0HF0 MOVX DPTR, A第四章MCS-51匯編語言程序設(shè)計(jì)4.1用于程序設(shè)計(jì)的語言分為哪幾種?它們各有什么特點(diǎn)?答:用于程序設(shè)計(jì)的語言基本上分為三種:機(jī)器語言、匯編語言和高級(jí)語言。(1)機(jī)器語言:在單片機(jī)中,用二進(jìn)制代碼表示的指令、數(shù)字和符號(hào)簡稱為機(jī)器語言,直接用機(jī)器語言編寫的程序稱為機(jī)器語言程序。用機(jī)器語言編寫的程序,不易看懂,不便于記憶,且容易出錯(cuò)。(2)匯編語言具有如下特點(diǎn):A、匯編語言是面向機(jī)器的語言,程序設(shè)計(jì)人員必須對(duì)MCS-51單片機(jī)的硬件有相當(dāng)深入的了解。B、助記符指令和機(jī)器指令一一對(duì)應(yīng),所以用匯編語言編寫的程序
21、效率高,占用的存儲(chǔ)空間小,運(yùn)行速度快,因此用匯編語言能編寫出最優(yōu)化的程序。C、匯編語言程序能直接管理和控制硬件設(shè)備(功能部件),它能處理中斷,也能直接訪問存儲(chǔ)器及I/O接口電路。(3)高級(jí)語言:高級(jí)語言不受具體機(jī)器的限制,都是參照一些數(shù)學(xué)語言而設(shè)計(jì)的,使用了許多數(shù)學(xué)公式和數(shù)學(xué)計(jì)算上的習(xí)慣用語,非常擅長于科學(xué)計(jì)算。計(jì)算機(jī)不能直接識(shí)別和執(zhí)行高級(jí)語言,需要將其“翻譯”成機(jī)器語言才能識(shí)別和執(zhí)行。4.3解釋下列術(shù)語:“手工匯編”、“機(jī)器匯編”、“交叉匯編”以及“反匯編”。答、手工匯編:通常把人工查表翻譯指令的方法稱為“手工匯編”。機(jī)器匯編:機(jī)器匯編實(shí)際上是通過執(zhí)行匯編程序來對(duì)源程序進(jìn)行匯編的。交叉匯編:
22、由于使用微型計(jì)算機(jī)完成了匯編,而匯編后得到的機(jī)器代碼卻是在另一臺(tái)計(jì)算機(jī)(這里是單片機(jī))上運(yùn)行,稱這種機(jī)器匯編為“交叉匯編”。反匯編:有時(shí),在分析現(xiàn)成產(chǎn)品的ROM/EPROM中的程序時(shí),要將二進(jìn)制數(shù)的機(jī)器代碼語言程序翻譯成匯編語言源程序,該過程稱為反匯編。4.4下列程序段經(jīng)匯編后,從1000H開始的各有關(guān)存儲(chǔ)單元的內(nèi)容將是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB“MAIN”DW TAB1,TAB2,70H答:(1000H)=M(1001H)=A(1002H)=I(1003H)=N(1004H)=34H(1005H)=12H(1006H)=00H(100
23、7H)=30H(1008H)=70H(1009H)=00H4.5設(shè)計(jì)子程序時(shí)注意哪些問題?答:在編寫子程序時(shí)應(yīng)注意以下問題:(1)子程序的第一條指令的地址稱為子程序的入口地址。該指令前必須有標(biāo)號(hào)。(2)主程序調(diào)用子程序,是通過主程序或調(diào)用程序中的調(diào)用指令來實(shí)現(xiàn)的。(3)注意設(shè)置堆棧指針和現(xiàn)場保護(hù),因調(diào)用子程序時(shí),要把斷點(diǎn)壓入堆棧,子程序返回執(zhí)行RET指令時(shí)再把斷點(diǎn)彈出堆棧送入PC指針,因此子程序結(jié)構(gòu)中必須用堆棧。(4)子程序返回主程序時(shí),最后一條指令必須是RET指令,它的功能是在執(zhí)行調(diào)用指令時(shí),把自動(dòng)壓入堆棧中的斷點(diǎn)地址彈出送入PC指針中,從而實(shí)現(xiàn)子程序返回主程序斷點(diǎn)處繼續(xù)執(zhí)行主程序。(5)子
24、程序可以嵌套,即主程序可以調(diào)用子程序,子程序又可以調(diào)用另外的子程序,通常情況下可允許嵌套8層。(6)在子程序調(diào)用時(shí),還要注意參數(shù)傳遞的問題。4.6試編寫1個(gè)程序,將內(nèi)部RAM中45H單元的高4位清0,低4位置1。解:MOV A,45HANL A,#0FHORL A,#0FH4.7已知程序執(zhí)行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序執(zhí)行后,POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,A+DPTRPUSH A MOV A,B INC A MOVC A,A+DPTR PUSH A ORG 3000H D
25、B 10H,80H,30H,80H,50H,80HA=80H SP=40H(41H)=50H(42H)=80H PC=8050H。4.8計(jì)算下面子程序中指令的偏移量和程序執(zhí)行的時(shí)間(晶振頻率為12MHZ)。7B0F MOV R3,#15;1個(gè)機(jī)器周期7CFF DL1: MOV R4,#255;1個(gè)機(jī)器周期8B90 DL2: MOV P1,R3;2個(gè)機(jī)器周期DC DJNZ R4,DL2;2個(gè)機(jī)器周期DB DJNZ R3,DL;2個(gè)機(jī)器周期22 RET;2個(gè)機(jī)器周期解:程序執(zhí)行的時(shí)間為15.346s。4.9假定A=83H,(R0)=17H,(17H)=34H,執(zhí)行以下指令:ANL A,#17HOR
26、L 17H,AXRL A,R0CPL A后,A的內(nèi)容為(0CBH)4.10試編寫程序,查找在內(nèi)部RAM的30H50H單元中是否有0AAH這一數(shù)據(jù)。若有,則將51H單元置為“01H”;若未找到,則將51H單元置為“00H”。ORG 0000H MOV R0,#30H MOV R2,#21H LOOP: MOV A,R0 CJNE A,#0AAH,NOT MOV 51H,#01H SJMP DEND NOT: INC R0 DJNZ R2,LOOP MOV 51H,#00H DEND: SJMP DEND4.11試編寫程序,查找在內(nèi)部RAM的20H40H單元中出現(xiàn)“00H”這一數(shù)據(jù)的次數(shù)。并將查找
27、到的結(jié)果存入41H單元。ORG 0000H MOV R0,#20H MOV R2,#21HMOV 41H,#00H LOOP: MOV A,R0 CJNE A,#00H,NOTE INC 41H NOTE: INC R0 DJNZ R2,LOOP END4.12若SP=60H,標(biāo)號(hào)LABEL所在的地址為3456H。LCALL指令的地址為2000H,執(zhí)行如下指令:2000H LCALL LABEL后,堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?PC的值等于什么?如果將指令LCALL直接換成ACLAA是否可以?如果換成ACALL指令,可調(diào)用的地址范圍是什么?答:堆棧指針SP的內(nèi)容為62H,堆棧內(nèi)容(61
28、H)=03H,(62H)=20H;PC值為3456H,不能將LCALL換為ACALL,因?yàn)長CALL可調(diào)用64KB范圍內(nèi)的子程序,而ACALL所調(diào)用的子程序地址必須與ACALL指令下一條指令的第一個(gè)字節(jié)在同一個(gè)2KB區(qū)內(nèi)(即16位地址中的高5位地址相同。如果換為ACALL,可調(diào)用的地址范圍為2002H-27FFH。第五章MCS-51的中斷系統(tǒng)5.1什么是中斷系統(tǒng)?答:能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng)。5.3什么是中斷源?MCS-51有哪些中斷源?各有什么特點(diǎn)?答:產(chǎn)生中斷的請(qǐng)求源稱為中斷源。MCS-51中斷系統(tǒng)共有5個(gè)中斷請(qǐng)求源:(1)外部中斷請(qǐng)求0,中斷請(qǐng)求標(biāo)志為IE0。(2)外部中斷
29、請(qǐng)求1,中斷請(qǐng)求標(biāo)志為IE1。(3)定時(shí)器/計(jì)數(shù)器T0溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF0。(4)定時(shí)器/計(jì)數(shù)器T1溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF1。(5)串行口中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TI或RI。特點(diǎn):2個(gè)外部中斷源,3個(gè)內(nèi)部中斷源。5.4外部中斷1所對(duì)應(yīng)的中斷入口地址為(0013H)。5.5下列說法錯(cuò)誤的是:(A,B,C)(A)各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的IE寄存器中。(B)各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的TMOD寄存器中。(C)各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的IP寄存器中。(D)各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)
30、記在MCS-51系統(tǒng)的TCON和SCON寄存器中。5.6 MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:典型時(shí)間是3-8個(gè)機(jī)器周期。在下列三種情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng):(1)CPU正在處理同級(jí)的或更高級(jí)優(yōu)先級(jí)的中斷(2)所查詢的機(jī)器周期不是當(dāng)前所正在執(zhí)行指令的最后一個(gè)機(jī)器周期(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。5.7中斷查詢確認(rèn)后,在下列各種8031單片機(jī)運(yùn)行情況中,能立即進(jìn)行響應(yīng)的是(D)(A)當(dāng)前正在進(jìn)行高優(yōu)先級(jí)中斷處理(B)當(dāng)前正在執(zhí)行RETI指令(C)當(dāng)前指令是DIV指令,且正處于取指令的機(jī)器周期
31、(D)當(dāng)前指令是MOV A,R35.8 8031單片機(jī)響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL,執(zhí)行指令的過程包括:首先把(PC)的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然后把長調(diào)用指令的16位地址送(PC),使程序執(zhí)行轉(zhuǎn)向(響應(yīng)中斷請(qǐng)求的中斷入口的地址)中的中斷地址區(qū)。5.9編寫出外部中斷1為跳沿觸發(fā)的中斷初始化程序。ORG 0000H AJMP MAIN ORG 0013H AJMP PINT1 ORG 0100H MAIN: SETB IT1 SETB EX1 SETB EA HERE: AJMP HERE PINT1: RETI END5.10在MCS-51中,需要外加電路實(shí)現(xiàn)中斷撤除的是(D)(
32、A)定時(shí)中斷(B)脈沖方式的外部中斷(C)外部串行中斷(D)電平方式的外部中斷5.11 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?答:擴(kuò)展外部中斷源的方法有:定時(shí)器/計(jì)數(shù)器作為外部中斷源的使用方法;中斷和查詢結(jié)合的方法。5.12下列說法正確的是(C D)(A)同一級(jí)別的中斷請(qǐng)求按時(shí)間的先后順序順序響應(yīng)。(B)同一時(shí)間同一級(jí)別的多中斷請(qǐng)求,將形成阻塞,系統(tǒng)無法響應(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í)中斷不能嵌套。5.13中斷服務(wù)子程序返回指令RETI和普通子程序返回指令RET有什么區(qū)別?答:兩者的區(qū)別在于,RETI清除了中斷響應(yīng)時(shí)
33、,被置1的MCS-51內(nèi)部中斷優(yōu)先級(jí)寄存器的優(yōu)先級(jí)狀態(tài)。5.14某系統(tǒng)有3個(gè)外部中斷源1、2、3,當(dāng)某一中斷源變?yōu)榈碗娖綍r(shí),便要求CPU進(jìn)行處理,它們的優(yōu)先處理次序由高到低依次為3、2、1,中斷處理程序的入口地址分別為1000H,1100H,1200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。ORG 0000H AJMP MAIN ORG 0003H LJMP PINT0 ORG 0100HMAIN: SETB IT0SETB EX0 SETB EA HERE: SJMP HERE PINT0: PUSH PSWPUSH A JNB P1.3,IR3 JNB P1.2,
34、IR2 JNB P1.1,IR1PINTIR: POP A POP PSWRETIIR3: LJMP IR3INT IR2: LJMP IR2INT IR1: LJMP IR1INTORG 1000HIR3INT: LJMP PINTIRORG 1100HIR2INT: LJMP PINTIR ORG 1200HIR1INT: LJMP PINTIR END第六章MCS-51的定時(shí)器/計(jì)數(shù)器6.1如果采用的晶振的頻率為3MHZ,定時(shí)器/計(jì)數(shù)器工作在方式0、1、2下,其最大的定時(shí)時(shí)間各為多少?答:方式0 213*4us=32.768方式1 216*4us=262.144方式2 28*4us=1.
35、0246.2定時(shí)器/計(jì)數(shù)器用作定時(shí)器時(shí),其計(jì)數(shù)脈沖由誰提供?定時(shí)時(shí)間與哪些因素有關(guān)?答:定時(shí)器/計(jì)數(shù)器被選定為定時(shí)器工作模式時(shí),計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生1個(gè)脈沖使計(jì)數(shù)器增1,因此,定時(shí)器/計(jì)數(shù)器的輸入脈沖的周期與機(jī)器周期一樣,為時(shí)鐘振蕩頻率的1/2。6.3定時(shí)器/計(jì)數(shù)器作計(jì)數(shù)器使用時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?答:定時(shí)器/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來自相應(yīng)的外部輸入引腳T0或T1。對(duì)外界計(jì)數(shù)頻率要求為其最高頻率為系統(tǒng)振蕩頻率的1/24。6.4采用定時(shí)器/計(jì)數(shù)器T0對(duì)外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)100個(gè)脈沖后,T0轉(zhuǎn)為定時(shí)工作方式。定時(shí)1ms后,又轉(zhuǎn)為計(jì)數(shù)方式,如此循環(huán)不止。假定
36、MCS-51單片機(jī)的晶體震蕩器的頻率為6MHZ,請(qǐng)使用方式1實(shí)現(xiàn),要求編寫出程序。ORG 0000H AJMP MAIN ORG 000BH LJMP PT0J ORG 0100H MAIN: MOV TMOD,#05H;00000001 MOV TH0,#0FFH;X=65436 MOV TL0,#9CH CLR F0 SETB TR0 SETB ET0 SETB EA HERE: AJMP HERE PT0J: JB F0,PT0D MOV TMOD,#01H;00000001 MOV TH0,#0FEH;X=65036 MOV TL0,#0CH SETB F0RETI PT0D: CLR F0 MOV TMOD,#05H MOV TH0,#0FFH MOV TL0,#9CH RETI END6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代網(wǎng)絡(luò)教育技術(shù)的優(yōu)勢(shì)與挑戰(zhàn)
- 環(huán)境保護(hù)技術(shù)的創(chuàng)新及其商業(yè)模式研究
- 深化綠色能源技術(shù)教育的重要性
- 國慶節(jié)洋酒活動(dòng)方案設(shè)計(jì)
- 充電樁設(shè)備安裝施工方案
- 15 可親可敬的家鄉(xiāng)人1(說課稿)2024-2025學(xué)年統(tǒng)編版道德與法治二年級(jí)上冊(cè)
- many、much、a lot of(說課稿)-2023-2024學(xué)年譯林版(三起)英語六年級(jí)下冊(cè)
- 11屹立在世界的東方 自力更生 揚(yáng)眉吐氣 說課稿-2023-2024學(xué)年道德與法治五年級(jí)下冊(cè)統(tǒng)編版
- 2024-2025學(xué)年高中歷史 專題六 穆罕默德 阿里改革 一 亟待拯救的文明古國(1)教學(xué)說課稿 人民版選修1001
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第二十一章 一元二次方程21.3 實(shí)際問題與一元二次方程第3課時(shí) 實(shí)際問題與一元二次方程(3)說課稿(新版)新人教版
- 閃蒸罐計(jì)算完整版本
- (高清版)DZT 0073-2016 電阻率剖面法技術(shù)規(guī)程
- 完整2024年開工第一課課件
- 貨運(yùn)車輛駕駛員安全培訓(xùn)內(nèi)容資料完整
- 高一學(xué)期述職報(bào)告
- 風(fēng)神汽車4S店安全生產(chǎn)培訓(xùn)課件
- ICU患者的體位轉(zhuǎn)換與床旁運(yùn)動(dòng)訓(xùn)練
- 人教版四年級(jí)上冊(cè)豎式計(jì)算200題及答案
- 建設(shè)工程工作總結(jié)報(bào)告
- 脾破裂術(shù)后健康宣教課件
- 三廢環(huán)保管理培訓(xùn)
評(píng)論
0/150
提交評(píng)論