單片機(jī)書(shū)后答案_第1頁(yè)
單片機(jī)書(shū)后答案_第2頁(yè)
單片機(jī)書(shū)后答案_第3頁(yè)
已閱讀5頁(yè),還剩16頁(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ī)概述1.2除了單片機(jī)這一名稱之外,單片機(jī)還可稱為(微控制器)和(嵌入式控制器)。1. 3單片機(jī)與普通計(jì)算機(jī)的不同之處在于其將(微處理器)、(存儲(chǔ)器)和(各種輸入輸岀 接口)三部分集成于一塊芯片上。4、單片機(jī)的發(fā)展大致分為哪幾個(gè)階段?答:?jiǎn)纹瑱C(jī)的發(fā)展歷史可分為四個(gè)階段:第一階段(1974年一一 1976年):?jiǎn)纹瑱C(jī)初級(jí)階段°第二階段(1976年1978年):低性能單片機(jī)階段。第三階段(1978年一一現(xiàn)在):高性能單片機(jī)階段-第四階段(1982年一一現(xiàn)在):8位單片機(jī)鞏固發(fā)展及16位單片機(jī)、32位單片機(jī)推岀階段1. 5單片機(jī)根據(jù)其基本操作處理的位數(shù)可分為哪幾種類型?答:?jiǎn)纹瑱C(jī)

2、根據(jù)其基本操作處理的位數(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)無(wú)程序存儲(chǔ)器,需外擴(kuò)EPROM芯片。8051是在8031的基礎(chǔ)上,片內(nèi)又集成有4KBROM作為程序存儲(chǔ)器,是1個(gè)程序不超過(guò)4KB的小系統(tǒng)。8751是在8031的基礎(chǔ)上,增加了 4KB的EPROM它構(gòu)成了 1個(gè)程序小于 4KB

3、的小系統(tǒng)。用 戶可 以將程序固化在 EPROM中,可以反復(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ù)外,其它部分都停止工作。2. 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)

4、用(B )測(cè)量、控制應(yīng)用(C)數(shù)值計(jì)算應(yīng)用(D)數(shù)據(jù)處理應(yīng)用L10說(shuō)明單片機(jī)主要應(yīng)用在哪些領(lǐng)域?答:?jiǎn)纹瑱C(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, 8 031沒(méi)有此部件),4個(gè)8位并行I/O 口( P0 口、P1 口、P2 口、P3 P);1個(gè)全雙工的串 行口; 2個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷系統(tǒng);21個(gè)特殊

