




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機原理及接口技術教材習題全部解答第1章 緒論1-1解答:第一臺計算機的研制目的是為了計算復雜的數學難題。它的特點是:計算機字長為12位,運算速度為5 000次/s,使用18 800個電子管,1 500個繼電器,占地面積為150 m2,重達30 t,其造價為100多萬美元。它的誕生,標志著人類文明進入了一個新的歷史階段。1-2解答:單片微型計算機簡稱單片機。一個完整的單片機芯片至少有中央處理器(CPU)、隨機存儲器(RAM)、只讀存儲器(ROM)、定時/計數器及I/O接口等部件。1-3解答:單片機的發(fā)展大致經歷了四個階段:第一階段(19701974年),為4位單片機階段;第二階段(19741
2、978年),為低中檔8位單片機階段;第三階段(19781983年),為高檔8位單片機階段;第四階段(1983年至今),為8位單片機鞏固發(fā)展階段及16位單片機、32位單片機推出階段。1-4解答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列產品;Motorola公司的6801、6802、6803、6805、68HC11系列產品;Zilog公司的Z8、Super8系列產品;Atmel公司的AT89系列產品;Fairchild公司的F8和3870系列產品;TI公司的TMS7000系列產品;NS公司的NS8070系列產品;NEC公司的COM87(PD7800)系列產品;Natio
3、nal公司的MN6800系列產品;Hitachi公司的HD6301、HD63L05、HD6305。1-5解答:(1)8031/8051/8751三種型號,稱為8051子系列。8031片內沒有ROM,使用時需在片外接EPROM。8051片內含有4KB的掩模ROM,其中的程序是生產廠家制作芯片時燒制的。8751片內含有4KB的EPROM,用戶可以先用紫外線擦除器擦除,然后再利用開發(fā)機或編程器寫入新的程序。(2)8032A/8052A/8752A是8031/8051/8751的增強型,稱為8052子系列。其中片內ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一個定時/計數器和一個中斷源
4、。(3)80C31/80C51/87C51BH是8051子系列的CHMOS工藝芯片,80C32/80C52/87C52是8052子系列的CHMOS工藝芯片,兩者芯片內的配置和功能兼容。1-6解答:8052子系列片內ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一個定時/計數器和一個中斷源。1-7解答:AT89系列單片機是美國Atmel公司的8位Flash單片機產品。它的最大特點是在片內含有Flash存儲器,在系統(tǒng)的開發(fā)過程中可以十分容易地進行程序的修改,使開發(fā)調試更為方便。AT89系列單片機以8031為內核,是與8051系列單片機兼容的系列。1-8解答:高檔型單片機有AT89S5
5、1、AT89S52、AT89S53和AT89S8252等型號,其中AT89S51有4KB可下載Flash存儲器,AT89S52、AT89S8252有8KB可下載Flash存儲器,AT89S53有12KB可下載Flash存儲器。第2章 MCS-51系列單片機的結構及原理2-1解答:MCS-51單片機由8個部件組成:中央處理器(CPU),片內數據存儲器(RAM),片內程序存儲器(ROM/EPROM),輸入/輸出接口(I/O口,分為P0口、P1口、P2口和P3口),可編程串行口,定時/計數器,中斷系統(tǒng)及特殊功能寄存器(SFR)。中央處理器(CPU):單片機的核心部分,它的作用是讀入和分析每條指令,根
6、據每條指令的功能要求,控制各個部件執(zhí)行相應的操作。片內數據存儲器(RAM):存放各項操作的臨時數據。片內程序存儲器(ROM/EPROM):存放單片機運行所需的程序。輸入/輸出接口(I/O口):單片機與外設相互溝通的橋梁。可編程串行口:可以實現與其它單片機或PC機之間的數據傳送。定時/計數器:具有可編程功能,可以完成對外部事件的計數,也可以完成定時功能。中斷系統(tǒng):可以實現分時操作、實時處理、故障處理等功能。特殊功能寄存器(SFR):反映單片機的運行狀態(tài),包含了單片機在運行中的各種狀態(tài)字和控制字,以及各種初始值。2-2解答:引腳是片內外程序存儲器的選擇信號。當端保持高電平時,訪問內部程序存儲器,但
7、在PC(程序計數器)值超過0FFFH(對于8051/8751/80C51)或1FFFH(對于8052)時,將自動轉向訪問外部程序存儲器。當端保持低電平時,不管是否有內部程序存儲器,則只訪問外部程序存儲器。由于8031片內沒有程序存儲器,所以在使用8031時,引腳必須接低電平。2-3解答:在MCS-51單片機中,除P3口具有第二功能外,還有3條控制線具有第二功能。P3口的第二功能:P3.0RXD:串行數據接收端P3.1TXD:串行數據發(fā)送端P3.2:外部中斷0申請輸入端P3.3:外部中斷1申請輸入端P3.4T0:定時器0計數輸入端P3.5T1:定時器1計數輸入端P3.6:外部RAM寫選通P3.7
8、:外部RAM讀選通3條控制線的第二功能:ALE:片內EPROM編程脈沖。片內具有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。RESETVPD:備用電源。VCC掉電期間,此引腳可接備用電源,以保持內部RAM數據不丟失。VPP:片內EPROM編程電源。在對片內具有EPROM的芯片進行編程時,此引腳用于施加21V編程電源。2-4解答:MCS-51單片機的內部存儲空間分為數據存儲器和程序存儲器。內部數據存儲器:共256字節(jié)單元,包括低128個單元和高128個單元。低128字節(jié)又分成3個區(qū)域:工作寄存器區(qū)(00H1FH),位尋址區(qū)(20H2FH)和用戶RAM區(qū)(30H7FH)。高128字
9、節(jié)是供給特殊功能寄存器使用的,因此稱之為特殊功能寄存器區(qū)。內部程序存儲器:在8031片內無程序存儲器,8051片內具有4KB掩模ROM,8751片內具有4KBEPROM。2-5解答:MCS-51單片機提供了4組工作寄存器,對于當前工作寄存器組的選擇,是通過PSW中的RS1和RS0來進行選擇。具體關系如下表:RS1RS0當前寄存器組00第0組工作寄存器01第1組工作寄存器10第2組工作寄存器11第3組工作寄存器2-6解答:內部RAM低128個單元按用途分成3個區(qū)域:工作寄存器區(qū)(00H1FH),位尋址區(qū)(20H2FH)和用戶RAM區(qū)(30H7FH)。2-7解答:DPTR是數據指針寄存器,是一個1
10、6位寄存器,用來存放16位存儲器的地址,以便對外部數據存儲器RAM中的數據進行操作。DPTR由高位字節(jié)DPH和低位字節(jié)DPL組成。2-8解答:所謂堆棧,顧名思義就是一種以“堆”的方式工作的“棧”。堆棧是在內存中專門開辟出來的按照“先進后出,后進先出”的原則進行存取的RAM區(qū)域。堆棧的用途是保護現場和斷點地址。在8051單片機復位后,堆棧指針SP總是初始化到內部RAM地址07H。從08H開始就是8051的堆棧區(qū),這個位置與工作寄存器組1的位置相同。因此,在實際應用中,通常要根據需要在程序初始化時對SP重新賦值,以改變堆棧的位置。2-9解答:程序狀態(tài)字寄存器PSW是8位寄存器,用于存放程序運行的狀
11、態(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-10解答:P0口由一個所存器、兩個三態(tài)輸入緩沖器、場效應管、控制與門、反相器和轉換開關組成;作為輸出口時,必須外接上拉電阻才能有高電平輸出,作為輸入口時,必須先向鎖存器寫“1”;作為普通I/O口使用或低8位地址/數據總線使用。P1口內沒有轉換開關,但有上拉電阻;只用作普通I/O口使用。P2口比P1口多了一個轉換控制開關;作為普通I/O口使用
12、或高8位地址線使用。P3口比P1口增加了與非門和緩沖器;具有準雙向I/O功能和第二功能。上述4個端口在作為輸入口使用時,應注意必須先向端口寫“1”。2-11解答:指令周期:執(zhí)行一條指令所需要的時間。機器周期:CPU完成一個基本操作所需要的時間。狀態(tài):振蕩脈沖經過二分頻后,得到的單片機的時鐘信號。拍:振蕩脈沖的周期。當晶振頻率為12MHz時,一個機器周期為1s;當晶振頻率為8MHz時,一個機器周期為3s。2-12解答:在時鐘電路工作后,只要在單片機的RESET引腳上出現24個時鐘震蕩脈沖(兩個機器周期)以上的高電平,單片機就能實現復位。復位后,CPU和系統(tǒng)都處于一個確定的初始狀態(tài),在這種狀態(tài)下,
13、所有的專用寄存器都被賦予默認值,除SP=07H,P0P3口為FFH外,其余寄存器均為0。2-13解答:8051單片機應用系統(tǒng)的電壓檢測電路監(jiān)測到電源下降時,觸發(fā)外部中斷,在中斷服務子程序中將外部RAM中的有用數據送入內部RAM保存。(內部RAM由備用電源供電)80C51單片機應用系統(tǒng)的電壓檢測電路監(jiān)測到電源降低時,也出發(fā)外部中斷,在中斷服務子程序中,除了要將外部RAM中有用的數據保存以外,還要將特殊功能寄存器的有用內容保護起來,然后對電源控制寄存器PCON進行設置。2-14解答:單片機退出空閑狀態(tài)有兩種方法:中斷退出和硬件復位退出。第3章 MCS-51系列單片機的指令系統(tǒng)3-1解答:指令是規(guī)定
14、計算機進行某種操作的命令,一臺計算機所能執(zhí)行的指令集合稱為該計算機的指令系統(tǒng)。計算機內部只識別二進制數,因此,能別計算機直接識別、執(zhí)行的指令時使用二進制編碼表示的指令,這種指令別稱為機器語言指令。以助記符表示的指令就是計算機的匯編語言指令。3-2解答:標號: <操作碼> 操作數 ;注釋3-3解答:MCS-51系列單片機提供了7種尋址方式:(1)立即尋址:操作數在指令中直接給出,立即數前面有“#”。(2)直接尋址:在指令中直接給出操作數地址。對應片內低128個字節(jié)單元和特殊功能寄存器。(3)寄存器尋址:以寄存器的內容作為操作數。對應的寄存器有:R0R7、A、AB寄存器和數據指針DPT
15、R。(4)寄存器間接尋址:以寄存器的內容作為RAM地址,該地址中的內容才是操作數。對應片內RAM的低128個單元采用R0、R1作為間址寄存器,片外RAM低256個單元可用R0、R1作為間址寄存器,整個64KB空間可用DPTR作為間址寄存器。(5)變址尋址:以DPTR或PC作為基址寄存器,以累加器A作為變址寄存器,并以兩者內容相加形成的16位地址作為操作數地址。對應片內、片外的ROM空間。(6)相對尋址:只在相對轉移指令中使用。對應片內、片外的ROM空間。(7)位尋址:對可尋址的位單獨進行操作。對應位尋址區(qū)20H2FH單元的128位和字節(jié)地址能被8整除的特殊功能寄存器的相應位。3-4解答:直接尋
16、址方式。3-5解答:寄存器間接尋址方式。3-6解答:立即尋址方式,直接尋址方式,寄存器尋址方式,寄存器間接尋址方式,位尋址方式。3-7解答:變址尋址方式3-8解答:對于8052單片機內部RAM的高128B,必須采用寄存器間接尋址方式進行訪問。3-9解答:外部數據傳送指令有6條:MOVXA,DPTRMOVXDPTR,AMOVXA,RiMOVXRi,AMOVCA,A+DPTRMOVCA,A+PC(1)MOVXA,R1MOVXA,DPTR 都是訪問片外RAM,但二者尋址范圍不同。 前1條指令是對片外RAM低256個單元的“讀”操作。 后1條指令是對片外RAM64KB空間的“讀”操作。(2)MOVXA
17、,DPTRMOVXDPTR,A 訪問空間相同,但數據傳送方向不同。 前1條指令是對片外RAM64KB空間的“讀”操作。 后1條指令是對片外RAM64KB空間的“寫”操作。(3)MOVR0,AMOVXR0,A 二者訪問的空間不同。 前1條指令是對片內RAM低128個單元的“寫”操作。 后1條指令是對片外RAM低256個單元的“寫”操作。(4)MOVCA,A+DPTRMOVXA,DPTR 二者訪問的空間不同,尋址方式不同。 前1條指令是變址尋址方式,對ROM操作。 后1條指令是寄存器間接尋址方式,對片外RAM操作。3-10解答:R030H,(R0)=30HA(R0),(A)=40HR1(A),(R
18、1)=40HB(R1),(B)=10H(R1)(P1),(R1)=(40H)=EFHP2(P1),(P2)=EFH10H20H,(10H)=20H30H(10H),(30H)=20H結果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H3-11解答:(1)由于在工作寄存器與工作寄存器之間不能直接傳送數據,所以需要借助累加器A。MOVA,R1MOVR0,A(2)片外RAM向片內RAM傳送數據,不能直接進行,需要借助累加器A。由于片外RAM是60H單元,地址小于FFH,所以間址寄存器使用Ri即可。MOV
19、R1,#60HMOVXA,R1MOVR0,A(3)MOVR1,#60HMOVXA,R1MOV40H,A(4)片外數據不能直接送入片外單元,需要先將片外數據讀入累加器,然后再送到片外。MOVDPTR,#1000HMOVXA,DPTRMOVR1,#40HMOVXR1,A(5)ROM中的數據需要使用查表指令才能讀出來,所以此題不能使用一般的傳送指令從ROM中讀數據。MOVDPTR,#2000HMOVA,#00HMOVCA,A+DPTRMOVR2,A(6)MOVDPTR,#2000HMOVA,#00HMOVCA,A+DPTRMOV40H,A(7)MOVDPTR,#2000HMOVA,#00HMOVCA
20、,A+DPTRMOVDPTR,#0200HMOVXDPTR,A3-12解答:片外RAM與片內RAM之間的數據傳送不能直接進行,需要借助累加器A。數據交換需要使用數據交換指令XCH。MOVDPTR,#1000HMOVXA,DPTRXCHA,60HMOVXDPTR,A3-13解答:本題需要采用查表指令。ORG0200HMOVDPTR,#TABMOVA,R7MOVCA,A+DPTRORG0300HTAB:DB0,1,4,9,16,25,36,49,64,813-14解答:(1)結果:(A)(R1),(A)=40H,(R1)=5BH,(PSW)=81H(2)結果:(A)(40H),(A)=C3H,(4
21、0H)=5BH,(PSW)=80H(3)結果:(A)(R1),(A)=C3H,(R1)=(40H)=5BH,(PSW)=80H(4)結果:(A)03(R1)03,(A)=53H,(R1)=(40H)=CBH,(PSW)=80H(5)結果:(A)03(A)47,(A)=B5H,(PSW)=81H(6)結果:A(A)+(R1),(A)=9BH,(PSW)=05H(7)結果:A(A)+(40H),(A)=1EH,(PSW)=80H(8)結果:A(A)+40H,(A)=9BH,(PSW)=05H(9)結果:A(A)+(40H)+CY,(A)=1FH,(PSW)=81H(10)結果:A(A)-(40H)
22、-CY,(A)=97H,(PSW)=85H(11)結果:A(A)- 40H - CY,(A)=1AH,(PSW)=01H3-15解答:(1)該組指令執(zhí)行后(A)=00H,不影響CY位。(2)該組指令執(zhí)行后(A)=00H,影響CY位。說明:單獨執(zhí)行INC指令,只影響奇偶標志位P,不影響半進位標志位AC和進位位CY位。執(zhí)行ADD指令后,將影響CY、AC和P位。3-16解答:本題涉及的是16位數的減法運算,首先應讓低8位相減,然后讓高8位帶著借位相減。注意:應在低8位相減前將進位位CY清空0。CLRCMOVA,#56HSUBBA,#78HMOVR0,AMOVA,#23HSUBBA,#45HMOVR1
23、,A3-17解答:A(A)23H,(A)=03H42H(42H)(A),(42H)=37HA(A)(R0),(A)=34HA(),(A)=CBH結果:(A)=CBH3-18解答:(1)MOVDPTR,#1000HMOVXA,DPTRCPLAMOVXDPTR,A(2)MOVR0,#60HMOVXA,R0ANLA,#3FHXRLA,#03HMOVXR0,A3-19解答:DA A指令的作用是對A中剛進行的兩個BCD碼的加法結果進行修正,即繼續(xù)使BCD碼加法運算的結果保持為BCD碼。使用時,DA A指令只能使用在加法指令后,即ADD指令和ADDC指令。3-20解答:MOVDPTR,#1000HMOVX
24、A,DPTRMOVB,#10MULABMOV30H,AMOV31H,BMOVDPTR,#2000HMOVXA,DPTRMOVB,#32MULABADDA,30HMOV30H,AMOVA,BADDCA,31HMOV31H,A3-21解答:MOVR7,#10MOVDPTR,#block1MOVR0,#block2LOOP:MOVXA,DPTRMOVR0,AINCDPTRINCR0DJNZR7,LOOP3-22解答:MOVA,#01HLOOP:MOVP0,ARLALCALLDELAYSJMPLOOPDELAY:MOVR7,#00HDELAY1:MOVR6,#00HDJNZR6,$DJNZR7,DEL
25、AY1RET3-23解答:ORLC,11HMOV11H,CMOVC,P1.0ORLC,10HANLC,11HMOVP1.0,C3-24解答:(1)正確。(2)錯誤。原因:清零指令只能用于累加器ACC和位操作,而本題中E0H只能是字節(jié)地址(位地址的范圍是00H7FH),所以該條指令錯誤。(3)錯誤。原因:ACC是直接字節(jié)地址,不能用于清零指令。(4)正確。ACC.0是一個位,可以應用到清零指令中。(5)正確。(6)錯誤。原因:取反指令只能用于累加器ACC和位操作,而本題中E0H只能是字節(jié)地址(位地址的范圍是00H7FH),所以該條指令錯誤。(7)錯誤。原因:ACC是直接字節(jié)地址,不能用于取反指令
26、。(8)正確。ACC.0是一個位,可以應用到取反指令中。3-25解答:ANLA,BORLA,CMOVF,C3-26解答:指令LJMPaddr16是長轉移指令,指令中提供了16位目的地址,尋址范圍是64KB。指令AJMPaddr11是絕對轉移指令,指令中11位目的地址,其中a7a0在第二字節(jié),a10a8則占據第一字節(jié)的高3位,尋址范圍是與PC當前值(本指令所在地址+本條指令所占用的字節(jié)數2)在同一個2K的區(qū)域內。3-27解答:(1)MOVP1,#0CAH;P1CAH,P1=CAH=11001010BMOVA,#56H;A56H,A=56H=01010110BJBP1.2,L1;若P1.2=1,則
27、轉移至L1JNBACC.3,L2;若ACC.3=0,則轉移至L2L1:L2:執(zhí)行完本段程序后將轉移至L2,因為P1.2=0,ACC.3=0,所以轉至L2。(2)MOVA,#43H;A43H,A=43H=01000011BJBACC.2,L1;若ACC.2=1,則轉移至L1JBCACC.6,L2;若ACC.6=1,則轉移至L2,同時將ACC.6清零L1:L2:執(zhí)行完本段程序后將轉移至L2,因為ACC.2=0,ACC.6=1,所以轉至L2,并且將ACC.6清零。3-28解答:(1)MOVA,P1CPLAANLA,#0F0HSWAPAMOVP1,A(2):LOOP:JNBP1.4,L1;JNBP1.
28、5,L2;JNBP1.6,L3;JNBP1.7,L4;LJMPLOOP;L1:MOVP1,#01H;LJMPLOOP;L2:MOVP1,#02H;LJMPLOOP;L3:MOVP1,#03H;LJMPLOOP;L4:MOVP1,#04H;LJMPLOOP;第4章 匯編語言程序設計4-1解答:ORG0100HMOVA,21HADDA,23HMOV25H,AMOVA,20HADDCA,22HMOV24H,ARET4-2解答:ORG0200HMOVA,51HMOVB,#20MULABMOV53H,AMOV52H,BMOVA,50HMOVB,#3MULABADDA,53HMOV53H,AMOVA,BA
29、DDCA,52HMOV52H,ARET4-3解答:XA暫存A<20?A<50?2B5B1BA×BAAFUNC保存結果開始返回YNYN題圖4-1 習題4-3流程圖ORG0300HMOVA,DATACJNEA,#20,LOP1LOP1:JCLOP3CJNEA,#50,LOP2LOP2:JCLOP4MOVB,#1LJMPLOP5LOP3:MOVB,#2LJMPLOP5LOP4:MOVB,#5LOP5:MULABMOVFUNC,ARET4-4解答:ORG0400HMOVA,mun+1JNBACC.7,LOOPCLRCMOVA,numSUBBA,#01HCPLAMOVnum,AMO
30、VA,#num+1SUBBA,#00HCPLAMOVnum+1,ALOOP:RET4-5解答:ORG0500HMOVDPTR,#JPTABMOVA,R2RLAJMPA+DPTRJPTAB:AJMPKEY0AJMPKEY1AJMPKEY2AJMPKEY15KEY0:KEY1:KEY2:KEY15:4-6解答:ORG0600HMOVR0,#40HMOVDPTR,#2000HMOVR7,#21HLOOP:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOOPRET4-7解答:ORG0700HMOVDPTR,#DATAMOVR7,#10LOOP:MOVXA,DPTRORLA,
31、#80HMOVXDPTR,AINCDPTRDJNZR7,LOOPRET4-8解答:ORG0800HMOVDPTR,#3000HMOVR0,#30HMOVR7,#7LOOP:MOVXA,DPTRMOVR0,AINCDPTRINCDPTRINCR0DJNZR7,LOOPRET4-9解答:ORG0900HMOVDPTR,#1000HMOVR1,#30HMOVR7,#31HLOOP:MOVXA,DPTRMOVR1,ACLRAMOVXDPTR,AINCDPTRINCR1DJNZR7,LOOPRET4-10解答:ORG0A00HMOVR1,#DAT1MOVDPTR,#DAT2MOVR6,#10HLOOP1
32、:MOVA,R1CJNEA,#0DH,LOOP2LJMPLOOP3LOOP2:MOVXDPTR,AINCR1INCDPTRDJNZR6,LOOP1LOOP3:RET4-11解答:ORG0B00HMOVDPTR,#3000HMOVR7,#100MOVone,#00HMOVtwo,#00HMOVthree,#00HLOP1:MOVXA,DPTRJZLOP2JNBACC.7,LOP3INCthreeLJMPLOP4LOP2:INCtwoLJMPLOP4LOP3:INConeLOP4:INCDPTRDJNZR7,LOP1RET4-12解答:ORG0C00HMOVR0,#50HMOVA,#00HMOVR
33、7,#10LOP:ADDA,R0INCR0DJNZR7,LOPMOVB,#10DIVABMOV5AH,ARET4-13解答:ORG0D00HMOVR0,#40HMOVA,R0MOVR7,#47LOOP:INCR0MOV30H,R0CJNEA,30H,CHKCHK:JCLOOP1MOVA,R0LOOP1:DJNZR7,LOOPMOVMIN,ARET4-14解答:ORG0E00HSTART:MOVR0,#40HMOVR7,#19CLR00HLOOP:MOVA,R0MOV30H,AINCR0MOV31H,R0CLRCSUBBA,R0JNCNEXTMOVR0,30HDECR0MOVR0,31HINCR
34、0SETB00HNEXT:DJNZR7,LOOPJB00H,STARTMOVR0,#40HMOVDPTR,#2000HMOVR7,#20LOP1:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOP1RET4-15解答:ORG0F00HMOVDPTR,#2000HMOVR7,#100LOOP1:MOVXA,DPTRCJNEA,#44H,LOOP2MOV30H,DPLMOV31H,DPHMOVDPTR,#20A0HMOVA,30HMOVXDPTR,AINCDPTRMOVA,31HMOVXDPTR,ALJMPLOOP3LOOP2:INCDPTRDJNZR7,LOOP1LO
35、OP3:RET4-16解答:ORG1000HMOVR0,#30HMOVR1,#50HMOVR7,#20LOP1:MOVA,R0CJNEA,#0AH,LOP2LOP2:JNCLOP3ADDA,#30HLJMPLOP4LOP3:ADDA,#37HLOP4:MOVR1,AINCR0INCR1DJNZR7,LOP1RET4-17解答:ORG1100HMOVR0,#40HMOVR1,#60HMOVR7,#NLOP1:MOVA,R0CJNEA,#41H,LOP2LOP2:JNCLOP3CLRCSUBBA,#30HLJMPLOP4LOP3:CLRCSUBBA,#37HLOP4:MOVR1,AINCR0INC
36、R1DJNZR7,LOP1RET4-18解答:ORG1200HMOVDPTR,#2000HMOVR0,#30HMOVR7,#5LOP1:MOVXA,DPTRANLA,#0FHADDA,#30HMOVR0,AINCR0MOVXA,DPTRANLA,#0F0HSWAPAADDA,#30HMOVR0,AINCR0INCDPTRDJNZR7,LOP1MOVDPTR,#2005HMOVR0,#30HMOVR7,#10LOP2:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOP2RET4-19解答:ORG1300HMOVDPTR,#2000HMOVR0,#30HMOVR7,#1
37、0LOP1:MOVXA,DPTRCLRCSUBBA,#30HMOVR0,AINCDPTRMOVXA,DPTRCLRCSUBBA,#30HSWAPAORLA,R0MOVR0,AINCDPTRINCR0DJNZR7,LOP1MOVDPTR,#3000HMOVR0,#30HMOVR7,#10LOP2:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOP2RET4-20解答:ORG1400HMOVA,40HMOVB,AMULABMOV31H,AMOVA,30HMOVB,AMULABCLRCSUBBA,31HMOV30H,ARET4-21解答:ORG1500HMOVA,#80H
38、LOOP:MOVP1,ALCALLDELRRASJMPLOOPDEL:MOVR7,#100DEL1:MOVR6,#198DJNZR6,$DJNZR7,DEL1RET4-22解答:ORG1600HMOVA,#55HLOOP:MOVP1,ALCALLDELRLASJMPLOOPDEL:MOVR7,#250DEL1:MOVR6,#198DJNZR6,$DJNZR7,DEL1RET第5章 定時/計數器5-1解答:51系列單片機的內部設有兩個定時/計數器。分別有兩種工作方式:定時器方式和計數器方式。由TMOD(定時器模式控制寄存器)中的控制位進行選擇。定時器方式的脈沖來自于內部時鐘脈沖,每個機器周期是計
39、數器的值增1;計數器方式的脈沖來自于外部輸入引腳T0(P3.4)或T1(P3.5)。5-2解答:51系列單片機的定時/計數器有四種工作模式。分別由TMOD中的M1和M0進行選擇。特點如下:M1 M0特 點 0 0模式0。TLX中低5位與THX中的8位構成13位計數器。計滿溢出時,13位計數器回零。 0 1模式1。TLX與THX構成16位計數器。計滿溢出時,16位計數器回零。 1 0模式2。8位自動重裝載的定時/計數器,每當計數器TLX溢出時,THX中的內容重新裝載到TLX中。 1 1模式3。對定時器0,分成2個8位計數器,對于定時器1,停止計數。5-3解答:51系列單片機的T0和T1在模式0中
40、,使用了TLX中低5位與THX中的8位構成13位計數器,TLX中的高3位棄之未用。5-4解答:對于T1,設置為模式3,將使它停止計數并保持原有的計數值,其作用如同使TR1=0,因此,沒有什么實質意義。對于T0,設置為模式3時,16位計數器被分成兩個互相獨立的8位計數器TL0和TH0,其中TL0利用了定時/計數器0本身的一些控制位:、GATE、TR0、和TF0。它既可以按照計數方式工作,也可以按照定時方式工作。而TH0被規(guī)定只可用作定時器方式,借用了T1的控制位TR1和TF1。5-5解答:(TMOD)=27H=00100111B此時,T1工作于模式2,定時方式(即波特率發(fā)生器方式)。T1工作于模
41、式3,TL0和TH0同為計數方式。5-6解答:單片機系統(tǒng)復位后(TMOD)=00H,即T0工作在模式0,使用的是TL0的低5位和TH0構成13位定時/計數器,由于(TH0)=06H,(TL0)=00H,所以定時的初值為:X=0000011000000B=192假設系統(tǒng)晶振頻率為6MHz,機器周期T=2s,則定時時間為:定時值=(M-X)T=(213-192)×2s=16000s=16ms5-7解答:ORG0000HLJMPSTARTORG0200HSTART:MOVTMOD,#20HMOVTL1,#231SETBTR1LOOP:SETBP1.2MOVTH1,#81LOP1:JBCTF
42、1,LOP2SJMPLOP1LOP2:CLRP1.2MOVTH1,#231LOP3:JBCTF1,LOOPSJMPLOP3END5-8解答:ORG0000HLJMPSTARTORG0300HSTART:MOVTMOD,#51HLOOP:CLRTR0MOVTL1,#18HMOVTH1,#0E0HSETBTR1LOP1:JBCTF1,LOP2SJMPLOP1LOP2:CLRTR1MOVTL0,#18HMOVTH0,#0E0HSETBTR0LOP3:JBCTF0,LOOPSJMPLOP3END5-9解答:TF0為定時/計數器T0的溢出標志位。TF1為定時/計數器T1的溢出標志位。TF2為定時/計數器
43、T2的溢出中斷標志位。EXF2為定時/計數器T2的外部觸發(fā)中斷標志位。當定時/計數器T0或T1溢出時TF0或TF1由硬件置1,使用查詢方式時,此位做狀態(tài)位供查詢,查詢有效后需由軟件清零;使用中斷方式時,此位做中斷申請標志位,進入中斷服務后被硬件自動清零。當定時/計數器T2計數溢出或外部觸發(fā)時,TF2或EXF2置1,并申請中斷,但該兩位只能靠軟件清除。5-10解答:RCLK為接收時鐘選擇位,靠軟件置位或清除,用以選擇定時/計數器2或1做串行口接收波特率發(fā)生器。TCLK為發(fā)送時鐘選擇位,靠軟件置位或清除,用以選擇定時/計數器2或1做串行口發(fā)送波特率發(fā)生器。如果兩者都被清零,則T2工作在定時/計數器
44、方式。此時當=0時,TH2和TL2計的是機器周期數,做定時器使用;當=1時,計數脈沖來自T2(P1.0)引腳,TH2和TL2做外部信號脈沖計數用。5-11解答:52系列單片機的T0、T1和T2對外來脈沖進行計數時,T0的外來脈沖引入引腳為P3.4;T1的外來脈沖引入引腳為P3.5;T2的外來脈沖引入引腳為P1.0。5-12解答:為捕獲或重裝載標志,由軟件設置或清除。當=1時選擇捕獲功能,這時若EXEN2=1,且T2EX端的信號負跳變時,發(fā)生捕獲操作,即把TH2和TL2的內容傳遞給RCAP2H和RCAP2L;當=0時,選擇重裝載功能,這時若定時器2溢出,或在EXEN2=1條件下T2EX端信號有負
45、跳變,都會造成自動重裝載操作,即把RCAP2H和RCAP2L的內容傳送給TH2和TL2。5-13解答:初值=65 536fose/(波特率×2×16) =65 536(11.059 2×106)/(19 200×2×16) =65 53618 =65518 =FFEEH即T2的重復裝載常數為:TH2=0FFH,TL2=0EEH第6章 串行接口61解答: 計算機與外界信息交換的基本方式可分為并行通信與串行通信:并行通信是數據的各位同時傳送,并行通信的特點是傳送速度快,但不適用長距離傳輸;串行通信是數據的各位依次逐位傳送,串行通信的特點是傳送速度較慢,但傳輸距離較長。并行通信適合近距離的CPU之間或設備之間快速進行數據交換;串行通信適合長距離的CPU之間或設備之間進行數據交換,或近距離的慢速數據交換。62解答:異步通信依靠起始位、停止位、保持通信同步。特點是數據在線路上的傳送不連續(xù),傳送時,字符間隔不固定,各個字符可以是連續(xù)傳送,也可以間斷傳送,這完全取決于通信協(xié)議或約定。 串行異步通信的數據幀格式如圖6-1:一位起始位“0”電平;其后是5位、6位、7位或8位數據位,低位在前,高位在后;后面是一位奇偶校驗位;最后是停止位“1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑行業(yè)工程管理資質證明書(7篇)
- 金融行業(yè)數據分類表
- 城市發(fā)展和環(huán)保之間的平衡初中英語閱讀理解教學教案關注現實話題
- 體育精神培育行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 人工智能啟蒙行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 陶藝制作體驗工作室行業(yè)跨境出海項目商業(yè)計劃書
- 昆明理工大學《供應鏈與物流管理》2023-2024學年第二學期期末試卷
- 書法字帖數字化出版創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 乳酸文化節(jié)策劃創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 企業(yè)定制商務賀卡創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- T/CAQI 96-2019產品質量鑒定程序規(guī)范總則
- 2023高考地理高三一輪復習教學計劃和備考策略
- 挖掘機裝載機定期檢驗報告
- 新版現代西班牙語第二冊課后答案
- 新版大學英語四級考試全真模擬試題 (九套)及參考答案
- 園林植物病蟲害防治技術操作質量標準
- 快遞郵寄申請表
- 隔油池圖集pdf國標圖集
- 蒸壓灰砂磚抗壓、抗折強度檢驗記錄1
- 收集九廠微地震監(jiān)測report1
- 國外教學設計研究現狀與發(fā)展趨勢
評論
0/150
提交評論