




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、單片機原理及應用習題答案第一章 基礎知識1微型計算機主要由哪幾部分組成?各部分有何功能?答:一臺微型計算機由中央處理單元(CPU)、存儲器、I/O接口及I/O設備等組成,相互之間通過三組總線(Bus):即地址總線AB、數(shù)據(jù)總線DB和控制總線CB來連接。 CPU由運算器和控制器組成,運算器能夠完成各種算術運算和邏輯運算操作,控制器用于控制計算機進行各種操作。存儲器是計算機系統(tǒng)中的“記憶”裝置,其功能是存放程序和數(shù)據(jù)。按其功能可分為RAM和ROM。輸入/輸出(I/O)接口是CPU與外部設備進行信息交換的部件??偩€是將CPU、存儲器和I/O接口等相對獨立的功能部件連接起來,并傳送信息的公共通道。2.
2、 將下列十進制數(shù)分別轉換成為二進制數(shù),十六進制數(shù)和BCD碼數(shù)的形式: 100,64,78,80解:1)100=1100100B=64H=0001 0000 0000BCD;2)64=1000000B=40H=0110 0100BCD;3)78=1001110B=4EH=0111 1000BCD。3. 寫出下列十六進制無符號數(shù)對應的十進制數(shù)和二進制:0D5H,64H,2CH,4FEH2) 64H=100=1100100B;3) 2CH=44=101100B;4. 寫出下列十進制數(shù)對應的二進制原碼、反碼和補碼:+35,+50,-10,-20解:1) 35(23H)原=(23H)反=(23H)補;2
3、) 50(32H)原=(32H)反=(32H)補;3) 10(8AH)原(0F5H)反(0F6H)補;4) 20(94H)原(0EBH)反(0ECH)補; 解:1)0D5H=213=11010101B;5. 根據(jù)給定的原碼、反碼、補碼求真值。1) (0CBH)原=(-75)真值;2) (8BH)反=(-116)真值;3) (9BH)補=(-101)真值;4) (6BH)補=(+107)真值;解:1) (0CBH)原=(-75)真值;2) (8BH)反=(-116)真值;3) (9BH)補=(-101)真值;4) (6BH)補=(+107)真值;6. 試分別判斷下列各組數(shù)據(jù)大?。?)A=0.01
4、1B2)A=1001B B=0.011-1-2 C=0.011H -3B=1001 C=1001H 解:1)A=0.011B=0×2+1×2+1×2=0.25+0.125=0.375;B=0.011C=0.011H=0×16-1+1×16-2+1×16-3=0.004150390625所以:A>B>C2)A=1001B=9;B=1001;C=1001H=4097所以:A<B<C7.先將下列各組數(shù)據(jù)轉換為補碼表示的帶符號數(shù),然后用進行補碼運算,再將結果還原成原碼,并寫出對應的十進制數(shù)檢驗結果是否正確。1) (74
5、)412) (74)41解:根據(jù)補碼定義有:74(0B6H)補,41(29H)補,41(0D7H)補1)(74)+41補(74)補+(41)補(0B6H29H)補(0DFH)補(33)真值十進制數(shù)運算:(74)+4133所以:二者運算結果相同。2)(74)41補(74)補+(41)補(0B6H0D7H)補(8DH)補 (115)真值十進制數(shù)運算:(74)41=115所以:二者運算結果相同。8.何謂單片機?單片機有何特點?答:單片機(Single Chip Microcomputer)是指把CPU、RAM、ROM、定時器/計數(shù)器以及I/O接口電路等主要部件集成在一塊半導體芯片上的微型計算機。單片
6、機在控制應用領域中的特點:(1)體積小、結構簡單、可靠性高;(2)控制功能強;(3)低電壓、低功耗;(4)優(yōu)異的性價比。9.單片機內(nèi)部ROM的配置有幾種形式?答:單片機片內(nèi)ROM的配置狀態(tài)可分四種:(1)片內(nèi)掩膜(Mask)ROM型單片機(如8051),適合于定型大批量應用產(chǎn)品的生產(chǎn);(2)片內(nèi)EPROM型單片機(如8751),適合于研制產(chǎn)品樣機;(3)片內(nèi)無ROM型單片機(如8031),需外接EPROM,單片機擴展靈活,適用于研制新產(chǎn)品;(4)EEPROM(或Flash ROM)型單片機(如89C51),內(nèi)部程序存儲器電可擦除,使用更方便。第2章 MCS-51系列單片機的結構和時序18051
7、單片機內(nèi)包含哪些主要功能部件?各有什么功能?答:8051單片機是一個完整的單片微型計算機。它包括以下功能部件:(1)1個8位CPU;(2)片內(nèi)4KB的程序存儲器ROM;(3)片內(nèi)128B的數(shù)據(jù)存儲器RAM;(4)可尋址外部程序存儲器和數(shù)據(jù)存儲器空間各64KB的控制電路;(5)21個特殊功能寄存器SFR;(6)4個8位并行I/O口P0P3,共32根I/O線;(7)1個全雙工的串行口;(8)2個16位定時器/計數(shù)器;(9)5個中斷源,有2個優(yōu)先級嵌套中斷結構;(10)片內(nèi)振蕩器及時鐘電路。2.8051單片機的EA信號有何功能?8031的EA引腳應如何處理,為什么? 答:(1) EA是訪問外部程序存
8、儲器ROM的控制信號。 當EA為低電平(接地)時,CPU只執(zhí)行外部程序存儲器中的程序。 當EA為高電平且PC值小于0FFFH(4K)時,CPU執(zhí)行內(nèi)部程序存儲器的程序,但當PC的值超出4K時(對8051/8751/8951)將自動轉去執(zhí)行片外程序存儲器內(nèi)的程序。8031單片機無片內(nèi)ROM的,必須外部擴展程序存儲器,因此,8031的EA必須接地(低電平)。3MCS-51單片機的P0P3口各有什么特點?答:MCS-51單片機有P0、P1、P2、P3四個雙向的8位并行I/O口,每個端口可以按字節(jié)輸入或輸出,每一條I/O線也可以單獨用作輸入或輸出(即按位進行輸入或輸出)。每個端口都是由一個鎖存器(即特
9、殊功能寄存器P0P3),一個輸出驅動器和兩個(P3口為3個)輸入緩沖器組成。并行I/O口作輸出時數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖,但它們又各具特點。(1)P0口和P2口構成MCS-51單片機的16位地址總線,P0口還是8位的數(shù)據(jù)總線。P3口多用于第二功能輸入或輸出。通常只有P1口用于一般輸入/輸出。P3口各位的第二功能 (2)系統(tǒng)復位后,P0P3口的32個管腳均輸出高電平,因此在系統(tǒng)的設計過程中,應保證這些管腳控制的外設不會因為系統(tǒng)復位而發(fā)生誤動作。(3)P0P3口輸出級的電路結構有所不同。P0口是三態(tài)輸出,其每個管腳均可以驅動8個LSTTL輸入,而P1P3口的輸出級均有上拉電阻,每個管腳可
10、驅動4個LSTTL輸入。(4)每個并行口,可定義一部分管腳為輸入腳,另一部分管腳為輸出腳,沒有使用的管腳可以懸空。4.簡述8051單片機存儲器的組織結構和片內(nèi)RAM的地址空間分配。答:8051單片機的存儲器包括程序存儲器和數(shù)據(jù)存儲器,從用戶使用的角度可分為三個邏輯地址空間:(1)片內(nèi)、片外統(tǒng)一編址的64KB程序存儲器地址空間0000H0FFFFH;(2)64KB的外部數(shù)據(jù)存儲器或擴展I/O口地址空間0000H0FFFFH;(3) 256B的片內(nèi)數(shù)據(jù)存儲器地址空間00HFFH(包括低128B的內(nèi)部RAM地址00H7FH和高128B的特殊功能寄存器地址空間,21個SFR離散地分布在這個區(qū)域)。內(nèi)部
11、RAM共有128個單元,根據(jù)用途可劃分為工作寄存器區(qū)、位尋址區(qū)和通用RAM區(qū),各區(qū)域的特性如下:(1)工作寄存器區(qū)(00H1FH) 寄存器區(qū)32個單元共分4個組,每個組有8個8位的寄存器R0R7。在任何時刻,四個組中只能有一組可以成為當前工作寄存器組使用,其他三組作為一般的內(nèi)部RAM使用。當前工作寄存器組由程序狀態(tài)字寄存器PSW的RS0和RS1兩位的狀態(tài)來決定。(2)位尋址區(qū)( 20H2FH)共16個單元,每個單元有8個位,每個位都有一個位地址,編號為00H7FH,位尋址區(qū)的16個單元也可以按字節(jié)尋址,作為一般的內(nèi)部RAM使用。(3)通用RAM區(qū)(30H7FH) 這部分存儲空間作為一般的內(nèi)部R
12、AM區(qū)或堆棧區(qū),CPU只能按字節(jié)方式尋址。5.8051單片機有哪些特殊功能寄存器?答:8051單片機有21個8位的特殊功能寄存器(SFR),它們的地址離散地分部在內(nèi)部數(shù)據(jù)存儲器的80HFFH地址空間。在8051單片機結構中,21個SFR在物理上是分散在片內(nèi)各功能部件中:(1)CPU的中SFR:Acc、B、PSW、SP和DPTR(16位寄存器,由DPH和DPL組成);(2)定時/計數(shù)器單元中的寄存器:TMOD、TCON、T0(16位寄存器,由TH0和TL0組成)和T1(16位寄存器,由TH1和TL1組成);(3)并行I/O口寄存器:P0、P1、P2和P3;(4)中斷系統(tǒng)內(nèi)的寄存器:IE和IP;(
13、5)串行端口中的寄存器:SCON、SBUF和PCON。6程序計數(shù)器PC的功能和特點?答:程序計數(shù)器PC是一個16位的專用寄存器,用來存放即將要執(zhí)行的指令地址,可對64KB的程序存儲器直接尋址。它具有自動加1功能,當CPU要取指令時,PC的內(nèi)容送地址總線上,從存儲器中取出指令后,PC內(nèi)容則自動加1,指向下一條指令,從而保證程序按順序執(zhí)行。PC雖然也是CPU內(nèi)部的一個寄存器,但它在物理結構上是獨立的,沒有地址,是不可尋址的,用戶無法對它進行直接讀寫,不屬特殊功能寄存器。7什么叫堆棧?堆棧指針SP的作用是什么?8051單片機堆棧的最大容量是多少字節(jié)?答:堆棧是按照“先進后出,后進先出”的原則來存取數(shù)
14、據(jù)的一個內(nèi)部RAM區(qū)域,這個存儲器區(qū)域的一端是固定的(棧底),另一端是活動的(棧頂),每個存儲單元是不能按字節(jié)任意訪問的。堆棧指針SP始終指向棧頂單元,棧頂隨著數(shù)據(jù)入棧和出棧上下浮動。8051單片機堆棧的最大容量是128字節(jié)。88051單片機是如何確定和改變當前工作寄存器組?答:在任何時刻,8051單片機的四個工作寄存器組中只能有一組可以成為當前工作寄存器組使用,其他三組作為一般的內(nèi)部RAM使用。當前工作寄存器組由程序狀態(tài)字寄存器PSW的RS0和RS1兩位的狀態(tài)來決定,如表所示。的工作寄存器組。9單片機復位后,CPU使用了哪一組工作寄存器?工作寄存器R0R7對應的單元地址是什么?答:單片機復位
15、后,RS1和RS0都為0,CPU選中第0組作為當前工作寄存器組,工根據(jù)需要,用戶可以利用傳送指令或位操作指令改變RS1和RS0的內(nèi)容來選擇不同作寄存器R0R7對應的單元地址是00H07H。10程序狀態(tài)字寄存器PSW的作用是什么?各位的作用是什么?答:PSW是一個8位的特殊功能寄存器,由一些標志位組成,用于存放程序運行中的各種狀態(tài)信息。它可以進行位尋址。各位的作用如下:Cy:進位標志位。在進行加(或減)法運算時,若操作結果的最高位(D7位)有進位(或借位)時,Cy由硬件置1,否則Cy清0。在進行位操作時,Cy又是位累加器,指令助記符用C表示。AC:輔助進位標志位。在進行加(或減)運算時,若操作結
16、果的低半字節(jié)(D3位)向高半字節(jié)產(chǎn)生進位(或借位)時,AC位將由硬件自動置1,否則AC位清0。F0:用戶標志位。用戶根據(jù)需要對F0置位或復位,作為軟件標志。RS1和RS0:工作寄存器組選擇控制位。由用戶用軟件改變RS1和RS0的狀態(tài),以選擇內(nèi)RAM中的哪組工作寄存器為當前工作寄存器組。OV:溢出標志位。當進行補碼運算時,運算結果超出128127范圍時,產(chǎn)生溢出,則OV自動置1,否則OV清0。PSW.1:保留位。8051中未定義。P:奇偶校驗標志位。每條指令執(zhí)行完后,該位始終跟蹤累加器A中1的數(shù)目的奇偶性。如果A中有奇數(shù)個1,則P1;否則P0。11什么是時鐘周期、機器周期和指令周期?答:(1)時
17、鐘周期(又稱為振蕩周期)是指振蕩器產(chǎn)生一個振蕩脈沖信號所用的時間,是振蕩頻率的倒數(shù),稱為拍節(jié)。(2)機器周期是指CPU完成某一個規(guī)定操作所需的時間,8051單片機的一個機器周期包含6個狀態(tài),并依次表示為S1S6,每個狀態(tài)分為2個節(jié)拍。因此一個機器周期包含12個時鐘周期(振蕩周期),依次表示為:S1P1、S1P2、S2P1、S6P1、S6P2。(3)指令周期是指CPU執(zhí)行一條指令所需要的時間稱為指令周期。MCS-51單片機指令周期根據(jù)指令的不同,可包含有1或2或4個機器周期。128051單片機復位后寄存器PC、A、PSW、SP 、P0P3的狀態(tài)各是什么?復位后內(nèi)部RAM中的數(shù)據(jù)有何影響?答:80
18、51單片機復位后PC為0000H,A和PSW均為00H,SP為07H,P0P3均為FFH。單片機的復位不影響內(nèi)部RAM的狀態(tài)(包括工作寄存器Rn )。1380C51如何進入節(jié)電工作方式?答:只有CHMOS型單片機(如80C51)才有這種工作方式,有兩種節(jié)電方式,即待機方式和掉電保護方式。由片內(nèi)SFR中的電源控制寄存器PCON的低4位來控制待機和掉電兩種方式,其格式如下:(1)IDL:待機方式位。若IDL1,進入待機方式;(2)PD:掉電方式位。若PD1,進入掉電方式;當PD和IDL同時為1,則先進入掉電工作方式。復位后,PCON中有定義的位均為0。第3章 MCS-51系列單片機指令系統(tǒng)1簡述匯
19、編指令格式。答:匯編語言的指令格式一般如下:標號:操作碼 第一操作數(shù),第二操作數(shù),第三操作數(shù);注釋 其中:帶有方括號的部分代表可選項。標號:是表示該指令的符號地位,可以根據(jù)需要進行設置。標號以英文字母開始的16個字母或數(shù)字組成的字符串表示,并以“:”結尾。操作碼:是表示指令的操作功能,用助記符表示。每條指令都有操作碼,是指令的核心部分。操作數(shù):表示參與傳送、運算的數(shù)據(jù)或數(shù)據(jù)地址。這里的操作數(shù)不一定就是直接參與運算或傳送的,而應根據(jù)操作數(shù)的尋址方式,尋找出真正參與運算或傳送的數(shù)據(jù)。二個或二個以上操作數(shù)之間用“,”間隔。注釋:用來解釋該條指令或一段程序的功能,便于對指令或程序的閱讀理解。注釋以“;
20、”為開始,注釋部分對程序的執(zhí)行沒有影響。2什么叫尋址方式?在MCS51系列單片機指令系統(tǒng)中,主要有哪幾種尋址方式?試分別舉例說明。答:尋址就是尋找操作數(shù)的地址,尋找操作數(shù)地址的方式,稱為操作數(shù)地址的尋址方式,簡稱尋址方式。在MCS51系列單片機指令系統(tǒng)中,主要的尋址方式有:(1)立即尋址方式,指令如:MOV A,67H;(2)立即尋址方式,指令如:MOV A,66H;(3)寄存器尋址方,指令如:MOV A,R3;(4)寄存器間接尋址方式,指令如:MOV A,R1;(5)變址尋址方式,指令如:MOVC A,ADPTR;(6)相對尋址方式,指令如:SJMP 30H;(7)位尋址方式,指令如:MOV
21、 ACC.3,Cy3試說明下列指令中劃線部分的尋址方式。MOV A,R0ADD A,36HMOVC A,APCDJNZ R2,relSETB RS1CLR AMOV 45H,ACLR C解:第1條為寄存間接尋址方式;第2條指令為立即尋址方式;第3條指令為變址尋址方式;第4條指令為相對尋址方式,第5條指令為位尋址方式,第6條指令為寄存器尋址,第6條指令為直接尋址方式,第7條指令為位尋址方式。4設A9BH,R030H,內(nèi)RAM的(30H)40H,(40H)6DH,分別執(zhí)行下列指令,說明被真正傳送的數(shù)據(jù)是多少?1)MOV A,40H2)MOV 40H,R03)MOV A,30H4)MOV A,R05
22、)MOV A,R0答:1)真正被傳送的數(shù)據(jù)是立即數(shù)40H。2)真正被傳送的數(shù)據(jù)是R0間址中(即30H單元中)的數(shù)據(jù)40H。3)真正被 傳送的數(shù)據(jù)是30H單元中的數(shù)據(jù)40H。4)真正被傳送的數(shù)據(jù)是R0間址中(即30H單元中)的數(shù)據(jù)40H。5)真正被傳送的數(shù)據(jù)是R0中的數(shù)據(jù)30H。5設A86H,R030H,R140H,內(nèi)RAM的(30H)76H,(40H)6BH,執(zhí)行下面程序:MOV A,40HMOV R0,AMOV A,R0MOV R1,AMOV R1,AMOV R1,70H后,A ,R0 ,R1 ,(30H) ,(40H)解: MOV A,40H ;A=6BHMOV R0,A ;(R0)=(3
23、0H)=6BHMOV A,R0 ;A=30HMOV R1,A ;(R1)=(40H)=30HMOV R1,A ;R1=30HMOV R1,70H ;(R1)=(30H)=70H所以:A 30H ,R0 30H ,R1 30H ,(30H) 70H ,(40H) 30H6設A65H,R030H,R131H,R232H,內(nèi)RAM的(30H)40H,(31H)50H,(32H)60H,(40H)70H,(50H)80H,執(zhí)行下面程序:XCHD A,R1MOV 40H,ASWAP AMOV 50H,AXCH A,R2MOV R0,A后,A ,R0 ,R1 ,R2 ,(30H) ,(31H) ,(32H
24、) ,(40H) ,(50H)解: XCHD A,R1 ;A=60H,(R1)=(31H)=55HMOV 40H,A ;(40H)60HSWAP A ;A=06HMOV 50H,A ;(50H)=06HXCH A,R2 ;A=32H,R2=06HMOV R0,A ;(R0)=(30H)=32H所以:A 32H ,R0 30H ,R1 31H ,R2 06H ,(30H) 32H ,(31H) 55H ,(32H) 60H ,(40H) 60H ,(50H) 06H7執(zhí)行下面程序后,試問:A?ORG 1000HMOV DPTR,1020HMOV A,03HMOVC A,ADPTRRETORG 1
25、020HDB 56H,78H,65H,29H,10H解: ORG 1000HMOV DPTR,1020H ;DPTR=1020HMOV A,03H ;A=03HMOVC A,ADPTR ;A=(1023H)=29HRETORG 1020HDB 56H,78H,65H,29H,10H所以:A=29H8試用數(shù)據(jù)傳送指令來實現(xiàn)下列要求的數(shù)據(jù)傳送。1)將R2中的內(nèi)容送到R3中。2)將內(nèi)RAM 30H單元中的內(nèi)容與外RAM 2040H單元中的內(nèi)容交換。3)將ROM 2040H單元中的數(shù)據(jù)存放在內(nèi)RAM 50H單元中。4)將外RAM 30H單元中的內(nèi)容送到R2中。5)將R2與R3中的內(nèi)容進行交換。6)將R
26、OM 2100H單元中內(nèi)容送外RAM 3165H單元中。解:1) MOV A,R2MOV R3,A2) MOV DPTR 2040HMOVX A,DPTRMOV R1,AMOV A,30HMOVX DPTR,AMOV 30H,R13) MOV A,#00HMOV DPTR,#2040HMOVC A,A+DPTRMOV 50H,A4) MOV R0,#30HMOVX A,R0MOV R2,A5) XCH A,R2XCH A,R3XCH A,R26) MOV A,#00HMOV DPTR,#2100HMOVC A,A+DPTRMOV DPTR,#3165HMOVX DPTR,A9設A7EH,R04
27、0H,(40H)9AH,B23H,Cy=1。分別執(zhí)行下列指令后,試問:A?各標志位為什么狀態(tài)?1)ADD A,R02)ADDC A,R03)SWAP A4)XCH A,R05)INC A6)SUBB A,56H7)SUBB A,R08)RLC A9)RR A10)CPL A11)ANL A,R012)ORL A,8FH13)XRL A,40H14)ANL 40H,A15)ORL 40H,0F0H16)ANL A,0FH17)DEC A18)MUL AB19)DIV AB20)RRC A解:1)ADD A,R0AA(R0)A(40H)7EH9AH18H,Cy1,AC1,OV0,P02)ADDC
28、A,R0AAR0Cy7EH40H10BFH,Cy0,AC0,OV1,P13)SWAP AA0E7H4)XCH A,R0A(R0)(40H)9AH,(R0)(40H)A7EH,P05)INC AAA17EH17FH,P16)SUBB A,56HAA56HCy7EH56H127H,Cy0,AC0,OV0,P07)SUBB A,R0AAR0Cy7EH40H13DH,Cy0,AC0,OV0,P18)RLC AA11111101B0FDH,Cy0,P19)RR AA00111111B3FH,P010)CPL AA81H,P011)ANL A,R0AA(R0)A(40H)7EH9AH1AH,P112)OR
29、L A,8FHAA8FH7EH8FH0FFH,P013)XRL A,40HAA(40H)7EH9AH0E4H,P014)ANL 40H,A(40H)(40H)A9AH7EH1AH,A7EH15)ORL 40H,0F0H(40H)(40H)0F0H9AH0F0H0FAH,A7EH16)ANL A,0FHAA0FH7EH0FH0EH,P117)DEC AAA17EH17DH,P018)MUL ABA×B7EH×23H01111110B×00100011B0001 0001 0011 1010B113AH B11H,A3AH,OV1,P019)DIV ABA÷
30、B7EH÷23H0111 1110B÷0010 0011B0000 0011B余0001 0101B A03H,B15H,OV0,P020)RRC AA0BFH,Cy0,P110試編寫程序,要求將內(nèi)RAM 30H4FH中的內(nèi)容平移送到40H5FH中。 解:(參考程序)START:MOV R0,#4FHMOV R1,#5FHMOV R2,#20HLOOP:MOV A,R0MOV R1,ADEC R0DEC R1DJNZ R2,LOOPEND11試編寫程序,將內(nèi)RAM的30H4FH中的內(nèi)容清零。解:(參考程序)START:MOV R0,#30HCLR AMOV R2,#20HL
31、OOP:MOV R0,AINC R0DJNZ R2,LOOPEND12試編寫程序,在內(nèi)RAM的30H4FH中查找關鍵字0AH,若有,則將內(nèi)RAM的50H單元置為01H,并將找到的存放第一個關鍵字的單元地址存放在內(nèi)RAM的52H單元中。解:(參考程序)START:MOV R0,#30HMOV R2,#20HMOV 50H,#00HLOOP1:CJNE R0,#0AH,LOOP2MOV 50H,#01HMOV 52H,R0SJMP LOOP3LOOP2:INC R0DJNZ R2,LOOP1LOOP3:END13在內(nèi)RAM從30H到3FH單元中存放著符號數(shù),要求統(tǒng)計正數(shù)、零、負數(shù)的個數(shù),結果分別存
32、放在內(nèi)RAM的40H、41H、42H三個單元中。解:(參考程序)START:MOV R0,#30HMOV R2,#10HMOV 40H,#00HMOV 41H,#00HMOV 42H,#00HLOOP1:MOV A,R0JNZ LOOP2 ;判斷A是否為非0,非0轉移INC 41H ;零的個數(shù)統(tǒng)計量加1SJMP LOOP4LOOP2:JB ACC.7,LOOP3 ;判斷A是否為負數(shù),是負數(shù)則轉移INC 40H ;正數(shù)的個數(shù)統(tǒng)計量加1SJMP LOOP4LOOP3:INC 42H ;負數(shù)的個數(shù)統(tǒng)計量加1LOOP4:INC R0DJNZ R2,LOOP1END14分析執(zhí)行下面各段程序的結果。(1)
33、 ORG 1000HMOV A,34HADD A,78HDA ARETA ,OV ,P ,Cy ,AC 解: ORG 1000HMOV A,34H ;A34HADD A,78H ;AA78H34H78H0ACH,Cy=0,AC=0,OV=1,P=0 DA A ;AA66H0ACH66H12H,Cy=1,AC=0,OV=0,P=0 RET所以:A 12H ,OV 0 ,P 0 ,Cy 1 ,AC 0(2) MOV SP,5FHMOV A,54HMOV B,78HPUSH APUSH BPOP APOP BRETA ,B ,SP解: MOV SP,5FH ;SP=5FHMOV A,54H ;A=5
34、4HMOV B,78H ;B=78HPUSH A ;SP=60H,(SP)=(60H)=54HPUSH B ;SP=61H,(SP)=(61H)=78HPOP A ;A=(SP)=(61H)=78H,SP=60HPOP B ;B=(SP)=(60H)=54H,SP=5FHRET所以:A 78H ,B 54H ,SP 5FH(3) MOV A,7DHADD A,6BHMOV R0,34HMOV 34H,0BCHADDC A,R0XRL A,R0ORL A,34HMOV R0,ASWAP AXCH A,R0RETA ,R0 ,(34H)解: MOV A,7DH ;A=7DHADD A,6BH ;A
35、=7DH6BH=0E8H,Cy=0MOV R0,34H ;R0=34HMOV 34H,0BCH ;(34H)=0BCHADDC A,R0 ;A=A(R0)Cy=A(34H)Cy=0E8H0BCH0=0A4H,Cy=1 XRL A,R0 ;A=AR0=0A4H34H=90HORL A,34H ;A=A(34H)=90H0BCH=0BCHMOV R0,A ;(R0)=(34H)=A=0BCHSWAP A ;A=0CBHXCH A,R0 ;A=34H,R0=0CBHRET所以:A 34H ,R0 0CBH ,(34H) 0BCH(4) CLR CMOV A,55HMOV R0,23HLOOP1:AD
36、DC A,R0JNC LOOP1RETA ,R0解: CLR C ;Cy=0MOV A,55H ;A=55HMOV R0,23H ;R0=23HLOOP1:ADDC A,R0 ;(1)A=A+R0+Cy=78H,(2)A=9BH,(3)A=0BEH,(4)A=0E1H ;(5)A=04H,Cy=1JNC LOOP1RETA 04H ,R0 23H(5) ORG 2000HMOV A,00HMOV R2,09HLOOP1:ADD A,03HDA ADJNZ R2,LOOP1MOV 30H,ARETA ,R2 ,(30H)解: ORG 2000HMOV A,00H ;A=00HMOV R2,09H
37、 ;R2=09HLOOP1:ADD A,03H ;(1)A=03H,(2)A=06H,(3)A=09H,(4)A=0CH,(5)DA A ;(1) A=03H,(2)A=06H,(3)A=09H,(4)A=12H,(5) DJNZ R2,LOOP1;(1) R2=08H,(2)R2=07H,(3)R2=06H,(4)R2=05H,(5)MOV 30H,A ;(30H)=27HRETA 27H ,R2 00H ,(30H) 27H15對3-14(1)、(5)題進行手工匯編。 解:(1)16試編制能延時40ms的程序。 解: 設fosc=12MHz,則機器周期為1us。參考程序START:MOV
38、R0,#84H ;1個機器周期數(shù),R0=132MOV R1,#96H ;1個機器周期數(shù),R1=150LOOP1:DJNZ R1,LOOP1 ;2個機器周期數(shù)MOV R1,#64H ;1個機器周期數(shù) DJNZ R0,LOOP1 ;2個機器周期數(shù) RET ;2個機器周期數(shù)上述程序執(zhí)行的機器周期數(shù)為:11(2×15012)×132240000(個) 所以上述程序執(zhí)行的時間即為40ms。17試編制程序,實現(xiàn)123100?解:分析:進行十進制數(shù)加法,因此需要進行BCD碼調(diào)整,其中千位、百位數(shù)存放在31H單元,十位、個位數(shù)存放在30H單元中。參考程序START:MOV A,#00HMO
39、V R0,#01HMOV 31H,#00HLOOP1:ADD A,R0DA AJNC LOOP2INC 31HLOOP2:PUSH AMOV A,R0ADD A,#01HDA AJC LOOP3MOV R0,APOP ASJMP LOOP1LOOP3:POP AINC 31HMOV 30H,AEND18在內(nèi)RAM的30H3FH單元中存放著16個字節(jié)的無符號數(shù),要求比較大小,并按從大到小順序存放在內(nèi)RAM的30H3FH單元中。解:參考程序START:MOV R0,#30HMOV R2,#0FHLOOP1:MOV A,R0INC AMOV R1,ALOOP2:MOV A,R0CLR CSUBB A
40、,R1JNC LOOP2XCH A,R0XCH A,R1INC R1CJNE R1,#40H,LOOP2INC R0DJNZ R2,LOOP1END19編制程序實現(xiàn)下列邏輯功能:QXYZX解:參考程序START:X BIT P1.0Y BIT P1.1Z BIT P1.2Q BIT P1.3MOV C,YANL C,ZMOV F0,CMOV C,XANL C,/F0MOV F0,CMOV C,YANL C,/XANL C,/ZORL C,F0MOV Q,CEND20閱讀下面程序,分析執(zhí)行后的結果,并進行手工匯編。ORG 0100HMOV A,67HSETB ACC.7MOV C,ACC.2CP
41、L AMOV ACC.6,CCLR CSETB ACC.0MOV ACC.4,C解:(1)分析執(zhí)行結果ORG 0100HMOV A,67H ;A=67H=01100111B YZSETB ACC.7 ;A=11100111B MOV C,ACC.2 ;Cy=1 CPL A ;A=00011000B MOV ACC.6,C ;A=01011000B CLR C ;Cy=0 SETB ACC.0 ;A=01011001B MOV ACC.4,C ;A=01001001B所以結果:A49H,Cy=0 (2)人工匯編第4章 MCS-51系列單片機中斷系統(tǒng)與定時器計數(shù)器1計算機與外部設備實現(xiàn)數(shù)據(jù)傳送有哪
42、些方式?答:在計算機系統(tǒng)中,CPU與I/O接口傳送數(shù)據(jù)的控制方式主要有無條件傳送方式、條件傳送方式、中斷方式和存儲器直接存取方式(DMA方式)等四種。2什么叫中斷?采用中斷方式有些優(yōu)點?答:中斷是計算機的CPU暫停正在執(zhí)行的程序,轉而執(zhí)行提出中斷請求的那個外部設備或事件的服務程序(即中斷服務程序),待服務程序處理完畢后,再返回原來程序的過程。采用中斷方式的優(yōu)點:計算機引入中斷技術,解決了CPU與外設的速度匹配問題,提高了CPU的工作效率,同時使計算機具有分時處理功能、實時處理功能、故障處理功能等。3中斷響應的條件有哪些?簡敘中斷的響應步驟。答:中斷響應的條件有:(1)有中斷請求信號;(2)中斷
43、請求沒有被屏蔽;(3)中斷是開放的;(4)CPU在處理完現(xiàn)行指令后響應中斷;同時還要具備:(1)CPU沒有處理同級或更高級中斷;(2)正在執(zhí)行的指令不是RETI、也不是訪問IE和IP的指令。中斷響應的步驟是:(1)關中斷;(2)保存斷點;(3)保護現(xiàn)場;(4)轉入相應的中斷服務程序;(5)恢復現(xiàn)場;(6)開中斷;(7)中斷返回。4在MCS51單片機系統(tǒng)中,有哪些中斷源?響應這些中斷的服務程序入口地址分別是多少?如何合理安排中斷服務程序?答:在MCS51單片機系統(tǒng)中,中斷源有:(1)INT0:外部中斷0,中斷請求信號由P3.2輸入;(2)TF0:內(nèi)部定時器/計數(shù)器0溢出中斷;(3)INT1:外部
44、中斷1,中斷請求信號同P3.3輸入;(4)TF1:內(nèi)部定時器/計數(shù)器1溢出中斷;(5)TI或RI:串行口中斷請求,包括串行口接收中斷和串行口發(fā)送中斷。響應這些中斷的服務程序入口地址安排:(1)INT0:0003H;(2)TF0:000BH;(3)INT1:0013H;(4)TF1:001BH;(5)TI或RI:0023H。在安排中斷服務程序地址時,應該考慮中斷服務程序的字節(jié)數(shù),如果字節(jié)數(shù)小于等于8個字節(jié),則直接存放在從規(guī)定的入口地址開始的空間中,如果字節(jié)數(shù)大于8個字節(jié),則由于,各中斷服務程序只有8個字節(jié)空間,不能占用其它中斷服務程序的空間,因此在入口地址處放一條 LJMP XXXXH指令,真正
45、的中斷服務程序存放在以XXXXH開始的空間中。5在單片機復位后,IP和IE均為何值?這些值說明了什么?如果當前單片機系統(tǒng)只允許開放INT0和T0中斷源,且要求INT0、T1為高級中斷源,其余為低級中斷源,如何設置IP和IE的值?答:在單片機復位后,IP和IE均為00H。IP為00H,說明復位后,各中斷的優(yōu)先級均為低級優(yōu)先級;IE為00H,說明復位后,禁止所有的中斷源中斷,CPU也處于禁止響應中斷狀態(tài)。 如果當前單片機系統(tǒng)只允許開放INT0和T0中斷源,且要求INT0、T1為高級中斷源,其余為低級中斷源,則設置IP和IE的值的指令如下(參考):MOV IP,#09H ;IP只能字節(jié)操作MOV I
46、E,#83H ;IE還可能通過位操作指令實現(xiàn)END或MOV IP,#09H ;IP只能字節(jié)操作SETB ET0SETB EX0SETB EAEND6外部中斷有幾種觸發(fā)方式?如何選擇?答:外部中斷有兩種觸發(fā)方式,一種是電平觸發(fā)方式,另一種是下降沿觸發(fā)方式。 如果設置為電平觸發(fā)方式,則將TCON中的IT0或IT1清0,指令為:CLR IT0或CLR IT1;如果設置為下降沿觸發(fā)方式,則將TCON中的IT0或IT1置1,指令為: SETB IT0或SETB IT1。7什么叫中斷嵌套?答:如果CPU正在處理的是低級的中斷請求,那么高級的中斷請求可以使CPU暫停處理低級中斷請求的中斷服務程序,轉而處理高
47、級中斷請求的中斷服務程序,待處理完高級中斷請求的中斷服務程序后,再返回原低級中斷請求的中斷服務程序,這種情況稱為中斷嵌套。8定時器0和定時器1各有幾種工作方式?簡述之。答:定時器0的工作方式有方式0、方式1、方式2、方式3;定時器1的工作方式有方式0、方式1、方式2。工作方式0是13位定時計數(shù)器工作方式;工作方式1是16定時計數(shù)器工作方式;工作方式2是8位自動重裝定時計數(shù)器工作方式;工作方式3僅限于定時器0,是兩個8位定時計數(shù)器工作方式。9寫出TMOD的結構、各位名稱和作用。答:TMOD的結構:DTMOD(89H) 各位的名稱及作用如下:GATE:選通門控制位。當GATE=0時,由TRx啟動T
48、x工作;當GATE=1時,由TRx和INTx共同啟動Tx工作。C/T:定時器計數(shù)器選擇位。當C/T=0時,定時器狀態(tài);當C/T=1時,計數(shù)器狀態(tài)。 M1、MO:工作方式選擇位。當M1 M0=00時,方式0,13位定時計數(shù)器;當M1 M0=01時,方式1,16位定時計數(shù)器;當M1 M0=10時,方式2,8位自動重裝定時計數(shù)器; 當M1 M0=11時,方式3,分二個8位定時計數(shù)器。10已知單片機系統(tǒng)時鐘頻率fosc=6MHz,若要求定時時間分別為0.1ms、1ms、10ms,定時器0工作在方式0、方式1、方式2情況下,計算定時初值TH0、TL0分別為多少?解:由于fosc=6MHz,所以機器周期為
49、2us。(1)方式0:定時0.1ms:初值2131002=8192-50=8142=11111110 01110B,所以:TH00FEH,TL00EH定時1ms:初值210002=8192-500=7692=11110000 01100B,所以:TH00F0H,TL00CH定時10ms:初值213100002=8192-5000=3192=01100011 11000B,所以:TH063H,TL018H(2)方式1:定時0.1ms:初值2161002=65536-50=65486=11111111 11001110BFFCEH,所以:TH00FFH,TL00CEH定時1ms:初值210002=
50、65536-500=65036=11111110 00001100B=FE0CH,所以:TH00FEH,TL00CH定時10ms:初值216100002=65536-5000=60536=11101100 01111000B=EC78H,所以:TH00ECH,TL078H(2)方式2:定時0.1ms:初值281002=256-50=206=11001110BCEH,所以:TH00CEH,TL00CEH定時1ms:初值210002=256-500<0所以:在方式2時超出定時范圍,不能定時1ms。定時10ms:初值28100002=256-5000<0所以:同理在方式2時不能定時10m
51、s。 8161311要求在P1.7引腳輸出周期為20ms的方波。設單片機系統(tǒng)時鐘頻率fosc=12MHz。試編寫定時器初始化程序和中斷服務程序,并指定程序入口地址。解:根據(jù)題意,由于fosc=12MHz,所以機器周期為1us;由于要產(chǎn)生周期為20ms的方波,因此定時時間為10ms。設定采用定時器0,工作方式為方式1,TR觸發(fā)方式,則:TMOD=00H定時初值216100001=65536-10000=55536=01100011 11000B,TH0F0H,TL0C8H程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0ORG 0030HIT0:MOV TH0,#0
52、F0HMOV TL0,#0C8HCPL P1.7RETIORG 0100HMAIN:MOV TMOD,#00HMOV TH0,#0F0HMOV TL0,#0C8HSETB ET0SETB EASETB TR0LOOP:SJMP LOOPEND12要求將定時器T0和T1的外部信號輸入端P3.4和P3.5作為新增的二個外部中斷請求信號,如何設置計數(shù)初值?答:根據(jù)題意,就是控制要求外部中斷源2個太少,需要增加2個外部中斷源,因此將內(nèi)部的T0和T1的兩個中斷源改為外部中斷源,這兩個外部中斷源輸入口分別為P3.4和P3.5,此時只要將T0和T1設置為計數(shù)器工作狀態(tài),方式均設置為方式0,則它們的初值均為1
53、1111111 11111B,即TH0TH10FFH,TL0TL11FH,只要P3.4和P3.5有信號輸入,即使T0和T1生產(chǎn)中斷信號。13要求在P1.0引腳上輸出如圖4-16所示的波形。試編寫定時器初始化程序和中斷服務程序,并指定程序入口地址。圖 4-16解:根據(jù)題意,只要將定時時間為50us,并設定一個計數(shù)寄存器,當為0和4時對P1.0取反即可。假定本題采用T0,定時器工作狀態(tài),由TR0啟動,工作方式為方式2。則:TMOD00000010B02H,初值2850=256-50=206=11001110BCEH,TH00CEH,TL0=0CEH程序如下:ORG 0000HLJMP MAINOR
54、G 000BHLJMP IT0ORG 0030HIT0:CJNE R7,#00H,LOOP1SEBT P1.0LOOP1:CJNE R7,#01H,LOOP2CLR P1.0LOOP2:INC R7CJNE R7,#05H,LOOP3MOV R7,#00HLOOP3:RETIORG 0100HMAIN:MOV R7,#00HMOV TMOD,#02HMOV TH0,#0CEHMOV TL0,#0CEHSETB ET0SETB EASETB TR0LOOP:SJMP LOOPEND另一種方法,采用二個定時器T0和T1,工作方式均為方式2,TR觸發(fā)方式,其中T0定時時間為50us,T1定時時間為200us,二個定時器交替定時工作。則:TMOD22HT0定時初值28
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌年服務合同
- 北京體育賽事策劃及執(zhí)行合同
- 珠寶銷售買賣合同
- 建筑工程施工合作協(xié)議
- 新能源電動車充電站合作合同
- 機器人技術轉讓協(xié)議
- 公司銷售業(yè)務員合同協(xié)議
- 三農(nóng)村電商供應鏈管理與優(yōu)化方案
- 個體工商戶商鋪租賃合同
- 影視制作行業(yè)版權使用許可合同
- 應急指揮調(diào)度與指揮中心建設
- 《水電站繼電保護》課件
- 沈陽市第一屆“舒心傳技 莘紳向陽”職業(yè)技能大賽技術工作文件-27-全媒體運營師
- 2025年三方運輸合作協(xié)議經(jīng)典版(三篇)
- 2025年《贏在執(zhí)行》心得體會(4篇)
- 2025年華潤燃氣投資中國有限公司招聘筆試參考題庫含答案解析
- 2025年多彩貴州航空有限公司招聘筆試參考題庫含答案解析
- 安全生產(chǎn)網(wǎng)格員培訓
- 2025年江蘇泰州市住房和城鄉(xiāng)建設局下屬事業(yè)單位公開招聘工作人員歷年高頻重點提升(共500題)附帶答案詳解
- 深圳建筑工程公司財務管理制度
- 小紅書搜索推廣營銷師認證考試題(附答案)
評論
0/150
提交評論