5、功能寄存器 (SFR。各部件功能:CPU (微處理器)包括了運(yùn)算器和控制器兩大部分,還增加了面向控制的處理功能,不僅可處理字節(jié)數(shù)據(jù),還可以進(jìn)行位變量的處理;數(shù)據(jù)存儲(chǔ)器(RAM片內(nèi)為128B(5 2系列的為256B),片外最多可外擴(kuò) 64KB.數(shù)據(jù)存儲(chǔ)器來(lái)存儲(chǔ)單片機(jī)運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等;程序存儲(chǔ)器(R0M/EPROM用來(lái)存儲(chǔ)程序;中斷系統(tǒng)具有 5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán);定時(shí)器 /計(jì)數(shù)器用作精確的定時(shí),或?qū)ν獠渴录M(jìn)行計(jì)數(shù);串行口可用來(lái)進(jìn)行串行通信,擴(kuò)展并行I/O P,還可以與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣;特殊功能寄存器用于

6、CPU對(duì)片內(nèi)各功能部 件進(jìn)行管理、控制、監(jiān)視。3. 2說(shuō)明MCS-51單片機(jī)的引腳EA的作用,該弓|腳接高電平和接低電平時(shí)各有何種功能?答:當(dāng)該引腳為高電平時(shí),單片機(jī)訪問(wèn)片內(nèi)程序存儲(chǔ)器,但在PC (程序計(jì)數(shù)器)值超過(guò) 0F FFH(對(duì)于8051、8751 )時(shí),即超岀片內(nèi)程序存儲(chǔ)器的 4KB地址范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外 部程序 存儲(chǔ)器內(nèi)的程序。當(dāng)該引腳為低電平時(shí),單片機(jī)則只訪問(wèn)外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器。對(duì)于8031來(lái)說(shuō),因其無(wú)內(nèi)部程序存儲(chǔ)器,所以該引腳必須接地,這樣只能選擇外部程序存儲(chǔ)器。2. 3 MCS-51的時(shí)鐘振蕩周期和機(jī)器周期之間有何關(guān)系?答:每12個(gè)時(shí)鐘周期為1個(gè)機(jī)器

7、周期。2. 4在MCS-51單片機(jī)中,如果采用 6 MHZ晶振,1個(gè)機(jī)器周期為(2微秒)。2. 5程序存儲(chǔ)器的空間里,有5個(gè)單元是特殊的,這 5個(gè)單元對(duì)應(yīng)MCS-51單片機(jī)5個(gè)中斷 源的中斷入口地址,請(qǐng)寫(xiě)岀這些單元的地址以及對(duì)應(yīng)的中斷源。答:中斷源入口地址外部中斷 0 0003H定時(shí)器 0(TC) 000BH外部中斷1 0013H定時(shí)器 1( Tl ) 001BH(26H)2. 6內(nèi)部RAM中,位地址為 30H的位,該位所在字節(jié)的字節(jié)地址為2. 7若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為 (0)。(A)8判斷下列說(shuō)法是否正確:(A) 8031的CPL是由RAM和EPRO所組成。(錯(cuò))(B)

8、區(qū)分片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的最可靠的方法是看其位于地址范圍的低端還是 高端。(錯(cuò))(C) 在MCS-51中,為使準(zhǔn)雙向的I/O 口工作在輸入方式,必須保證它被事先預(yù)置為L(zhǎng) (對(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ū)。(A) 10什么是機(jī)器周期?1個(gè)機(jī)器周期的時(shí)序是如何來(lái)劃分的?如果采用12MHZ晶振,1個(gè)機(jī)器周期為多長(zhǎng)時(shí)間?答:CPU完成一個(gè)基本操作所需要的時(shí)間稱為機(jī)器周期-時(shí)序劃分:一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,分為6個(gè)狀態(tài);

9、SI- S6,每個(gè)狀態(tài)又分為 2拍;Pl和P2。因此,1個(gè)機(jī)器周期 中的12個(gè)時(shí) 鐘周期表示為:S1P1、S1P2、S2P1、S2P2 S6P2o如果采用 12MHZ晶振,1個(gè)機(jī)器周期為lus。(A)11判斷以下有關(guān) PC和DPTF的結(jié)論是否正確?(A )DPTR是可以訪問(wèn)的,而PC不能訪問(wèn)。(錯(cuò))(B)它們都是16位的寄存器。(對(duì))(C)它們都具有加1的功能。(對(duì))(D )DPTF可以分為2個(gè)8位寄存器使用,但PC不能。(對(duì))12、內(nèi)部RAM中,哪些單元可作為工作寄存器區(qū),哪些單元可以進(jìn)行位尋址?寫(xiě)岀它們的字節(jié)地址。答:地址為00H-仆H的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)包括8個(gè)8位

10、工作寄存 器,編號(hào)為R0-R7。字節(jié)地址為 20H-2FH的16個(gè)單元可進(jìn)行 128位的位尋址,這些單元構(gòu)成了 1位處理機(jī)的存儲(chǔ)器空間。位地址范圍是00H-7FH.2. 13使用8031單片機(jī)時(shí),需將 EA引腳接(低)電平,因?yàn)槠淦瑑?nèi)無(wú)(程序)存儲(chǔ)器。(5) 14片內(nèi)RAM(低 128個(gè)單元?jiǎng)澐譃槟?個(gè)主要部分?各部分的主要功能是什么?答:字節(jié)地址為 00H-仆H的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)包括 8個(gè)8位工作 寄存 器,編號(hào)為 R0-R7??梢酝ㄟ^(guò)改變PSW中的RS1、RSO來(lái)切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計(jì)帶來(lái)極大的方便,特別是在中斷嵌套時(shí),為實(shí)現(xiàn)工作寄存器現(xiàn)場(chǎng)內(nèi)容保

