版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、?單片機原理及應用?習題答案第一章 根底知識1微型計算機主要由哪幾局部組成?各局部有何功能?答:一臺微型計算機由中央處理單元CPU、存儲器、I/O接口及I/O設備等組成,相互之間通過三組總線Bus:即地址總線AB、數(shù)據(jù)總線DB和控制總線CB來連接。 CPU由運算器和控制器組成,運算器能夠完成各種算術(shù)運算和邏輯運算操作,控制器用于控制計算機進行各種操作。存儲器是計算機系統(tǒng)中的“記憶裝置,其功能是存放程序和數(shù)據(jù)。按其功能可分為RAM和ROM。輸入/輸出I/O接口是CPU與外部設備進行信息交換的部件??偩€是將CPU、存儲器和I/O接口等相對獨立的功能部件連接起來,并傳送信息的公共通道。2. 將以下十
2、進制數(shù)分別轉(zhuǎn)換成為二進制數(shù),十六進制數(shù)和BCD碼數(shù)的形式: 100,64,78,80解:1100=1100100B=64H=0001 0000 0000BCD;264=1000000B=40H=0110 0100BCD;378=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 3523H原=23H反=23H補;2 5032H原=32H反=32
3、H補;3 108AH原0F5H反0F6H補;4 2094H原0EBH反0ECH補; 解:10D5H=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.011B2A=1001B B=0.011-1-2 C=0.011H -3B=1001 C=1001H 解:1
4、A=0.011B=02+12+12=0.25+0.125=0.375;B=0.011C=0.011H=016-1+116-2+116-3=0.004150390625所以:ABC2A=1001B=9;B=1001;C=1001H=4097所以:ABC7.先將以下各組數(shù)據(jù)轉(zhuǎn)換為補碼表示的帶符號數(shù),然后用進行補碼運算,再將結(jié)果復原成原碼,并寫出對應的十進制數(shù)檢驗結(jié)果是否正確。1 74412 7441解:根據(jù)補碼定義有:740B6H補,4129H補,410D7H補174+41補74補+41補0B6H29H補0DFH補33真值十進制數(shù)運算:74+4133所以:二者運算結(jié)果相同。27441補74補+41
5、補0B6H0D7H補8DH補 115真值十進制數(shù)運算:7441=115所以:二者運算結(jié)果相同。8.何謂單片機?單片機有何特點?答:單片機Single Chip Microcomputer是指把CPU、RAM、ROM、定時器/計數(shù)器以及I/O接口電路等主要部件集成在一塊半導體芯片上的微型計算機。單片機在控制應用領(lǐng)域中的特點:1體積小、結(jié)構(gòu)簡單、可靠性高;2控制功能強;3低電壓、低功耗;4優(yōu)異的性價比。9.單片機內(nèi)部ROM的配置有幾種形式?答:單片機片內(nèi)ROM的配置狀態(tài)可分四種:1片內(nèi)掩膜MaskROM型單片機如8051,適合于定型大批量應用產(chǎn)品的生產(chǎn);2片內(nèi)EPROM型單片機如8751,適合于研
6、制產(chǎn)品樣機;3片內(nèi)無ROM型單片機如8031,需外接EPROM,單片機擴展靈活,適用于研制新產(chǎn)品;4EEPROM或Flash ROM型單片機如89C51,內(nèi)部程序存儲器電可擦除,使用更方便。第2章 MCS-51系列單片機的結(jié)構(gòu)和時序18051單片機內(nèi)包含哪些主要功能部件?各有什么功能?答:8051單片機是一個完整的單片微型計算機。它包括以下功能部件:11個8位CPU;2片內(nèi)4KB的程序存儲器ROM;3片內(nèi)128B的數(shù)據(jù)存儲器RAM;4可尋址外部程序存儲器和數(shù)據(jù)存儲器空間各64KB的控制電路;521個特殊功能存放器SFR;64個8位并行I/O口P0P3,共32根I/O線;71個全雙工的串行口;8
7、2個16位定時器/計數(shù)器;95個中斷源,有2個優(yōu)先級嵌套中斷結(jié)構(gòu);10片內(nèi)振蕩器及時鐘電路。2.8051單片機的EA信號有何功能?8031的EA引腳應如何處理,為什么? 答:(1) EA是訪問外部程序存儲器ROM的控制信號。 當EA為低電平接地時,CPU只執(zhí)行外部程序存儲器中的程序。 當EA為高電平且PC值小于0FFFH4K時,CPU執(zhí)行內(nèi)部程序存儲器的程序,但當PC的值超出4K時對8051/8751/8951將自動轉(zhuǎn)去執(zhí)行片外程序存儲器內(nèi)的程序。8031單片機無片內(nèi)ROM的,必須外部擴展程序存儲器,因此,8031的EA必須接地低電平。3MCS-51單片機的P0P3口各有什么特點?答:MCS-
8、51單片機有P0、P1、P2、P3四個雙向的8位并行I/O口,每個端口可以按字節(jié)輸入或輸出,每一條I/O線也可以單獨用作輸入或輸出即按位進行輸入或輸出。每個端口都是由一個鎖存器即特殊功能存放器P0P3,一個輸出驅(qū)動器和兩個P3口為3個輸入緩沖器組成。并行I/O口作輸出時數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖,但它們又各具特點。1P0口和P2口構(gòu)成MCS-51單片機的16位地址總線,P0口還是8位的數(shù)據(jù)總線。P3口多用于第二功能輸入或輸出。通常只有P1口用于一般輸入/輸出。P3口各位的第二功能 2系統(tǒng)復位后,P0P3口的32個管腳均輸出高電平,因此在系統(tǒng)的設計過程中,應保證這些管腳控制的外設不會因為
9、系統(tǒng)復位而發(fā)生誤動作。3P0P3口輸出級的電路結(jié)構(gòu)有所不同。P0口是三態(tài)輸出,其每個管腳均可以驅(qū)動8個LSTTL輸入,而P1P3口的輸出級均有上拉電阻,每個管腳可驅(qū)動4個LSTTL輸入。4每個并行口,可定義一局部管腳為輸入腳,另一局部管腳為輸出腳,沒有使用的管腳可以懸空。4.簡述8051單片機存儲器的組織結(jié)構(gòu)和片內(nèi)RAM的地址空間分配。答:8051單片機的存儲器包括程序存儲器和數(shù)據(jù)存儲器,從用戶使用的角度可分為三個邏輯地址空間:1片內(nèi)、片外統(tǒng)一編址的64KB程序存儲器地址空間0000H0FFFFH;264KB的外部數(shù)據(jù)存儲器或擴展I/O口地址空間0000H0FFFFH;3 256B的片內(nèi)數(shù)據(jù)存
10、儲器地址空間00HFFH包括低128B的內(nèi)部RAM地址00H7FH和高128B的特殊功能存放器地址空間,21個SFR離散地分布在這個區(qū)域。內(nèi)部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,位尋
11、址區(qū)的16個單元也可以按字節(jié)尋址,作為一般的內(nèi)部RAM使用。3通用RAM區(qū)30H7FH 這局部存儲空間作為一般的內(nèi)部RAM區(qū)或堆棧區(qū),CPU只能按字節(jié)方式尋址。5.8051單片機有哪些特殊功能存放器?答:8051單片機有21個8位的特殊功能存放器SFR,它們的地址離散地分部在內(nèi)部數(shù)據(jù)存儲器的80HFFH地址空間。在8051單片機結(jié)構(gòu)中,21個SFR在物理上是分散在片內(nèi)各功能部件中:1CPU的中SFR:Acc、B、PSW、SP和DPTR16位存放器,由DPH和DPL組成;2定時/計數(shù)器單元中的存放器:TMOD、TCON、T016位存放器,由TH0和TL0組成和T116位存放器,由TH1和TL1組
12、成;3并行I/O口存放器:P0、P1、P2和P3;4中斷系統(tǒng)內(nèi)的存放器:IE和IP;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)部的一個存放器,但它在物理結(jié)構(gòu)上是獨立的,沒有地址,是不可尋址的,用戶無法對它進行直接讀寫,不屬特殊功能存放器。7什么叫堆棧?堆棧指針SP的作用是什么?805
13、1單片機堆棧的最大容量是多少字節(jié)?答:堆棧是按照“先進后出,后進先出的原那么來存取數(shù)據(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使
14、用了哪一組工作存放器?工作存放器R0R7對應的單元地址是什么?答:單片機復位后,RS1和RS0都為0,CPU選中第0組作為當前工作存放器組,工根據(jù)需要,用戶可以利用傳送指令或位操作指令改變RS1和RS0的內(nèi)容來選擇不同作存放器R0R7對應的單元地址是00H07H。10程序狀態(tài)字存放器PSW的作用是什么?各位的作用是什么?答:PSW是一個8位的特殊功能存放器,由一些標志位組成,用于存放程序運行中的各種狀態(tài)信息。它可以進行位尋址。各位的作用如下:Cy:進位標志位。在進行加或減法運算時,假設操作結(jié)果的最高位D7位有進位或借位時,Cy由硬件置1,否那么Cy清0。在進行位操作時,Cy又是位累加器,指令助
15、記符用C表示。AC:輔助進位標志位。在進行加或減運算時,假設操作結(jié)果的低半字節(jié)D3位向高半字節(jié)產(chǎn)生進位或借位時,AC位將由硬件自動置1,否那么AC位清0。F0:用戶標志位。用戶根據(jù)需要對F0置位或復位,作為軟件標志。RS1和RS0:工作存放器組選擇控制位。由用戶用軟件改變RS1和RS0的狀態(tài),以選擇內(nèi)RAM中的哪組工作存放器為當前工作存放器組。OV:溢出標志位。當進行補碼運算時,運算結(jié)果超出128127范圍時,產(chǎn)生溢出,那么OV自動置1,否那么OV清0。PSW.1:保存位。8051中未定義。P:奇偶校驗標志位。每條指令執(zhí)行完后,該位始終跟蹤累加器A中1的數(shù)目的奇偶性。如果A中有奇數(shù)個1,那么P
16、1;否那么P0。11什么是時鐘周期、機器周期和指令周期?答:1時鐘周期又稱為振蕩周期是指振蕩器產(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)各是
17、什么?復位后內(nèi)部RAM中的數(shù)據(jù)有何影響?答:8051單片機復位后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位來控制待機和掉電兩種方式,其格式如下:1IDL:待機方式位。假設IDL1,進入待機方式;2PD:掉電方式位。假設PD1,進入掉電方式;當PD和IDL同時為1,那么先進入掉電工作方式。復位后,PCON中有定義的位均為0。第3章
18、MCS-51系列單片機指令系統(tǒng)1簡述匯編指令格式。答:匯編語言的指令格式一般如下:標號:操作碼 第一操作數(shù),第二操作數(shù),第三操作數(shù);注釋 其中:帶有方括號的局部代表可選項。標號:是表示該指令的符號地位,可以根據(jù)需要進行設置。標號以英文字母開始的16個字母或數(shù)字組成的字符串表示,并以“:結(jié)尾。操作碼:是表示指令的操作功能,用助記符表示。每條指令都有操作碼,是指令的核心局部。操作數(shù):表示參與傳送、運算的數(shù)據(jù)或數(shù)據(jù)地址。這里的操作數(shù)不一定就是直接參與運算或傳送的,而應根據(jù)操作數(shù)的尋址方式,尋找出真正參與運算或傳送的數(shù)據(jù)。二個或二個以上操作數(shù)之間用“,間隔。注釋:用來解釋該條指令或一段程序的功能,便于
19、對指令或程序的閱讀理解。注釋以“;為開始,注釋局部對程序的執(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位尋址方式,指令如:M
20、OV 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的30H40H,40H6DH,分別執(zhí)行以下指令,說明被真正傳送的數(shù)據(jù)是多少?1MOV A,40H2MOV 40H,R03MOV A,30H4MOV A,R05MOV A,
21、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的30H76H,40H6BH,執(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)=(30H)=6BHMOV A,R0 ;A=30HMO
22、V 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的30H40H,31H50H,32H60H,40H70H,50H80H,執(zhí)行下面程序:XCHD A,R1MOV 40H,ASWAP AMOV 50H,AXCH A,R2MOV R0,A后,A ,R0 ,R1 ,R2 ,30H ,31H ,32H ,40H ,50H解: XCHD A,R1 ;A=60H,(R1)=(31H)=55
23、HMOV 40H,A ;40H60HSWAP 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 1020HDB 56H,78H,65H,29H,10H解: ORG 1000HMOV DPTR,1020H ;DPTR=1
24、020HMOV 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將ROM 2100H單元中內(nèi)容送外RAM 3165H單元中。解:1 MOV A,R2MOV R3,A2) MOV DPTR 2040HM
25、OVX 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,R040H,40H9AH,B23H,Cy=1。分別執(zhí)行以下指令后,試問:A?各標志位為什么狀態(tài)?1ADD A,R02ADDC A,R03SW
26、AP A4XCH A,R05INC A6SUBB A,56H7SUBB A,R08RLC A9RR A10CPL A11ANL A,R012ORL A,8FH13XRL A,40H14ANL 40H,A15ORL 40H,0F0H16ANL A,0FH17DEC A18MUL AB19DIV AB20RRC A解:1ADD A,R0AAR0A40H7EH9AH18H,Cy1,AC1,OV0,P02ADDC A,R0AAR0Cy7EH40H10BFH,Cy0,AC0,OV1,P13SWAP AA0E7H4XCH A,R0AR040H9AH,R040HA7EH,P05INC AAA17EH17FH
27、,P16SUBB A,56HAA56HCy7EH56H127H,Cy0,AC0,OV0,P07SUBB A,R0AAR0Cy7EH40H13DH,Cy0,AC0,OV0,P18RLC AA11111101B0FDH,Cy0,P19RR AA00111111B3FH,P010CPL AA81H,P011ANL A,R0AAR0A40H7EH9AH1AH,P112ORL A,8FHAA8FH7EH8FH0FFH,P013XRL A,40HAA40H7EH9AH0E4H,P014ANL 40H,A40H40HA9AH7EH1AH,A7EH15ORL 40H,0F0H40H40H0F0H9AH0F0H
28、0FAH,A7EH16ANL A,0FHAA0FH7EH0FH0EH,P117DEC AAA17EH17DH,P018MUL ABAB7EH23H01111110B00100011B0001 0001 0011 1010B113AH B11H,A3AH,OV1,P019DIV ABAB7EH23H0111 1110B0010 0011B0000 0011B余0001 0101B A03H,B15H,OV0,P020RRC AA0BFH,Cy0,P110試編寫程序,要求將內(nèi)RAM 30H4FH中的內(nèi)容平移送到40H5FH中。 解:參考程序START:MOV R0,#4FHMOV R1,#5FHM
29、OV R2,#20HLOOP:MOV A,R0MOV R1,ADEC R0DEC R1DJNZ R2,LOOPEND11試編寫程序,將內(nèi)RAM的30H4FH中的內(nèi)容清零。解:參考程序START:MOV R0,#30HCLR AMOV R2,#20HLOOP:MOV R0,AINC R0DJNZ R2,LOOPEND12試編寫程序,在內(nèi)RAM的30H4FH中查找關(guān)鍵字0AH,假設有,那么將內(nèi)RAM的50H單元置為01H,并將找到的存放第一個關(guān)鍵字的單元地址存放在內(nèi)RAM的52H單元中。解:參考程序START:MOV R0,#30HMOV R2,#20HMOV 50H,#00HLOOP1:CJNE
30、 R0,#0AH,LOOP2MOV 50H,#01HMOV 52H,R0SJMP LOOP3LOOP2:INC R0DJNZ R2,LOOP1LOOP3:END13在內(nèi)RAM從30H到3FH單元中存放著符號數(shù),要求統(tǒng)計正數(shù)、零、負數(shù)的個數(shù),結(jié)果分別存放在內(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轉(zhuǎn)移INC 41H ;零的個數(shù)統(tǒng)計量加1SJMP LOOP4LOOP2:JB ACC.7,
31、LOOP3 ;判斷A是否為負數(shù),是負數(shù)那么轉(zhuǎn)移INC 40H ;正數(shù)的個數(shù)統(tǒng)計量加1SJMP LOOP4LOOP3:INC 42H ;負數(shù)的個數(shù)統(tǒng)計量加1LOOP4:INC R0DJNZ R2,LOOP1END14分析執(zhí)行下面各段程序的結(jié)果。1 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
32、,OV 0 ,P 0 ,Cy 1 ,AC 02 MOV SP,5FHMOV A,54HMOV B,78HPUSH APUSH BPOP APOP BRETA ,B ,SP解: MOV SP,5FH ;SP=5FHMOV A,54H ;A=54HMOV 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 5FH3 MOV A,7DHADD A,6
33、BHMOV 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=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)=(
34、34H)=A=0BCHSWAP A ;A=0CBHXCH A,R0 ;A=34H,R0=0CBHRET所以:A 34H ,R0 0CBH ,34H 0BCH4 CLR CMOV A,55HMOV R0,23HLOOP1:ADDC 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 23H5 ORG 2000HMOV
35、 A,00HMOV R2,09HLOOP1:ADD A,03HDA ADJNZ R2,LOOP1MOV 30H,ARETA ,R2 ,30H解: ORG 2000HMOV A,00H ;A=00HMOV R2,09H ;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)=27HRET
36、A 27H ,R2 00H ,30H 27H15對3-141、5題進行手工匯編。 解:116試編制能延時40ms的程序。 解: 設fosc=12MHz,那么機器周期為1us。參考程序START:MOV 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ù)為:11215012132240000個 所以上述程序執(zhí)行的時間即為40ms。17試編制程序,實現(xiàn)1231
37、00?解:分析:進行十進制數(shù)加法,因此需要進行BCD碼調(diào)整,其中千位、百位數(shù)存放在31H單元,十位、個位數(shù)存放在30H單元中。參考程序START:MOV A,#00HMOV 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單元中。解
38、:參考程序START:MOV R0,#30HMOV R2,#0FHLOOP1:MOV A,R0INC AMOV R1,ALOOP2:MOV A,R0CLR CSUBB A,R1JNC LOOP2XCH A,R0XCH A,R1INC R1CJNE R1,#40H,LOOP2INC R0DJNZ R2,LOOP1END19編制程序?qū)崿F(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,/Z
39、ORL C,F0MOV Q,CEND20閱讀下面程序,分析執(zhí)行后的結(jié)果,并進行手工匯編。ORG 0100HMOV A,67HSETB ACC.7MOV C,ACC.2CPL AMOV ACC.6,CCLR CSETB ACC.0MOV ACC.4,C解:1分析執(zhí)行結(jié)果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 AC
40、C.4,C ;A=01001001B所以結(jié)果:A49H,Cy=0 2人工匯編第4章 MCS-51系列單片機中斷系統(tǒng)與定時器計數(shù)器1計算機與外部設備實現(xiàn)數(shù)據(jù)傳送有哪些方式?答:在計算機系統(tǒng)中,CPU與I/O接口傳送數(shù)據(jù)的控制方式主要有無條件傳送方式、條件傳送方式、中斷方式和存儲器直接存取方式DMA方式等四種。2什么叫中斷?采用中斷方式有些優(yōu)點?答:中斷是計算機的CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行提出中斷請求的那個外部設備或事件的效勞程序即中斷效勞程序,待效勞程序處理完畢后,再返回原來程序的過程。采用中斷方式的優(yōu)點:計算機引入中斷技術(shù),解決了CPU與外設的速度匹配問題,提高了CPU的工作效率,同時
41、使計算機具有分時處理功能、實時處理功能、故障處理功能等。3中斷響應的條件有哪些?簡敘中斷的響應步驟。答:中斷響應的條件有:1有中斷請求信號;2中斷請求沒有被屏蔽;3中斷是開放的;4CPU在處理完現(xiàn)行指令后響應中斷;同時還要具備:1CPU沒有處理同級或更高級中斷;2正在執(zhí)行的指令不是RETI、也不是訪問IE和IP的指令。中斷響應的步驟是:1關(guān)中斷;2保存斷點;3保護現(xiàn)場;4轉(zhuǎn)入相應的中斷效勞程序;5恢復現(xiàn)場;6開中斷;7中斷返回。4在MCS51單片機系統(tǒng)中,有哪些中斷源?響應這些中斷的效勞程序入口地址分別是多少?如何合理安排中斷效勞程序?答:在MCS51單片機系統(tǒng)中,中斷源有:1INT0:外部中
42、斷0,中斷請求信號由P3.2輸入;2TF0:內(nèi)部定時器/計數(shù)器0溢出中斷;3INT1:外部中斷1,中斷請求信號同P3.3輸入;4TF1:內(nèi)部定時器/計數(shù)器1溢出中斷;5TI或RI:串行口中斷請求,包括串行口接收中斷和串行口發(fā)送中斷。響應這些中斷的效勞程序入口地址安排:1INT0:0003H;2TF0:000BH;3INT1:0013H;4TF1:001BH;5TI或RI:0023H。在安排中斷效勞程序地址時,應該考慮中斷效勞程序的字節(jié)數(shù),如果字節(jié)數(shù)小于等于8個字節(jié),那么直接存放在從規(guī)定的入口地址開始的空間中,如果字節(jié)數(shù)大于8個字節(jié),那么由于,各中斷效勞程序只有8個字節(jié)空間,不能占用其它中斷效勞
43、程序的空間,因此在入口地址處放一條 LJMP XXXXH指令,真正的中斷效勞程序存放在以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的值的指
44、令如下(參考):MOV IP,#09H ;IP只能字節(jié)操作MOV IE,#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正在處理的是低級的中斷請求,那么
45、高級的中斷請求可以使CPU暫停處理低級中斷請求的中斷效勞程序,轉(zhuǎn)而處理高級中斷請求的中斷效勞程序,待處理完高級中斷請求的中斷效勞程序后,再返回原低級中斷請求的中斷效勞程序,這種情況稱為中斷嵌套。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的結(jié)構(gòu)、各位名稱和作用。答:TMOD的結(jié)構(gòu):DTMOD(89H) 各位的
46、名稱及作用如下:GATE:選通門控制位。當GATE=0時,由TRx啟動Tx工作;當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情況下,計算定時初
47、值TH0、TL0分別為多少?解:由于fosc=6MHz,所以機器周期為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,TL018H2方式1:定時0.1ms:初值2161002=65536-50=65486=11111111 11001110BFFCEH,所以
48、:TH00FFH,TL00CEH定時1ms:初值210002=65536-500=65036=11111110 00001100B=FE0CH,所以:TH00FEH,TL00CH定時10ms:初值216100002=65536-5000=60536=11101100 01111000B=EC78H,所以:TH00ECH,TL078H2方式2:定時0.1ms:初值281002=256-50=206=11001110BCEH,所以:TH00CEH,TL00CEH定時1ms:初值210002=256-5000所以:在方式2時超出定時范圍,不能定時1ms。定時10ms:初值28100002=256-5
49、0000所以:同理在方式2時不能定時10ms。 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 IT0O
50、RG 0030HIT0:MOV TH0,#0F0HMOV 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ù)器工作
51、狀態(tài),方式均設置為方式0,那么它們的初值均為11111111 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程
52、序如下:ORG 0000HLJMP MAINORG 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ā)方
53、式,其中T0定時時間為50us,T1定時時間為200us,二個定時器交替定時工作。那么:TMOD22HT0定時初值2850=256-50=206=11001110BCEH,TH00CEH,TL0=0CEH T1定時初值28200=256-200=56=00111000B38H,TH038H,TL0=38H 程序如下:ORG 0000HLJMP MAINORG 000BHCLR TR0CLR P1.0SETB TR1RETIORG 001BHCLR TR1SETB P1.0SETB TR0RETIORG 0100HMAIN:MOV TMOD,#22HMOV TH0,#0CEHMOV TL0,#0
54、CEHMOV TH1,#38HMOV TL1,#38HSETB ET0SETB ET1SETB EASETB P1.0SETB TR0LOOP:SJMP LOOPEND14試編寫程序,使T1每計滿100個外部輸入脈沖后,使P0口輸出0FFH的數(shù)據(jù)。 解:根據(jù)題意,T1應為計數(shù)器工作狀態(tài),采用方式2,TR1啟開工作。那么:TMOD20H初值28100=256-100=156=10011100B9CH,TH09CH,TL0=9CH程序如下:ORG 0000HLJMP MAINORG 001BHMOV P0,#0FFHRETIORG 0100HMAIN:MOV TMOD,#20HMOV TH1,#9
55、CHMOV TL1,#9CHSETB ET1SETB EASETB TR1LOOP:SJMP LOOPEND第5章 存儲器擴展技術(shù)1只讀存儲器有哪幾種類型?其各自的特點是什么?答:只讀存儲器共分為以下五種:1掩膜ROM:掩膜ROM簡稱為ROM,其編程是由半導體存儲器制造廠家完成,即在生產(chǎn)過程中進行編程。掩膜ROM制造完成后,用戶不能更改其內(nèi)容。這種ROM芯片存儲結(jié)構(gòu)簡單,集成度高,但由于掩膜工藝本錢高,因此只適合于大批量生產(chǎn)。2可編程只讀存儲器:可編程只讀存儲器即PROM,這種芯片出廠時并沒有任何程序信息,其程序是在開發(fā)時由用戶寫入。但這種ROM芯片只能寫一次,其程序一旦寫入就不能再進行修改。
56、3紫外線擦除可改寫只讀存儲器:紫外線擦除可改寫只讀存儲器即EPROM,這種芯片的內(nèi)容也由用戶寫入,但允許進行屢次擦除和重新寫入。4電擦除可改寫只讀存儲器:電擦除可改寫只讀存儲器即EEPROM也寫成E2PROM,它是一種用電信號編程也用電信號擦除的ROM芯片,它可以通過讀寫操作進行逐個存儲單元的讀出和寫入,讀寫操作與RAM幾乎沒有什么差異。5閃速存儲器:閃速存儲器即Flash ROM,是在EPROM和E2PROM的根底上開展起來的一種只讀存儲器,讀寫速度均很快,存取時間可達70ns,存儲容量可達2KB16KB,近期甚至有1664MB的芯片出現(xiàn)。這種芯片的可改寫次數(shù)可以從1萬次到100萬次。閃速存
57、儲器(Flash Memory) 又稱PEROM,具有掉電后信息保存的特點,又可以在線寫入,自動覆蓋以前內(nèi)容,且可以按頁連續(xù)字節(jié)寫入。2隨機存取存儲器有哪幾種類型?其各有什么不同?答:隨機存取存儲器Random Access Memory簡稱RAM,在單片機系統(tǒng)中用于存放可隨時修改的數(shù)據(jù)。按半導體工藝不同,RAM分為MOS型和雙極型兩種。MOS型集成度高、功耗低,價格廉價,但速度較慢,雙極型的特點那么正好相反。按工作方式不同,RAM又可分為靜態(tài)RAMStatic Random Access Memory和動態(tài)RAMDynamic Random Access Memory兩種,簡稱SRAM和DR
58、AM。 動態(tài)RAM的集成度高,功耗小,價格低。38031與8051最小系統(tǒng)有什么不同?答:用8031芯片構(gòu)成最小應用系統(tǒng)時,由于片內(nèi)無駐留ROM,所以必須在片外擴展程序存儲器,這常常選用EPROM芯片。在擴展程序存儲器時,還必須接上地址鎖存器。8051/8751 片內(nèi)駐留4KB的掩膜ROM /EPROM,在構(gòu)成最小應用系統(tǒng)時,只要加上復位電路、時鐘電路、EA引腳接高電平,即可通電工作。4擴展存儲器時常用哪些片選方法?答:擴展存儲器時常用線選法、譯碼法兩種片選方法。5什么是地址空間重疊現(xiàn)象?答:存儲器芯片中的一個單元如0000H單元,就占居多個單元地址空間,如0000H、2000H、6000H、
59、8000H、0A000H、0C000H、0E000H,這就猶如8個單元地址空間重疊在一起,卻僅表示一個單元,這種現(xiàn)象稱為地址空間重疊現(xiàn)象,造成地址空間的資源浪費。6擴展存儲器時,為什么低8位地址要鎖存,而高8位地址不要鎖存?答:P0口作為低8位地址線/數(shù)據(jù)線 MCS51單片機的P0口,分時提供低8位地址信號和數(shù)據(jù)信號,在擴展系統(tǒng)中,要將P0口傳送的信號進行別離,以便構(gòu)成16位地址信號。因此在系統(tǒng)結(jié)構(gòu)中,需要增加一個8位鎖存器,先由鎖存器將地址總線中的低8位地址信號鎖存。以P2口作為高位地址線 P2口在整個機器周期內(nèi)提供的都是高8位地址信號,隨時與低8位地址信號一并構(gòu)成16位地址信號,使單片機擴
60、展系統(tǒng)尋址范圍到達64KB。7擴展存儲器時,鎖存器如果選擇74LS377,應怎樣處理?答:根據(jù)CPU時序得知,P0口輸出有效低8位地址信號時,ALE信號正好處于正脈沖頂部到下降沿時刻。通常選用高電平或下降沿為有效選通信號的鎖存器作為地址鎖存器,如74LS273、74LS373,鎖存器如果選擇74LS377那么需經(jīng)過反相后再作為選通信號。8對8031擴展程序存儲器時,EA如何連接,為什么? 答:EA接地,因為8031內(nèi)部無ROM。9試用兩片2732擴展8KB程序存儲器,根據(jù)以下要求,畫出電路圖,并確定各自的地址范圍:1用P2.7、P2.6片選;2用74LS139譯碼后片選;3用74LS138譯碼
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源汽車出口產(chǎn)品購銷合同范本4篇
- 2025年度棗樹種植基地綠色認證與市場拓展合同4篇
- 2025年度體育場館場地租賃合同終止及運營權(quán)轉(zhuǎn)讓協(xié)議3篇
- 2025年度體育用品代理銷售與售后服務協(xié)議4篇
- 2024通信信息保密協(xié)議1
- 2025年度智能化廠房整體轉(zhuǎn)讓合同書3篇
- 2024-2030年中國RNA聚合酶行業(yè)市場全景監(jiān)測及投資策略研究報告
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心服務合同模板2篇
- 2025不銹鋼管道系統(tǒng)安裝與維護服務合同3篇
- 2024運輸公司車輛全面保險合同6篇
- 大唐電廠采購合同范例
- 國潮風中國風2025蛇年大吉蛇年模板
- GB/T 18724-2024印刷技術(shù)印刷品與印刷油墨耐各種試劑性的測定
- IEC 62368-1標準解讀-中文
- 15J403-1-樓梯欄桿欄板(一)
- 2024年中考語文名句名篇默寫分類匯編(解析版全國)
- 新煤礦防治水細則解讀
- 故障診斷技術(shù)的國內(nèi)外發(fā)展現(xiàn)狀
- 醫(yī)院領(lǐng)導班子集體議事決策制度
- 解讀2024年《學紀、知紀、明紀、守紀》全文課件
- 農(nóng)機維修市場前景分析
評論
0/150
提交評論