版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單片機作業(yè)習題答案作業(yè)習題答案《單片機應用技術(shù)》部分習題與參考答案第1章單片機概述1-1什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)的硬件和軟件各包括哪些內(nèi)容?答:以應用為中心,以計算機技術(shù)為基礎(chǔ),軟/硬件可剪裁,針對具體應用系統(tǒng),對功能、可靠性,成本、體積、功耗嚴格要求的專用計算機系統(tǒng)稱為嵌入式計算機系統(tǒng)。簡稱為嵌入式系統(tǒng)。嵌入式系統(tǒng)的硬件包括:嵌入式處理器、存儲器和外部設(shè)備器件、輸入輸出接口、圖形控制器等。軟件包括操作系統(tǒng)和應用程序。嵌入式系統(tǒng)是專用的計算機系統(tǒng),嵌入式系統(tǒng)的核心是嵌入式處理器,單片機是嵌入式處理器的典型代表。1-2什么叫單片機?一個完整的單片機芯片至少有哪些部件?答:將微處理器(CPU)、存儲器、定時/計數(shù)器及輸入輸出接口電路等部件集成在一塊集成電路上,稱為單片微型計算機,簡稱單片機。一個完整的單片機芯片至少有中央處理器(CPU)、隨機存儲器(RAM)、只讀存儲器(ROM、定時/計數(shù)器及I/O接口等部件。1-3嵌入式處理器有何特點?嵌入式處理器分為哪幾類?答:嵌入式處理器對實時和多任務系統(tǒng)有和強的支持能力、對存儲區(qū)保護功能強、具有可擴展的處理器結(jié)構(gòu)及低功耗等特點。嵌入式處理器分為:嵌入式微處理器、微控制器、嵌入式DSP處理器和片上系統(tǒng)等。1-4單片機系統(tǒng)的開發(fā)過程分為那幾步進行?答:1.硬件的設(shè)計與調(diào)試。2應用程序的設(shè)計和調(diào)試。3系統(tǒng)聯(lián)調(diào)。4程序的固化。5.脫機運行。1-5Intel 公司的主要單片機產(chǎn)品分為哪幾大系列?各系列的區(qū)別何在?答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列產(chǎn)品;48系列的單片機在片內(nèi)集成4位CPU,片內(nèi)含有多種I/O接口,有的根據(jù)不同用途還配有許多專用接口,價格便宜,控制功能強。51系列的單片機在片內(nèi)集成8位CPU片內(nèi)RAM為128字節(jié),ROM為4K字節(jié),4個并行I/O口、2個16位定時/計數(shù)器、串行接口、5個中斷源。96系列單片機CPU為16位,片內(nèi)RAM為232字節(jié),ROM^8K字節(jié),片內(nèi)帶有高速輸入輸出部件,多通道10位A/D轉(zhuǎn)換部件,中斷處理為8級。1-6敘述51子系列與52子系列的區(qū)別?答:51子系列包含8031/8051/8751三種型號,它們的基本組成、基本性能都相同,都具有一個8位CPU片內(nèi)數(shù)據(jù)存儲器RAM128B、2個16位定時/計數(shù)器、有5個中斷源,一個全雙工串行接口,它們之間的區(qū)別在于片內(nèi)程序存儲器配置:8031片內(nèi)沒有ROM使用時需在片外接EPROM8051片內(nèi)含有4KB的掩模ROM其中的程序是生產(chǎn)廠家制作芯片時燒制的。8751片內(nèi)含有4KB的EPROM用戶可以先用紫外線擦除器擦除,然后再利用開發(fā)機或編程器寫入新的程序。52子系列包含8032/8052/8752三種型號,52子系列與51子系列的區(qū)別在于:片內(nèi)ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一個定時/計數(shù)器和一個中斷源。第2章MCS-51系列單片機的基本結(jié)構(gòu)2-1畫出微型計算機基本結(jié)構(gòu)框圖,簡述各部分的基本功能。答:見教材圖2-2。2-2MCS-51單片機的*引腳有何功能?在使用8031時五如何接法?使用8751時『如何接法?答:"引腳是片內(nèi)外程序存儲器的選擇信號。當近端保持高電平時,訪問內(nèi)部程序存儲器,但在PC(程序計數(shù)器)值超過0FFFH(對于8051/8751/80C51 )或1FFFH(對于8052)時,將自動轉(zhuǎn)向訪問外部程序存儲器。當E.端保持低電平時,不管是否有內(nèi)部程序存儲器,則只訪問外部程序存儲器。由于8031片內(nèi)沒有程序存儲器,所以在使用8031時,引腳必須接低電平。2-3微型計算機的存儲器普林斯頓結(jié)構(gòu)和哈弗結(jié)構(gòu)有什么不同?答:按微型計算機的存儲器地址空間的不同分配形式分為普林斯頓結(jié)構(gòu)和哈弗結(jié)構(gòu)。普林斯頓結(jié)構(gòu)的特點是計算機只有一個地址空間。CPU訪問ROM^RAM采用相同的指令。哈弗結(jié)構(gòu)將ROM^IRAM安排在相互獨立的兩個地址空間,ROM和RAM可以有相同的地址,但采用不同的指令訪問。51系列單片機采用哈弗結(jié)構(gòu)。2-4微型計算機存儲器的地址線與存儲的容量有什么關(guān)系?如果存儲器的地址線有13條,則存儲的容量為多大?答:存儲的容量=2n,(n: 存儲器的地址線的條數(shù))。213=8KB.2-589C51 單片機的存儲器從物理結(jié)構(gòu)上分別可劃分為幾個空間?89C51單片機采用何種方式區(qū)分內(nèi)外程序存儲器和內(nèi)外數(shù)據(jù)存儲器?答:89C51單片機的存儲器從物理結(jié)構(gòu)上分別內(nèi)外程序存儲器和內(nèi)外數(shù)據(jù)存儲器。內(nèi)外程序存儲器采用引腳/EA、/PSEN接到不同的電平區(qū)分,內(nèi)外數(shù)據(jù)存儲器采用引腳/RD、/WR連接和不同的指令加以區(qū)分。2-6MCS-51 單片機的內(nèi)部存儲空間是怎樣分配的?答:MCS-51單片機的內(nèi)部存儲空間分為數(shù)據(jù)存儲器和程序存儲器。內(nèi)部數(shù)據(jù)存儲器:共256字節(jié)單元,包括低128個單元和高128個單元。低128字節(jié)又分成3個區(qū)域:工作寄存器區(qū)(00H~1FH),位尋址區(qū)(20H~2FH)和用戶RAM區(qū)(30H?7FH)。高128字節(jié)是供給特殊功能寄存器使用的,因此稱之為特殊功能寄存器區(qū)。內(nèi)部程序存儲器:在8031片內(nèi)無程序存儲器,8051片內(nèi)具有4KB掩模ROM8751片內(nèi)具有4KBEPROM2-7如何從MCS-51單片機的4個工作寄存器組中選擇當前工作寄存器組?答:MCS-51單片機提供了4組工作寄存器,對于當前工作寄存器組的選擇,是通過PSW中的RS1和RS0來進行選擇。具體關(guān)系如下表:S1RS0R當前寄存器組00第0組工作寄存器01第1組工作寄存器10第2組工作寄存器11第3組工作寄存器2-8內(nèi)部RAM低128個單元是如何劃分的?答:內(nèi)部RAM低128個單元按用途分成3個區(qū)域:工作寄存器區(qū)(00H?1FH),位尋址區(qū)(20H~2FH)和用戶RAM區(qū)(30H?7FH)。2-9DPTR是什么寄存器?它的作用是什么?它由哪幾個寄存器組成?答:DPTR是數(shù)據(jù)指針寄存器,是一個16位寄存器,用來存放16位存儲器的地址,以便對外部數(shù)據(jù)存儲器RAM中的數(shù)據(jù)進行操作。DPTR由高位字節(jié)DPH和低位字節(jié)DPL組成。2-10什么是堆棧?堆棧有何作用?為什么在程序初始化時要對SP重新賦值?答:所謂堆棧,顧名思義就是一種以“堆”的方式工作的“?!?。堆棧是在內(nèi)存中專門開辟出來的按照“先進后出,后進先出”的原則進行存取的RAM區(qū)域。堆棧的用途是保護現(xiàn)場和斷點地址。在8051單片機復位后,堆棧指針SP總是初始化到內(nèi)部RAM地址07H。從08H開始就是8051的堆棧區(qū),這個位置與工作寄存器組1的位置相同。因此,在實際應用中,通常要根據(jù)需要在程序初始化時對SP重新賦值,以改變堆棧的位置。2-11 試述程序狀態(tài)字寄存器PSW各位的含義。答:程序狀態(tài)字寄存器PSW是8位寄存器,用于存放程序運行的狀態(tài)信息。CY(PSW.7):進位標志位。AC(PSW.6):輔助進位標志位。F0(PSW.5)、F1(PSW.1):用戶標志位。RS1(PSW.4)、RS0(PSW.3):工作寄存器組選擇位。OV(PSW.2):溢出標志位。P(PSW.0):奇偶標志位。2-12P0、P1、P2、P3口的結(jié)構(gòu)有何不同?使用時要注意什么?各口都有什么用途?答:P0口由一個所存器、兩個三態(tài)輸入緩沖器、場效應管、控制與門、反相器和轉(zhuǎn)換開關(guān)組成;作為輸出口時,必須外接上拉電阻才能有高電平輸出,作為輸入口時,必須先向鎖存器寫“1”;作為普通I/O口使用或低8位地址/數(shù)據(jù)總線使用。P1口內(nèi)沒有轉(zhuǎn)換開關(guān),但有上拉電阻;只用作普通I/O□使用。P2口比P1口多了一個轉(zhuǎn)換控制開關(guān);作為普通I/O口使用或高8位地址線使用。P3口比P1口增加了與非門和緩沖器;具有準雙向I/O功能和第二功能。上述4個端口在作為輸入口使用時,應注意必須先向端口寫“1”。2-13 請說出指令周期、機器周期、狀態(tài)和拍的概念。當晶振頻率為 12MHz、8MHz時,一個機器周期為多少微秒?答:指令周期:執(zhí)行一條指令所需要的時間。機器周期:CPU完成一個基本操作所需要的時間。狀態(tài):振蕩脈沖經(jīng)過二分頻后,得到的單片機的時鐘信號。拍:振蕩脈沖的周期。當晶振頻率為12MHz時,一個機器周期為1"5;當晶振頻率為8MHz時,一個機器周期為1.5use2-14 什么是單片機復位?復位后單片機的狀態(tài)如何?答:在時鐘電路工作后,只要在單片機的RESET引腳上出現(xiàn)24個時鐘震蕩脈沖(兩個機器周期)以上的高電平,單片機就能實現(xiàn)復位。復位后,CPU和系統(tǒng)都處于一個確定的初始狀態(tài),在這種狀態(tài)下,所有的專用寄存器都被賦予默認值,除SP=07H,P0?P3口為FFH外,其余寄存器均為0。程序指針Pc=0000H。第3章MCS-51系列單片機的指令系統(tǒng)3-1MCS-51 系列單片機指令格式是怎樣的?各有何含義?答:單片機指令格式由操作碼和操作數(shù)組成。操作碼說明指令操作性質(zhì),操作數(shù)說明操作對象。3-2MCS-51 系列單片機有哪幾種尋址方式?各種尋址方式所對應的寄存器或存儲器尋址空間如何?答:MCS-51系列單片機提供了7種尋址方式:(1)立即尋址:操作數(shù)在指令中直接給出,立即數(shù)前面有“#"。(2)直接尋址:在指令中直接給出操作數(shù)地址。對應片內(nèi)低128個字節(jié)單元和特殊功能寄存器。(3)寄存器尋址:以寄存器的內(nèi)容作為操作數(shù)。對應的寄存器有:R0?R7、A、AB寄存器和數(shù)據(jù)指針DPTR。(4)寄存器間接尋址:以寄存器的內(nèi)容作為RAM地址,該地址中的內(nèi)容才是操作數(shù)。對應片內(nèi)RAM的低128個單元采用R0、R1作為間址寄存器,片外RAM低256個單元可用R0、R1作為間址寄存器,整個64KB空間可用DPTR作為間址寄存器。(5)變址尋址:以DPTR或PC作為基址寄存器,以累加器A作為變址寄存器,并以兩者內(nèi)容相加形成的16位地址作為操作數(shù)地址。對應片內(nèi)、片外的ROM空間。(6)相對尋址:只在相對轉(zhuǎn)移指令中使用。對應片內(nèi)、片外的RO睚間(7)位尋址:對可尋址的位單獨進行操作。對應位尋址區(qū)20H~2FH單元的128位和字節(jié)地址能被8整除的特殊功能寄存器的相應位。3-4若訪問特殊功能寄存器,可使用那些尋址方式?答:直接尋址方式。3-5若訪問外部RAM單元,可使用那些尋址方式?答:寄存器間接尋址方式。3-6 若訪問內(nèi)部RAM單元,可使用那些尋址方式?答:立即尋址方式,直接尋址方式,寄存器尋址方式,寄存器間接尋址方式,位尋址方式。3-7若訪問內(nèi)外程序存儲器,可使用那些尋址方式?答:變址尋址方式3-8外部數(shù)據(jù)傳送指令有幾條?試比較下面每一組中兩條指令的區(qū)別。MOVXA,@R1,MOVXA,@DPTR
MOVXA@DPTRAMOV@R0A,@DPTR,MOVX,A,MOVX@R0,答:外部數(shù)據(jù)傳送指令有6條:MOVXA,@DPTR@DPTRAMOVX@RiMOVX@RiMOVCMOVX,@DPTR,MOVX,A,MOVX@R0,答:外部數(shù)據(jù)傳送指令有6條:MOVXA,@DPTR@DPTRAMOVX@RiMOVX@RiMOVCMOVX@A+DPTRMOVC( 1 )MOVX@R1MOVX都是訪問片外同。@A+PCA,@DPTRRAM,但二者尋址范圍不前1條指令是對片外RAM低256個單元的“讀”操作。后1條指令是對片外RAM64KB空間的“讀”操作
( 2 )MOVXA,@DPTRMOVX@DPTR)A訪問空間相同,但數(shù)據(jù)傳送方向不同。前1條指令是對片外RAM64KB空間的“讀”操作。后1條指令是對片外RAM64KB空間的“寫”操作。( 3 )MOVAMOVX@R0二者訪問的空間不同。前( 3 )MOVAMOVX@R0二者訪問的空間不同。前1條指令是對片內(nèi)元的“寫”操作。后1條指令是對片外元的“寫”操作。@R0 )ARAM低128個單RAM低256個單(4)MOVCA,@A+DPTR MOVXA,@DPTR二者訪問的空間不同,尋址方式不同。前1條指令是變址尋址方式,對ROM操作。后1條指令是寄存器間接尋址方式,對片外RAM操作。3-9已知(3-9已知(30H)=40H)(40H)=10H,(10H)=32H,(P1)=EFH,試寫出執(zhí)行以下程序段后有關(guān)單元的內(nèi)容。MOVR0)#30HMOVA)@R0MOVR1)AMOVB)@R1MOV@R1,P1MOVP2,P1MOV10H,#20HMOV30H,10H答:R0—30H,(R0)=30HA一((R0)),(A)=40HR1—(A))(R1)=40HB一((R1)),(B)=10H(R1)—(P1),((R1))=(40H)=EFHP2—(P1),(P2)=EFH10H—20H,(10H)=20H30H—(10H),(30H)=20H結(jié)果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H
3-10試寫出完成以下數(shù)據(jù)傳送的的指令序列。(1)R1的內(nèi)容傳送R0;(2)片外RAM60H單元的內(nèi)容送入R0;(3)片外RAM60H單元的內(nèi)容送入片內(nèi)RAM40H單元;(4)片外RAM1000H單元的內(nèi)容送入片外RAM40H單元;(5)ROM2000H(6)(5)ROM2000H(6)ROM2000HRAM40H單元;⑺ROM2000H單元的內(nèi)容送入R2;單元的內(nèi)容送入片內(nèi)單元的內(nèi)容送入片外RAM0200H單元。答:(1)由于在工作寄存器與工作寄存器之間不能直接傳送數(shù)據(jù),所以需要借助累加器A。MOVA,R1MOVR0,A(2)片外RAM向片內(nèi)RAM傳送數(shù)據(jù),不能直接進行,需要借助累加器Ao由于片外RAM是60H單元,地址小于FFH,所以間址寄存器使用Ri即可。MOVR1)#60HMOVXA@R1MOVR0)A(3)MOVR1)#60HMOVXA)@R1MOV40H)A(4)片外數(shù)據(jù)不能直接送入片外單元,需要先將片外數(shù)據(jù)讀入累加器,然后再送到片外。MOVDPTR,#1000HMOVXA)@DPTRMOVR1)#40HMOVX@R1)AROM中的數(shù)據(jù)需要使用查表指令才能讀出來,所以此題不能使用一般的傳送指令從ROM中讀數(shù)據(jù)。MOVDPTR)#2000HMOVA)#00HMOVCA)@A+DPTRMOVR2,A
MOVDPTR,#2000HMOVA ,#00HMOVCA,@A+DPTRMOVCA,@A+DPTRMOV40H ,AMOVDPTR)#2000HMOVA ,#00HMOVCA,@A+DPTRMOVDPTR )#0200HMOVX@DPTR)A
3-11 試編程,將外部RAM1000H單元中的數(shù)據(jù)與內(nèi)部RAM60H單元中的數(shù)據(jù)相互交換。答:片外RAM與片內(nèi)RAM之間的數(shù)據(jù)傳送不能直接進行,需要借助累加器Ao數(shù)據(jù)交換需要使用數(shù)據(jù)交換指令XCH。MOVDPTR )#1000HMOVXA )@DPTRXCHA ,60HMOVX@DPTR,A3-12已知(A)=5BH,(R1)=40H,(40H)=C3H,(PSWJ=81H,試寫出各條指令的執(zhí)行結(jié)果,并說明程序狀態(tài)字的狀態(tài)。態(tài)。XCHR1XCHA,40HR1XCHA,40H(3 )@R1@R1(SWAPAADDA)R1(ADDA)40HADDA)#40H(ADDCA)40HSUBBA,40H(2 )XCHA,(4)XCHDA,5 )(6)7 )(8)9 )(10)(11)SUBBA,#40H答:(1)結(jié)果:(A)-一(R1),(A)=40H,(R1)=5BH,(PSVV=81H(2)結(jié)果:(A)-.(40H),(A)=C3H,(40H)=5BH,(PSVM=80H(3)結(jié)果:(A)—((R1)),(A)=C3H,((R1))=(40H)=5BH,(PSWJ=80H(4)結(jié)果:(A)0~3-—((R1))0~3,(A)=53H,((R1))=(40H)=CBH,(PSVM=80H(5)結(jié)果:(A)0?3--(A)4?7,(A)=B5H,(PSVV=81H(6)結(jié)果:A-(A)+(R1),(A)=9BH,(PSVM=05H(7)結(jié)果:A-(A)+(40H),(A)=1EH,(PSVM=80H(8)結(jié)果:A—(A)+40H,(A)=9BH,(PSWJ=05H(9)結(jié)果:A—(A)+(40H)+CY,(A)=1FH,(PSVV=81H(10)結(jié)果:A—(A)-(40H)-CY,(A)=97H,(PSVV=85H(11)結(jié)果:A—(A)-40H-CY,(A)=1AH,(PSVV=01H3_13已知(A)=5BH,(R1)=40H,(40H)=C3H,(PSWJ=81H,試寫出各條
指令的執(zhí)行結(jié)果,并說明程序狀態(tài)字的狀態(tài)。( 1 ) XCHAR1XCHAR1XCHA,40H(3 )@R1@R1(SWAPAADDA)R1(ADDA)40HADDA)#40H(ADDCA)40HSUBBA,40H(2 )XCHA,(4)XCHDA,5 )(6)7 )(8)9 )(10)(11)SUBBA,#40H答:指令LJMPaddr16 是長轉(zhuǎn)移指令,指令中提供了圍是令,指令中提供了圍是64KB。16位目的地址,尋址范指令AJMPaddrll 是絕對轉(zhuǎn)移指令,指令中11位目的地址,其中a7~a0在第二字節(jié),a10~a8則占據(jù)第一字節(jié)的高3位,尋址范圍是與PC當前值(本指令所在地址+本條指令所占用的字節(jié)數(shù)2)在同一個2K的區(qū)域內(nèi)。3-14 試分析以下兩段程序中各條指令的作用。程序執(zhí)行完將轉(zhuǎn)向何處?(1)MOVP1,#0CAHTOC\o"1-5"\h\z\o"CurrentDocument"MOVA ,#56HJB P1.2 ,L1JNBACC.3 ,L2…L1: :L2:1(2)MOVA)#43HJB ACC.2.L1L2JBCACC.6L2L1:L2:答:(1)#0CAHP1=CAH=11001010BMOVMOV#56H ;A=56H=01010110BL1L1L2L2L1:P1P1—CAH256HJB;若P1.2=1JNB;若ACC.3=0L2: …執(zhí)行完本段程序后將轉(zhuǎn)移至P1.2=0,ACC.3=0,所以轉(zhuǎn)至MOVP1.2ACC.3,
,則轉(zhuǎn)移至L2,因為L2。A,#43HA=43H=01000011B243HJB ACC.2,L1 ;若ACC.2=1,則轉(zhuǎn)移至L1JBCACC.6,L2 ;若ACC.6=1,則轉(zhuǎn)移至L2,同時將ACC.6清零…L1: …L2: …執(zhí)行完本段程序后將轉(zhuǎn)移至L2,因為ACC.2=0,ACC.6=1,所以轉(zhuǎn)至L2,并且將ACC.6清零。第4章匯編語言程序設(shè)計4-1 什么是偽指令?偽指令和指令有何區(qū)別?它們的用途是什么4-2基本程序結(jié)構(gòu)有哪幾種?各有何特點?4-3 存放在內(nèi)部RAM白DATA單元中的變量X是一個無符號整數(shù),試編程計算下面函數(shù)的函數(shù)值并存放到內(nèi)部RAM的FUNC單元中。2X(X<20)Y-5X(20<X<50)X (Xi5口)答:ORG0300HMOV A ) DATACJNE A , #20,LOP1LOP1:JCLOP3CJNE A , #50,LOP2LOP2:JCLOP4TOC\o"1-5"\h\zMOVB )#1LJMPLOP5LOP3: MOV B ) #2LJMPLOP5LOP4: MOV B , #5LOP5: MUL ABMOVFUNC,ARET4-5某單片機應用系統(tǒng)有 4X4鍵盤,經(jīng)鍵盤掃描程序得到被按鍵的鍵值(00H?0FH)存放在R2中,16個鍵的鍵處理程序入口地址分別為 KEY0、KEY1、KEY2、…、KEY15。試編程實現(xiàn),根據(jù)被按鍵的鍵值,轉(zhuǎn)對應的鍵處理程序。答:ORG0500HMOVDPTR )#JPTABMOVA ,R2RLAJMP@A+DPTRJPTAB:AJMPKEY0AJMPKEY1AJMPKEY2AJMPKEY15TOC\o"1-5"\h\zKEY0: ???KEY1: ???KEY2: ???KEY15: …4-6試編程將片內(nèi)40H?60H單元中內(nèi)容傳送到外部RAM以2000H為首地址的存儲區(qū)中。答:ORG0600HMOVR0 )#40HMOVDPTR )#2000HMOVR7 )#21HLOOP:MOVA)@R0MOVX@DPTR)AINCR0INCDPTRDJNZR7 ,LOOPRET4-7試編程將片內(nèi)40H?60H單元中內(nèi)容傳送到外部RAM以2000H為首地址的存儲區(qū)中。答:ORG0700HMOVDPTR )#DATAMOVR7 ,#10LOOP: MOVXA,@DPTRORLA )#80HMOVX@DPTR)AINCDPTRDJNZR7 ,LOOPRET4-8編寫程序?qū)⑼獠縍AM3000H開始的13個單元中的數(shù)據(jù)隔一個傳送到內(nèi)部RAM30H開始的區(qū)域。答:ORG0800HMOVDPTR )#3000HMOVR0 )#30HMOVR7 )#7LOOP: MOVXA,@DPTRMOV@R0 )AINCDPTRINCDPTRINCR0DJNZR7 ,LOOPRET4-9編程將片外RAM地址為1000H?1030H的數(shù)據(jù)塊,全部搬遷到片內(nèi)RAM30H?60H中,并將原數(shù)據(jù)區(qū)全部清0。答:ORG0900HMOVDPTR )#1000HMOVR1 )#30HMOVR7 )#31HLOOP: MOVXA,@DPTRMOV@R1 )ACLRAMOVX@DPTR)AINCDPTRINCR1DJNZR7 ,LOOPRET4-10試編程把長度為10H的字符串從內(nèi)部RAM首地址為DAT1的存儲器中向外部RAM首地址為DAT2的存儲器進行傳送,
一直進行到遇見字符CR或整個字符串傳送完畢結(jié)束答:ORG0A00HMOVR1 ,#DAT1,#DAT2)#10H,#DAT2)#10H,@R1,#0DH,LOOP2MOVR6LOOP1:MOVACJNEALJMPLOOP3LOOP2:MOVX@DPTR,AINCR1INCDPTRDJNZR6 ,LOOP1LOOP3:RET4-11設(shè)在外部RAM2000H?2004H單元中,存放有5個壓縮BCD碼,試編程將它們轉(zhuǎn)換成ASCH碼,存放至IJ以2005H單元為首地址的存儲區(qū)中。答:ORG1200HMOVDPTR ,#2000HMOVR0 ,#30HMOVR7 ,#5LOP1:MOVXA,@DPTRANLA )#0FHADDA )#30HMOV@R0 )AINCR0MOVXA ) @DPTRANLA ) #0F0HSWAPATOC\o"1-5"\h\zADDA ) #30H\o"CurrentDocument"MOV@R0 )AINCR0INCDPTRDJNZ R7 , LOP1MOVDPTR )#2005H\o"CurrentDocument"MOV R0 ) #30HMOV R7 , #10LOP2:MOVA)@R0MOVX@DPTR)AINCR0INCDPTRDJNZR7 ,LOP2RET
4-12 已知內(nèi)部RAM30H和40H單元分別存放著一個數(shù)a、b,試編寫程序計算a2-b2,并將結(jié)果送入30H單元。設(shè)a、b均是小于10的數(shù)。答:ORG1400HMOVA )40HMOVB )AMULABMOV31HMOVAMOVBMULABCLRC,31H,A,31H,A8個LED發(fā)光二極MOV30HRET4-13P1口連接管,設(shè)計燈亮移位程序,要求管,設(shè)計燈亮移位程序,要求8個發(fā)光二極管每次亮一個,點亮時間為40ms。順次一個一個地循環(huán)右移點亮,循環(huán)不止答:ORG1500H#80HMOVA#80HLOOP:MOVP1,ALCALLDELRRASJMPLOOPDEL: MOVR7)#100DEL1:MOVR6)#198DJNZR6 ,$DJNZR7 ,DEL1RETRET第5章定時/計數(shù)器5-151系列單片機的內(nèi)部設(shè)有幾個定時/計數(shù)器?有哪幾種工作方式?由哪位選擇?不同方式下,脈沖來源是否一樣?答:51系列單片機的內(nèi)部設(shè)有兩個定時/計數(shù)器。分別有兩種工作方式:定時器方式和計數(shù)器方式。由TMOD(定時器模式控制寄存器)中的控制位。廳進行選擇。定時器方式的脈沖來自于內(nèi)部時鐘脈沖,每個機
器周期是計數(shù)器的值增1;計數(shù)器方式的脈沖來自于外部輸入引腳TO(P3.4)或T1(P3.5)5-251 系列單片機的定時/計數(shù)器有哪幾種工作模式?各有什么區(qū)別?M1M0答:51系列單片機的定時/計數(shù)器有四種工作模式。分別由TMOD中的M1和M0M1M0特 點模式0。TLX中低5位與THX中的8位構(gòu)成13位計數(shù)器。計滿溢出時,13位計數(shù)器回零。模式1°TLX與THX構(gòu)成16位計數(shù)器。計滿溢出時,16位計數(shù)器回零。模式2。8位自動重裝載的定時/計數(shù)器,每當計數(shù)器TLX溢出時,THX中的內(nèi)容重新裝載到TLX中。~~模式3。對定時器0,分成2個8位計數(shù)器,對于定時器1,停止計數(shù)。5-351 系列單片機的T0和T1在模式0中,都使用了計數(shù)器的哪些位?答:51系列單片機的T0和T1在模式0中,使用了TLX中低5位與THX中的8位構(gòu)成13位計數(shù)器,TLX中的高3位棄之未用。5-451 系列單片機的T0和T1在模式3時有何不同?答:對于T1,設(shè)置為模式3,將使它停止計數(shù)并保持原有的計數(shù)值,其作用如同使TR1=0,因此,沒有什么實質(zhì)意義。對于T0,設(shè)置為模式3時,16位計數(shù)器被分成兩個互相獨立的8位計數(shù)器TL0和TH0,其中TL0利用了定時/計數(shù)器0本身的一些控制位:,廳、GATE、TR0、e和TF0。它既可以按照計數(shù)方式工作,也可以按照定時方式工作。而TH0被規(guī)定只可用作定時器方式,借用了T1的控制位TR1和TF1。5-5試問當(TMOD=27H時,是怎樣定義T0和T1的?答:(TMOD=27H=00100111B此時,T1工作于模式2,定時方式(即波特率發(fā)生器方式)。T1工作于模式3,TL0和TH0同為計數(shù)方式。5-6 系統(tǒng)復位后執(zhí)行下述指令,試問T0的定時時間為多長?MOVTH0)#06HMOVTL0)#00HSETBTR0…答:單片機系統(tǒng)復位后(TMOD=00H,即T0工作在模式0,使用的是TL0的低5位和TH0構(gòu)成13位定時/計數(shù)器,由于(TH0)=06H,(TL0)=00H,所以定時的初值為:X=0000011000000B=192假設(shè)系統(tǒng)晶振頻率為6MHz,機器周期T=2"s,則定時時間為:定時值=(M-X)T=(213-192)X2iis=16000iis=16ms5-7已知51系列單片機的系統(tǒng)晶振頻率為6MHZ,請利用定時器T1和P1.2輸出矩形脈沖。答:ORG0000HLJMPSTARTORG0200HSTART:MOVTMOD)#20HMOVTL1 )#231SETBTR1LOOP:SETBP1.2MOVTH1 )#81LOP1:JBCTF1,LOP2SJMPLOP1LOP2:CLRP1.2MOVTH1 )#231LOP3:JBCTF1 ,LOOPSJMPLOP3END第6章串行接口6.1并行通信和串行通信各有什么特點?它們分別適用于什么場合?答:計算機與外界信息交換的基本方式可分為并行通信與串行通信:并行通信是數(shù)據(jù)的各位同時傳送,并行通信的特點是傳送速度快,但不適用長距離傳輸;串行通信是數(shù)據(jù)的各位依次逐位傳送,串行通信的特點是傳送速度較慢,但傳輸距離較長。并行通信適合近距離的CPU之間或設(shè)備之間快速進行數(shù)據(jù)交換;串行通信適合長距離的CPU之間或設(shè)備之間進行數(shù)據(jù)交換,或近距離的慢速數(shù)據(jù)交換。6.2什么是串行異步通信?它有哪些特點?串行異步通信的數(shù)據(jù)幀格式是怎樣的?答:①異步通信依靠起始位、停止位、保持通信同步。②特點是數(shù)據(jù)在線路上的傳送不連續(xù),傳送時,字符間隔不固定,各個字符可以是連續(xù)傳送,也可以間斷傳送,這完全取決于通信協(xié)議或約定。③串行異步通信的數(shù)據(jù)幀格式如圖6-1:一位起始位“0”電平;其后是5位、6位、7位或8位數(shù)據(jù)位,低位在前,高位在后;后面是一位奇偶校驗位;最后是停止圖6-1異步通信的數(shù)據(jù)幀格式6.3 串行通行有哪幾種數(shù)據(jù)傳送形式,試舉例說明。答:串行通信有3種數(shù)據(jù)傳送形式單工方式:數(shù)據(jù)傳送是單向的。半雙工方式:數(shù)據(jù)傳送是雙向的,在同一時間只能做一個方向的傳送。
A BC全雙工方式hlBABA BC全雙工方式hlBABA單工方式 h半雙工方式圖6-2串行通信數(shù)據(jù)傳送3種形式4何謂波特率?某異步通信,串行口每秒傳送250個字符,每個字符由11位組成,其波特率應為多少?答:波特率表示每秒傳輸?shù)亩M制數(shù)據(jù)位數(shù)。Fb=11X250=2750 其波特率應為2750bps。MCS-51單片機串行口有幾種工作模式?如何選擇?簡述其特點,并說明這幾種工作模式各用于什么場合?答:MCS-51單片機串行口有4種工作模式,由串行控制寄存器SCON中的SM0、SM1兩位組合來確定。模式0是同步位移寄存器方式,用于I/O口的串、并轉(zhuǎn)換。模式1是8位異步通信方式,楨格式10位,波特率可變,用于雙機通信。模式2是9位異步通信方式,楨格式11位,波特率固定,用于多機通信。模式3是9位異步通信方式,楨格式11位,波特率可變,用于多機遠距離通信。模式1、2、3的區(qū)別主要表現(xiàn)在楨格式和波特率兩個方面。MCS-51單片機4種工作模式的波特率如何確定?答:模式0的波特率固定:fosc/12模式2的波特率固定:fosc/n(n=64或32)模式1、3的波特率可變:T1溢出率/n(n=32或16)6.10 設(shè)計一個MCS-51單片機的雙機通信系統(tǒng),并編寫程序?qū)⒓讬C片外RAM2200H?2250H的數(shù)據(jù)塊通過串行口傳送到乙機的片外RAM1400H?1450H單元中。要求串行口工作在模式2,系統(tǒng)晶振為6MHz,傳送時進行奇校3若出錯,置F0標志為1。答:串行口工作在模式2,確定SMOD=1。未規(guī)定波特率,定時器初值任取,但兩機要保持一致。甲機發(fā)送子程序:TXDATOC\o"1-5"\h\zMOVTMOD) #20H;置T1定時器工作方式2MOVTL1 ) #0FDH ;置初值MOVTH1 ) #0FDH ;置初值SETBTR1;啟動T1MOVSCON) #90H;置串口方式2,允許接收,且SM2=0MOVPCON) #80H;置SMOD=1(SMOD^能位操作)CLRES;禁止串行中斷MOVDPTR) #2200H;指發(fā)送數(shù)據(jù)區(qū)首地址MOVR2, #51H;指發(fā)送數(shù)據(jù)長度TRSAMOVXA)@DPTR;讀一個數(shù)據(jù)MOVC,PM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 支付勞務工資的供銷合同
- 二零二五年度解除房屋租賃合同解除通知協(xié)議
- 二零二五年度生態(tài)旅游基地租用院子合同
- 2025年度混凝土攪拌車租賃與施工材料運輸合同
- 2025年度航空貨運物品安全保管與運輸服務合同
- 二零二五年度新材料研發(fā)團隊勞動合同范本
- 二零二五年度國際教育合作項目合同協(xié)議書
- 二零二五年度帶屋頂花園簡易版房屋租賃合同
- 2025年度清雪承包合同-城市廣場冬季積雪清除與景觀維護
- 2025年度商業(yè)連鎖店鋪裝修工程承包給項目經(jīng)理合同
- (二模)遵義市2025屆高三年級第二次適應性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協(xié)議書及公司股權(quán)代持及回購協(xié)議
- 2025年計算機二級WPS考試題目
- 高管績效考核全案
- 2024年上海市中考英語試題和答案
- 對合同條款有異議函
- 中醫(yī)館工作細則
- 尋夢緣古法駐顏培訓課件
- 建設(shè)用地報批服務投標方案(技術(shù)方案)
- 2023年11月英語二級筆譯真題及答案(筆譯實務)
- 元明時期左江上思州黃姓土司問題研究
評論
0/150
提交評論