11、護(hù)提供了方便;字節(jié)地址為 20H-2FH的16個(gè)單元可進(jìn)行工 128位的位尋址,這些單元構(gòu)成了1位處理機(jī)的存儲(chǔ)器空間;字節(jié)地址為30H-7FH的單元為用戶 RAM區(qū),只能進(jìn)行字節(jié)尋址。用于作為數(shù)據(jù)緩沖區(qū)以及堆棧區(qū)。(A) 15 判斷下列說(shuō)法是否正確(1) 程序計(jì)數(shù)器PC不能為用戶編程時(shí)直接使用,因?yàn)樗鼪](méi)有地址-(對(duì)) 內(nèi)部RAM的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。(錯(cuò))(3)8031 共有 21 個(gè)特殊功能寄存器,它們的位都是可用軟件設(shè)置的,因此,是可以進(jìn)行尋址的。 (錯(cuò))(1) 16 PC 的值是: (C)(1) 當(dāng)前正在執(zhí)行指令的前一條指令的地址(2) 當(dāng)前正在執(zhí)行指令的地

12、址(3) 當(dāng)前正在執(zhí)行指令的下一條指令的地址(4) 控制器中指令寄存器的地址2. 17通過(guò)堆棧操作實(shí)現(xiàn)子程序調(diào)用,首先就要把(PC)的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)時(shí),再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到 (PC)。2. 18 寫(xiě)出 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ǔ)器寫(xiě)選通P3. 7 外部數(shù)據(jù)存儲(chǔ)器讀選通2. 19 MCS-51單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)所決定的,因?yàn)镻C是

13、16位的,因此其尋址的范圍為(64)KB。2. 20 當(dāng) MCS 51 單片機(jī)運(yùn)行出錯(cuò)或程序陷入死循環(huán)時(shí),如何來(lái)擺脫困境? 答:可通過(guò)復(fù)位來(lái)解決。2.21 判斷下列說(shuō)法是否正確?(A) PC是1個(gè)不可尋址的特殊功能寄存器(對(duì))(B) 單片機(jī)的主頻越高,其運(yùn)算速度越快( 對(duì))用返回MCS- 51 的(C) 在 MCS51 單片機(jī)中, 1 個(gè)機(jī)器周期等于 1 微秒( 錯(cuò))(1) 22 如果手中僅有一臺(tái)示波器,可通過(guò)觀察哪個(gè)引腳的狀態(tài),來(lái)大致判斷MCS 51 單片 機(jī)正在工作?答:ALE引腳。第三章MCS-51的指令系統(tǒng)3.1 判斷以下指令的正誤:(1 ) MOV 28H, 0R2 (2) DEC

14、DPTR (3) INC DPTR (4) CLR RO(A) CPL R5 (6) MOV RO, R1 (7) PUSH DPTR (8) MOV FO, C (9) MOV FO, Acc. 3 (10)MOVX A, fflRl(11) MOV C, 30H (12)RLC RO答: (3) 、(8) 、(10) 、(11) 對(duì),其余錯(cuò)。(2) 2 判斷下列說(shuō)法是否正確。(B) 立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。(J)(C) 指令周期是執(zhí)行一條指令的時(shí)間。 (/)(D) 指令中直接給出的操作數(shù)稱為直接尋址。 (x )(2) 3在基址加變址尋址方式中,以(A

15、)作變址寄存器,以(DPTR)或(PC)作基址寄存器3.4 MCS-51 共有哪幾種尋址方式?各有什么特點(diǎn)?答:共有 7 種尋址方式。(A) 寄存器尋址方式操作數(shù)在寄存器中,因此指定了寄存器就能得到操作數(shù)。(B) 直接尋址方式指令中操作數(shù)直接以單元地址的形式給出,該單元地址中的內(nèi)容就是操作數(shù)。(C) 寄存器間接尋址方式寄存器中存放的是操作數(shù)的地址,即先從寄存器中找到操作數(shù)的地址,再按該地址找到操作數(shù)。(D) 立即尋址方式操作數(shù)在指令中直接給出,但需在操作數(shù)前面加前綴標(biāo)志。(E) -基址寄存器加變址寄存器間接尋址方式以DPTR或 PC作基址寄存器,以累加器A作為變址寄存器,并以兩者內(nèi)容相加形成的

16、16位地址作為操作數(shù)的地址,以達(dá)到訪問(wèn)數(shù) 據(jù)表格的目的。(F) 位尋址方式位尋址指令中可以直接使用位地址。(7)相對(duì)尋址方式在相對(duì)尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“rel ” 表示,即把 P C 的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。3.5 MCS-51 指令按功能可以分為哪幾類?答:MCS-51指令系統(tǒng)按功能分為:數(shù)據(jù)傳送類(28條);算術(shù)操作類(24條);邏輯運(yùn)算類(25 條);控制轉(zhuǎn)移類(17 條);位操作類 (17 條)。(B)6訪問(wèn)SFR,可使用哪些尋址方式?答:一般采用直接尋址,對(duì)于SFR中字節(jié)地址能被 8整除的SFR可以使用位尋址,對(duì)于 SFR中的A、B、DPTR寄

17、存器可以采用寄存器尋址。(6) 7指令格式是由(操作碼)和(操作數(shù))所組成,也可能僅由(操作碼)組成。3. 8假定累加器A中的內(nèi)容為30H,執(zhí)行指令:1000H: MOVC A, 0A+PC后,把程序存儲(chǔ)器(1031H)單元的內(nèi)容送入累加器中(B) 9在MC 51中,PC和DPTR都用于提供地址,但 PC是為訪問(wèn)(程序)存儲(chǔ)器提供地址,而DPTF是為訪問(wèn)(數(shù)據(jù))存儲(chǔ)器提供地址。(B) 10在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的(地址)。3. 11該程序段的功能是什么?PUSH APUSH BPOP APOP B答:功能是A、B內(nèi)容互換3.12已知程序

18、執(zhí)行前有 A=02H, SP=52H, ( 51H) =FFH, ( 52H) =FFH 下列程序執(zhí)行后:POP DPHPOP DPLMOV DPTR, #4000HRL AMOV B,AMOVC A,fflA+DPTRPUSH AMOV A,BINC AMOVC A, SA+DPTRPUSH ARETORG 4000HDB 10H, 80H, 30H, 50H, 30H, 50HA=50H SP=50H ( 51H) =30H ( 52H) =50H PC=5030H(B) 13寫(xiě)岀完成如下要求的指令,但是不能改變未涉及位的內(nèi)容。(A )把 Acc. 3, Acc. 4, Acc. 5 和

19、Acc. 6 清 0。解:ANL A, #87H(B)把累加器A的中間4位清0o解: ANL A, #C3H(C )使 Acc. 2 和 Acc. 3 置 1。解: ORL A, #0CH3. 14 假定 A=83H, (RO) =17H, (17H) =34H,執(zhí)行以下指令:ANL A, #17HORL 17H, AXRL A, 0ROCPL A后,A的內(nèi)容為(OCBH )3. 15 假設(shè) A=55H, R3=0AA H在執(zhí)行指令后 ANL A, R3 后,A= (OOH) , R3= ( OAAH )令后:3. 16 如果 DPTR=507BH, SP=32H, ( 30H) =50H,

20、(31H) =5FH, ( 32H) =3CH, 則執(zhí)行下列指POP DPHPOP DPLPOP SP貝X 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)FF CO EO E5 FO F0解:查表可知FF MOV R7, ACO EO PUSH OEOHE5 FO MOV A, OFOHFO MOVX 0DPTR, A第四章MCS-51匯編語(yǔ)言程序設(shè)計(jì)4. 1用于程序設(shè)計(jì)的語(yǔ)言

21、分為哪幾種?它們各有什么特點(diǎn)?答:用于程序設(shè)計(jì)的語(yǔ)言基本上分為三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。5. 機(jī)器語(yǔ)言:在單片機(jī)中,用二進(jìn)制代碼表示的指令、數(shù)字和符號(hào)簡(jiǎn)稱為機(jī)器語(yǔ)言,直 接用機(jī)器語(yǔ)言編寫(xiě)的程序稱為機(jī)器語(yǔ)言程序。用機(jī)器語(yǔ)言編寫(xiě)的程序,不易看懂,不便于記憶,且容易岀錯(cuò)。(2)匯編語(yǔ)言具有如下特點(diǎn):A、匯編語(yǔ)言是面向機(jī)器的語(yǔ)言,程序設(shè)計(jì)人員必須對(duì)MC 51單片機(jī)的硬件有相當(dāng)深入的了解。B助記符指令和機(jī)器指令一一對(duì)應(yīng),所以用匯編語(yǔ)言編寫(xiě)的程序效率高,占用的存儲(chǔ)空間小,運(yùn)行速度快,因此用匯編語(yǔ)言能編寫(xiě)岀最優(yōu)化的程序。C匯編語(yǔ)言程序能直接管理和控制硬件設(shè)備(功能部件),它能處理中斷,也能直接訪問(wèn)

22、存儲(chǔ)器及I/O接口電路。(3)高級(jí)語(yǔ)言:高級(jí)語(yǔ)言不受具體機(jī)器的限制,都是參照一些數(shù)學(xué)語(yǔ)言而設(shè)計(jì)的,使用了許多數(shù)學(xué)公式和數(shù)學(xué)計(jì)算上的習(xí)慣用語(yǔ),非常擅長(zhǎng)于科學(xué)計(jì)算。計(jì)算機(jī)不能直接識(shí)別和執(zhí)行高級(jí)語(yǔ)言,需要將其“翻譯”成機(jī)器語(yǔ)言才能識(shí)別和執(zhí)行。4. 3解釋下列術(shù)語(yǔ):“手工匯編”、“機(jī)器匯編”、“交叉匯編”以及“反匯編”。答、手工匯編:通常把人工查表翻譯指令的方法稱為“手工匯編”。機(jī)器匯編:機(jī)器匯編實(shí)際上是通過(guò)執(zhí)行匯編程序來(lái)對(duì)源程序進(jìn)行匯編的。交叉匯編:由于使用微型計(jì)算機(jī)完成了匯編,而匯編后得到的機(jī)器代碼卻是在另一臺(tái)計(jì)算機(jī)(這里是單片機(jī))上運(yùn)行,稱這種機(jī)器匯編為“交叉匯編"。反匯編:有時(shí),在分

23、析現(xiàn)成產(chǎn)品的ROM/EPROI中的程序時(shí),要將二進(jìn)制數(shù)的機(jī)器代碼語(yǔ)言程序翻譯成匯編語(yǔ)言源程序,該過(guò)程稱為反匯編。4.4下列程序段經(jīng)匯編后,從1000H開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容將是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB “MAINDW TAB1, TAB2, 70H答:(1000H) = 'M' (1001H) = 'A' ( 1002H) = T ( 1003H) = 'N' ( 1004H ) =34H(1005H) =12H ( 1006H) =00H ( 1007H) =30H ( 1008H

24、) =70H ( 1009H) =00H4. 5設(shè)計(jì)子程序時(shí)注意哪些問(wèn)題?答:在編寫(xiě)子程序時(shí)應(yīng)注意以下問(wèn)題:(1) 子程序的第一條指令的地址稱為子程序的入口地址。該指令前必須有標(biāo)號(hào)。(2) 主程序調(diào)用子程序,是通過(guò)主程序或調(diào)用程序中的調(diào)用指令來(lái)實(shí)現(xiàn)的。(3) 注意設(shè)置堆棧指針和現(xiàn)場(chǎng)保護(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ù)行主程序。(5) 子程序可以嵌套

25、,即主程序可以調(diào)用子程序,子程序又可以調(diào)用另外的子程序,通常 況下可允許嵌套 8 層。(6) 在子程序調(diào)用時(shí),還要注意參數(shù)傳遞的問(wèn)題。4.6試編寫(xiě)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 DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A, 0A+DPTRPUSH AMOV A,BINC AMOVC A, 3A+DPTRPUSH AORG

26、3000HDB 10H, 80H, 30H, 80H, 50H, 80HA=80H SP=40H (41H) =50H (42H) =80H PC=8050H4. 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. 346 ns。4. 9 假定 A=83H, (RO) =17H

27、, (17H) =34H,執(zhí)行以下指令:ANL A, #17HORL 17H, AXRL A, o)ROCPL A后,A的內(nèi)容為(OCBH )5 1H單(C) 10試編寫(xiě)程序,查找在內(nèi)部RAM的30H50H單元中是否有0AAH這一數(shù)據(jù)。若有,則將元置為“01H'若未找到,則將51H單元置為“00H' oORG 0000HMOV RO, #30HMOV R2,#21HLOOP: MOV A, 0ROCJNE A, #0AAH,NOTMOV 51H,#01HSJMP DENDNOT: INC RODJNZ R2,L OOPMOV 51H,#00HDEND: SJMP DEND4.

28、11試編寫(xiě)程序,查找在內(nèi)部RAM的20H40H單元中岀現(xiàn)“00H'這一數(shù)據(jù)的次數(shù)。并將查 找到的結(jié)果存入41H單元。ORG 0000HMOV R0, #2OHMOV R2,#21HMOV 41H,#00HLOOP: MOV A, 0ROCJNE A, #OOH,NOTEINC 41HNOTE: INC RODJNZ R2,L OOPEND(C) 12若SP=60H標(biāo)號(hào)LABEL所在的地址為 3456H. LCALL指令的地址為 2000H,執(zhí)行如下指令:2000H LCALL LABEL后,堆棧指針 SP和堆棧內(nèi)容發(fā)生了什么變化?PC的值等于什么?如果將指令LCALL直接換成ACLAA

29、是否可以?如果換成ACALL指令,可調(diào)用的地址范圍是什么?答:堆棧指針 SP的內(nèi)容為62H,堆棧內(nèi)容(61H) =03H, (62H) =20H; PC 值為3456H,不能 將LCALL換 為AC ALL,因?yàn)長(zhǎng)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)(D) 1什么是中斷系統(tǒng)?答:能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng)。5. 3什么是中斷源?MCS-51有哪些中斷源?各有什么

30、特點(diǎn)?答:產(chǎn)生中斷的請(qǐng)求源稱為中斷源。MC 51中斷系統(tǒng)共有5個(gè)中斷請(qǐng)求源:(1)外部 中斷請(qǐng)求0,中斷請(qǐng)求標(biāo)志為IE0。(2)外部中斷請(qǐng)求1,中斷請(qǐng)求標(biāo)志為IEL 定時(shí)器/計(jì)數(shù)器T0溢岀 中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為T(mén)FQ (4)定時(shí)器/計(jì)數(shù)器T1溢岀中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為 TF1。(5)串行口中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為T(mén)I或RL特點(diǎn):2個(gè)外部中 斷源,3個(gè)內(nèi)部中斷源。(D) 4外部中斷1所對(duì)應(yīng)的中斷入口地址為(0013H)。5. 5下列說(shuō)法錯(cuò)誤的是:(A, B, C)各中斷源發(fā)岀的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的IE寄存器中。各中斷源發(fā)岀的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的T

31、MOD寄存器中各中斷源發(fā)岀的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在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):CPU正在處理同級(jí)的或更高級(jí)優(yōu)先級(jí)的中斷所查詢的機(jī)器周期不是當(dāng)前所正在執(zhí)行指令的最后一個(gè)機(jī)器周期(3 )正在執(zhí)行的指令是 RETI或是訪問(wèn)IE或IP的指令。5.7中斷查詢確認(rèn)后,在下列各種8031單片機(jī)運(yùn)行情況中,能立即進(jìn)行響應(yīng)的是(D)當(dāng)前正在進(jìn)行高優(yōu)先級(jí)中斷處理當(dāng)前正在執(zhí)行RETI指令當(dāng)前指令是DIV指令

32、,且正處于取指令的機(jī)器周期當(dāng)前指令是 MOV A, R35.8 8031單片機(jī)響應(yīng)中斷后,產(chǎn)生長(zhǎng)調(diào)用指令LCALL,執(zhí)行指令的過(guò)程包括:首先把 (PC)的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然后把長(zhǎng)調(diào)用指令的16位地址送(PC),使程序執(zhí)行 轉(zhuǎn)向(響應(yīng)中斷請(qǐng)求的中斷入口的地址)中的中斷地址區(qū)。5. 9編寫(xiě)岀外部中斷1為跳沿觸發(fā)的中斷初始化程序。ORG 0000HAJMP MAINORG 0013HAJMP PINT1ORG 0100HMAIN: SETB IT1SETB EXISETB EAHERE: AJMP HEREPINT1: RETIEND(A )定時(shí)中斷脈沖方式的外部中斷外部串行中斷電平方

33、式的外部中斷5. 11 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?答:擴(kuò)展外部中斷源的方法有:定時(shí)器/計(jì)數(shù)器作為外部中斷源的使用方法;中斷和查詢結(jié)的方法。5. 12下列說(shuō)法正確的是(C D)同一級(jí)別的中斷請(qǐng)求按時(shí)間的先后順序順序響應(yīng)。同一時(shí)間同一級(jí)別的多中斷請(qǐng)求,將形成阻塞,系統(tǒng)無(wú)法響應(yīng)。低優(yōu)先級(jí)中斷請(qǐng)求不能中斷高優(yōu)先級(jí)中斷請(qǐng)求,但是高優(yōu)先級(jí)中斷請(qǐng)求能中斷低優(yōu)先中斷請(qǐng)求同級(jí)中斷不能嵌套。13中斷服務(wù)子程序返回指令RETI和普通子程序返回指令RET有什么區(qū)別?答:兩者的區(qū)別在于, RETI清除了中斷響應(yīng)時(shí),被置 1的MCS-51內(nèi)部中斷優(yōu)先級(jí)寄存器的級(jí)狀態(tài)。5.14某系統(tǒng)有3個(gè)外部中斷源1、2、

34、3,當(dāng)某一中斷源變?yōu)榈碗娖綍r(shí),便要求CPU進(jìn)行處理,們的優(yōu)先處理次序由高到低依次為 3、2、1,中斷處理程序的入口地址分別為 1000H, 11 00H, 1200H。試編寫(xiě)主程序及中斷服務(wù)程序 (轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可 )。合級(jí)優(yōu)先它ORG 0000HAJMP MAINORG 0003HLJMP PINTOORG 0100HMAIN: SETB ITOSETB EXOSETB EAHERE: SJMP HEREPINTO: PUSH PSWPUSH AJNB Pl. 3, IR3JNB Pl. 2, IR2JNB Pl.1,IR1PINTIR: POP APOP PSWRETIIR

35、3: LJMP IR3INTIR2: LJMP IR2INTIR1: LJMP IR1INTORG 1000HIR3INT: LJMP PINTIRORG 1100HIR2INT: LJMP PINTIRORG 1200HIR1INT: LJMP PINTIREND第六章MCS-51的定時(shí)器/計(jì)數(shù)器1如果采用的晶振的頻率為3MHZ定時(shí)器/計(jì)數(shù)器工作在方式0、1、2下,其最大的定時(shí) 時(shí)間各為多少?答:方式 0 213*4us=32. 768方式 1 216*4us=262. 144方式 2 28*4us=l. 0246. 2定時(shí)器/計(jì)數(shù)器用作定時(shí)器時(shí),其計(jì)數(shù)脈沖由誰(shuí)提供?定時(shí)時(shí)間與哪些因素有關(guān)?

36、答:定時(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ù)脈沖來(lái)自相應(yīng)的外部輸入引腳TO或T1。對(duì)外界計(jì) 數(shù)頻率要求為其最高頻率為系統(tǒng)振蕩頻率的1/24。6. 4采用定時(shí)器/計(jì)數(shù)器TO對(duì)外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)100個(gè)脈沖后,T0轉(zhuǎn)為定時(shí)工作方式。定時(shí)1ms后,又轉(zhuǎn)為計(jì)數(shù)方式,如此循環(huán)不止。假定MC -51單片機(jī)的晶體震蕩器的頻率為6MHZ請(qǐng)使用方式1實(shí)現(xiàn),要求編寫(xiě)岀程序。ORG 0000HAJMP MAINORG 000BHLJMP PTOJORG 0100HMAIN: MOV TMOD, #05H; 00000001MOV THO, #0FFH; X=65436MOV TLO,#9CHCLR FOSETB TROSETB ETOSETB EAHERE: AJMP HEREPTOJ: JB F0,PT0DMOV TMOD, #01H; 00000001MOV THO, #0FEH; X=65036MOV TLO,#OCHSETB FORETI PTOD: CLR FOMOV TMOD, #05HMOV THO,#0FFHMOV

溫馨提示

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