單片機重點內(nèi)容復習_第1頁
單片機重點內(nèi)容復習_第2頁
單片機重點內(nèi)容復習_第3頁
單片機重點內(nèi)容復習_第4頁
單片機重點內(nèi)容復習_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一章 單片機概述 1.8051與8751的區(qū)別是內(nèi)部程序存儲器的類型不同。2.在家用電器中使用單片機應屬于微計算機的測量,控制功能。3. 除了單片機這一名稱之外,單片機還可稱為(微控制器)和(嵌入式控制器)。 4.單片機與普通計算機的不同之處在于其將(cpu)、(存儲器)和(I/O接口)三部分,通過內(nèi)部總線集成于一塊芯片。第二章 MCS-51 單片機的硬件結(jié)構(gòu) 2.2 說明 -51 單片機的引腳 EA的作用,該引腳接高低電平時各有何種功能? 答: EA為該引腳第一功能即外部程序存儲器訪問允許控制端。當該引腳為高電平時,單片機訪問片內(nèi)程序存儲器,但在PC (程序計數(shù)器) 值超過 0FFFH(對

2、于 8051、8751)時,即超出片內(nèi)程序存儲器的 4KB 地址范圍時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。 當該引腳為低電平時,單片機則只訪問外部程序存儲器,不論是否有內(nèi)部程序存儲器。2.5 MCS-51 單片機 5 個中斷源的中斷入口地址以及對應的中斷源。 答: 中斷源 入口地址 外部中斷 0 0003H 定時器 0(T0) 000BH 外部中斷 1 0013H 定時器 1(T1) 001BH 串行口 0023H 定時器0和1的中斷請求能自動撤銷,外部中斷0和1的跳沿方式的外部中斷請求是自動撤銷的,電平方式外部中斷除了標志位清零之外,必要時還需要把中斷請求信號輸入引腳,從低電平強制改變?yōu)?/p>

3、高電平2.6 內(nèi)部 RAM 中,位地址為 30H的位,該位所在字節(jié)的字節(jié)地址為(26H)。 2.7 若 A中的內(nèi)容為 63H,那么,P標志位的值為(0)。 2.9 8051 單片機復位后,R4 所對應的存儲單元的地址為(04H),因上電時 PSW=(00H)。這時當前的工作寄存器區(qū)是(0)組工作寄存器區(qū)。 2.14 通過堆棧操作實現(xiàn)子程序調(diào)用,首先就要把(PC)的內(nèi)容入棧,以進行斷點保護。調(diào)用返回時,再進行出棧保護,把保護的斷點送回到(PC)。 2.16MCS-51 單片機程序存儲器的尋址范圍是由程序計數(shù)器 PC 的位數(shù)所決定的,因為MCS-51的 PC 是 16 位的,因此其尋址的范圍為(6

4、4)KB。 2.17 當 89S51 單片機運行出錯,可通過復位來解決來擺脫困境?第三章 MCS-51的指令系統(tǒng) 3.2 在基址加變址尋址方式中,以(A)作變址寄存器,以(DPTR)或(PC)作基址寄存器3.3MCS-51共有哪幾種尋址方式? 答:共有7種尋址方式。(1)寄存器尋址方式 (2)直接尋址方式 (3)寄存器間接尋址方式 (4)立即尋址方式 (5)基址寄存器加變址寄存器間接尋址方式 (6)位尋址方式 (7)相對尋址方式 3.4 訪問 SFR,可使用哪些尋址方式? 答:一般采用直接尋址,對于 SFR 中字節(jié)地址能被 8 整除的 SFR 可以使用位尋址,對于 SFR中的 A、B、DPTR

5、 寄存器可以采用寄存器尋址。 3.5 指令格式是由(操作碼)和(操作數(shù))所組成也可能僅由(操作碼)組成。 3.6 假定累加器 A中的內(nèi)容為 30H,執(zhí)行指令: 1000H:MOVC A,A+PC 后,把程序存儲器(1031H)單元的內(nèi)容送入累加器中 3.7 在 MCS-51 中,PC和 DPTR 都用于提供地址,但 PC 是為訪問(程序)存儲器提供地址,而 DPTR 是為訪問(數(shù)據(jù))存儲器提供地址。 3.9 該程序段的功能是什么? PUSH A PUSH B POP A POP B 答:功能是 A、B 內(nèi)容互換3.11 假定 A=83H,(R0)=17H,(17H)=34H,執(zhí)行以下指令: A

6、NL A,#17H ORL 17H,A XRL A,R0 CPL A 后,A的內(nèi)容為(0CBH) 3.12 假設(shè) A=55H,R3=0AAH,在執(zhí)行指令后 ANL A,R3 后, A=(00H), R3=(0AAH) 3.13 如果 DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后: POP DPH POP DPL POP SP 則:DPH=(3CH) DPL=(5FH) SP=(4FH) 3.14 假定 SP=60H,A=30H,B=70H,執(zhí)行下列指令: PUSH A PUSH B 后,SP的內(nèi)容為(62H),61H單元的內(nèi)容

7、為(30H),62H單元的內(nèi)容為(70H)。 第四章 MCS-51匯編語言程序設(shè)計 用于程序設(shè)計的語言基本上分為三種:機器語言、匯編語言和高級語言。 4.3 試編寫1個程序,將內(nèi)部 RAM中 45H單元的高 4 位清0,低 4 位置1。 解: MOV A,45H ANL A,#0FH ORL A,#0FH第五章 MCS-51 的中斷系統(tǒng) 5.1 什么是中斷系統(tǒng)? 答:能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng)。 5.3 外部中斷1 所對應的中斷入口地址為(0013H)。 5.4各中斷源發(fā)出的中斷請求信號,都會標記在 MCS-51系統(tǒng)的 TCON 和 SCON 寄存器中。 5.6 中斷查詢確認后,在

8、下列各種 8051 單片機運行情況中,能立即進行響應的是(D) 當前指令是 MOV A,R3 5.7 8051 單片機響應中斷后,產(chǎn)生長調(diào)用指令 LCALL,執(zhí)行指令的過程包括:首先把(PC)的內(nèi)容壓入堆棧,以進行斷點保護,然后把長調(diào)用指令的 16 位地址送(PC),使程序執(zhí)行轉(zhuǎn)向(響應中斷請求的中斷入口的地址)中的中斷地址區(qū)。5.9 在 MCS-51 中需要外加電路實現(xiàn)中斷撤除的是電平方式的外部中斷 5.11、中斷子程序流程圖中斷服務子程序入口關(guān)中斷現(xiàn)場保護開中斷中斷處理關(guān)中斷現(xiàn)場恢復開中斷中斷返回(注意加方框和箭頭)第六章 MCS-51 的定時器中斷/計數(shù)器 6.1 如果采用的晶振的頻率為

9、 3MHZ,定時器/計數(shù)器工作在方式 0、1、2下,其最大的定時時間各為多少? 答:因為機器周期:所以定時器/計數(shù)器工作方式0下,其最大定時時間為同樣可以求得方式1下的時間為262.144ms;方式2下的最大時間為1024ms。6.4計算計數(shù)初值X 機器周期=2us=2×10(-6) 設(shè)裝入T0的初值為X,則有(2的16次方-X)×2×10的-6次方=1×10的-3次方 X=65036一個定時器的定時時間有限,如何實現(xiàn)兩個兩個定時器的串行定時,來實現(xiàn)較長時間的定時?答:方法1,在第一個定時器的中斷程序里關(guān)閉本定時器的中斷程序,設(shè)置和打開另一個定時器;在另

10、一個定時器的中斷程序中關(guān)閉本定時中斷,設(shè)置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。方法2,一個作為定時器,在定時中斷后產(chǎn)生一個外部計數(shù)脈沖(比如由P1.0接產(chǎn)生),另一個定時器工作在計數(shù)方式。這樣兩個定時器的定時時間為一個定時器的定時時間乘以另一個定時器的計數(shù)值。第七章 MCS-51 的串行口 7.2通過串行口發(fā)送或接收數(shù)據(jù)時,在程序中應使用: (C)MOV指令7.3設(shè)定時器T1 方式2 的初值為X,則有: 定時器T1 的溢出率=計數(shù)速率/(256-X)=Fosc/(256-X)×12 則方式 2 的波特率=2smod / 32×F osc/(256

11、-X)×12 7 串行口工作方式 1 的波特率是可變得通過定時器/計數(shù)器 T1 的溢出率設(shè)定。7.5 在串行通訊中,收發(fā)雙方對波特率的設(shè)定應該是相同的。 第八章 MCS-51 單片機擴展存儲器的設(shè)計 8.3 假設(shè)外部數(shù)據(jù)存儲器 2000H單元的內(nèi)容為 80H,執(zhí)行下列指令后: MOV P2,#20H MOV R0,#00H MOVX A,R0 累加器A中的內(nèi)容為(80H) 。8.4 區(qū)分MCS-51單片機片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是: 看其是與/RD信號連接還是與/PSEN 信號連接8.6 起始范圍為 0000H-3FFFH的存儲器的容量是(16) KB 8.7 在

12、MCS-51 中,PC 和DPTR 都用于提供地址,但PC是為訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器 8.8 根地址線可選(2048)個存儲單元,16KB存儲單元需要(14)根地址線 8.12 32KB RAM存儲器的首地址若為 2000H,則末地址為(0FFFF)H 在51單片機系統(tǒng)中,外接程序存儲器和數(shù)據(jù)存儲器共16位地址線和8位數(shù)據(jù)線,為何不會發(fā)生沖突?答:因為控制信號線的不同:外擴的RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為OE*和WE*。外擴RAM的讀、寫控制引腳分別與AT89S51的RD*和WR*引腳相連。外擴的EPROM在正常使用中只能讀出,

13、不能寫入,故EPROM芯片沒有寫入控制引腳,只有讀出引腳,記為OE*,該引腳與AT89S51單片機的PSEN*相連。編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H-50FFH單元全部清零MOVDPTR,#5000H;設(shè)置數(shù)據(jù)指針的初值 MOVR7,#00H ;設(shè)置塊長度計數(shù)器的初值 CLR ALOOP:MOVXDPTR,A;給一單元送00HINCDPTR;地址指針加1DJNZR7,LOOP;數(shù)據(jù)塊長度減1HERE: SJMP HERE ;執(zhí)行完畢,原地踏步第九章 MCS-51擴展 I/O 接口的設(shè)計 9.3 I/O 數(shù)據(jù)傳送有哪幾種方式? 答:I/O數(shù)據(jù)傳送的幾種方式是:同步傳送、異步傳送和中斷傳送9.

14、5 假設(shè) 8155H 的TIMERIN 引腳輸入的頻率為 4MHz?問 8155H的最大定時時間是多少? 答:T=2 14*(1/4MHz)=4096 s。 9.11MCS-51 的并行接口的擴展有多種方法,在什么情況下,采用擴展 8155H 比較合適?什么情況下,采用擴展 8255A 比較適合? 答: 需擴展RAM和I/O需用 8155H,僅擴展I/O用 8255H 第十章 MCS-51 與鍵盤、顯示器的接口設(shè)計 101 LED 的靜態(tài)顯示方式與動態(tài)顯示方式有何區(qū)別?各有什么優(yōu)缺點? 答:靜態(tài)顯示時,數(shù)據(jù)是分開送到每一位LED上的。而動態(tài)顯示則是數(shù)據(jù)是同時送到每一個LED上,再根據(jù)位選線來確

15、定是哪一位LED被顯示。靜態(tài)顯示亮度很高,但口線占用較多。動態(tài)顯示口線占用較少,適合用在顯示位數(shù)較多的場合。第十一章 MCS-51 單片機與 A/D、D/A 轉(zhuǎn)換器的接口 11.1 對于電流輸出的D/A轉(zhuǎn)換器,為了得到電壓的轉(zhuǎn)換結(jié)果,應使用(由運算放大器構(gòu)成的電流/電壓轉(zhuǎn)換電路) 11.2 D/A 轉(zhuǎn)換器的主要性能指標有哪些?設(shè)某 DAC 為二進制12 位,滿量程輸出電壓為 5V,試問它的分辨率是多少? 答:D/A轉(zhuǎn)換器的主要性能指標:分辨率、建立時間、精度。 它的分辨率為:5V/2 = 1.220703125mv。 1211.3 使用雙緩沖方式的D/A轉(zhuǎn)換器,可以實現(xiàn)多路模擬信號的(同時)輸

16、出 11.4 分析 A/D 轉(zhuǎn)換器產(chǎn)生量化誤差的原因, 1個8位的A/D轉(zhuǎn)換器, 當輸入電壓為 0-5V 時,其最大的量化誤差是多少? 答:量化誤差是由于有限位數(shù)字且對模擬量進行量化而引起的;最大的量化誤差為0.195%;五、簡述MCS-51系列單片機主從結(jié)構(gòu)多機通信原理,設(shè)有一臺主機與三臺從機通信,其中一臺從機通信地址號為01H,請敘述主機呼叫從機并向其傳送一個字TXDRXD8031主機TXD RXD 00HTXD RXD01HTXD RXD 02HTXD RXD 03H從機 從機 從機 從機答:原理圖如上圖所示,假設(shè)主機呼叫01H從機,首先呼叫:主機發(fā)送地址幀0000 00011(TB8)

17、此時各從機的SM2位置1,且收到的RB8=1,故激活RI。各從機將接收到的地址與地機地址比較,結(jié)果1#機被選中,則其SM2清零;0#、2#機不變。接著傳數(shù);主機發(fā)送數(shù)據(jù)幀,×××× ×××× 0 ,此時1#機SM2=0, RB8=0 則激活RI,而0#,2#機SM2=1,RB8=0則不激活RI,然后數(shù)據(jù)進入1#機的緩沖區(qū)。六、簡述一種多外部中斷源系統(tǒng)的設(shè)計方法。(給出圖和程序)(10分)答:原理電路如圖所示程序如下:INT:PUSH PSW PUSHJNB P1.0, IR0 ;掃描中斷請求JNB P1.1 , I

18、R1JNB P1.2, IR2JNB P1.3, IR3INTIR:POP ; POPSWIR0: 中斷服務子程序 ;中斷服務 AJMP INTIRIR1: 中斷服務子程序 AJMP INTIRIR2: 中斷服務子程序 AJMP INTIRIR3: 中斷服務子程序 AJMP INTIP七、簡述行列式掃描鍵盤的工作原理。答: 首先X0X3,始終接高電平,Y0Y3給低電平,掃描P1.0P1.3若全為高電平,則沒有鍵按下,若有低電平,則有鍵按下。接著Y0輸出低電平,Y1Y3輸出高平,掃描P1.0P1.3,若全為高電平,則沒有鍵按下,若有低電平,則找出相位,得到所按的鍵。再Y1輸出低電平,Y0,Y2,

19、Y3輸出高電平,重復第2 步驟作.再Y2輸出低電平,Y0,Y1,Y3輸出高電平掃描再Y3輸出低電平,Y0,Y1,Y2輸出高電平掃描根據(jù)據(jù)以上掃描,確定以上各鍵是否按下。1、下圖中外部擴展的數(shù)據(jù)存儲器容量是多少?(2分)2、三片6264的地址范圍分別是多少?(地址線未用到的位填1)(6分,)3、若外部程序存儲器已擴展(未畫出),請編寫程序,要求:(1) 將30H3FH中的內(nèi)容送入6264 1# 的前16個單元中;(6分)(2) 將6264 2# 的前32個單元的內(nèi)容送入40H5FH中;(6分) 解:1.外部擴展的數(shù)據(jù)存儲器為3片8K的RAM,外擴容量為24 K2. A15 A!4 A13 地址范

20、圍 0 1 1 6000H7FFFH 1 0 1 A000HBFFFH 3(1)程序如下: ORG 0000H RESET:AJMP MAIN ; ORG 0100HMAIN: MOV DPL,#00H ; MOV DPH,#60H MOV R0,#30H. ;LOOP: MOV A,R0MOVX DPTR, A INC R0 INC DPTR CJNE R0,#40H,LOOP NOP RET(1) 程序如下:ORG 0000HRESET:AJMPMAIN ; ORG0100HMAIN: MOVDPL#00H MOVDPH,#0A0HMOVR0,#40H ;LOOP2: MOVXA,DPTR

21、 MOVR0,A INC DPTR INC R0 CJNE R0,#60H,LOOP2 NOP RET 2中斷服務子程序返回指令RETI和普通子程序返回指令RET有什么區(qū)別?答:RETI除了將壓棧的內(nèi)容出棧外(即現(xiàn)場恢復),還清除在中斷響應時被置1的AT89S51內(nèi)部中斷優(yōu)先級寄存器的優(yōu)先級狀態(tài)。指出以下程序段每一條指令執(zhí)行后累加器A內(nèi)的值,已知(R0)30H。MOV A,0AAH ;(A)= 0AAHCPLA ;(A)= 55HRL A ;(A)= 0AAHCLR C ;(A)= 0AAHADDC A,R0 ;(A)= 0DAH四、下圖是四片2K×8位存儲器芯片的連線圖。(1)確定

22、四片存儲器芯片地址范圍,要求寫出必要的推導過程。(2)編程將片內(nèi)RAM 30H4FH單元中的32個字節(jié)數(shù)據(jù)傳送到片外RAM 左數(shù)第一塊芯片的最低端32個字節(jié)單元答:(1) 設(shè)從左至右RAM芯片號為#1,#2,#3,#4芯片A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范圍 #11 00 0 0 0 0 0 0 0 0 0 0 0 0 0低8000H(1分)1 00 0 01 1 1 1 1 1 1 1 1 1 1高87FFH(1分)#21 00 0 10 0 0 0 0 0 0 0 0 0 0低8800H(1分)1 00 0 11 1 1 1 1 1 1 1

23、1 1 1高8FFFH(1分)#31 00 1 00 0 0 0 0 0 0 0 0 0 0低9000H(1分)1 00 1 01 1 1 1 1 1 1 1 1 1 1高97FFH(1分)#41 00 1 10 0 0 0 0 0 0 0 0 0 0低9800H(1分)1 00 1 11 1 1 1 1 1 1 1 1 1 1高9FFFH(1分)(2)ORG 1000HMOVDPTR,#8000H;MOVR0,#20H;MOVR1,#30H;LOOP:MOVA,R1;MOVXDPTR,A;INCDPTR;INCR1;DJNZR0,LOOP;HERE:RET ;七、回答下列問題并寫出簡要分析過

24、程。左下圖是DAC0832的應用電路,DA轉(zhuǎn)換時數(shù)字量FFH與00H分別對應于模擬量+5V與0V。右下圖給出了DAC0832的邏輯結(jié)構(gòu)。(1)將圖中空缺的電路補充完整;(2)編寫程序,產(chǎn)生圖中所示鋸齒波。設(shè)有一個延時3.905ms的子程序DELAY可以直接調(diào)用。 (2) ORG 1000HMOVR0,#0FEH;MOVA,#00H;LOOP:MOVXR0,A;INCA;LCALLDELAY;SIMPLOOP;MCS51單片機片內(nèi)256B的數(shù)據(jù)存儲器可分為幾個區(qū)?分別作什么用?答:(1)通用工作寄存器區(qū),00H 1FH,共4組,R0-R7,在程序中直接使用(2)可位尋址區(qū),20H-2FH,可進行

25、位操作,也可字節(jié)尋址(3)用戶RAM區(qū),30H-7FH,只可字節(jié)尋址,用于數(shù)據(jù)緩沖及堆棧區(qū)(4)特殊功能寄存器區(qū),80H-FFH,21個特殊功能寄存器離散地分布在該區(qū)內(nèi),用于實現(xiàn)各種控制功能5. MCS-51系列單片機的基本芯片分別為哪幾種?它們的差別是什么? 答:基本芯片為 8031、8051、8751。 8031 內(nèi)部包括1個8 位cpu、128BRAM,21個特殊功能寄存器(SFR)、4 個 8 位并行I/O口1個全雙工串行口2個16位定時器/計數(shù)器,但片內(nèi)無程序存儲器,需外擴 EPROM芯片。 8051 是在 8031 的基礎(chǔ)上,片內(nèi)又集成有 4KBROM,作為程序存儲器,是 1 個程

26、序不超過 4KB 的小系統(tǒng)。 8751 是在 8031 的基礎(chǔ)上,增加了 4KB 的 EPROM,它構(gòu)成了 1 個程序小于 4KB的小系統(tǒng)。用戶可以將程序固化在 EPROM 中,可以反復修改程序。2.1 MCS-51單片機的片內(nèi)都集成了哪些功能部件?各個功能部件的最主要的功能是什么? 答:功能部件如下:微處理器(CPU) ;數(shù)據(jù)存儲器(RAM);程序存儲器(ROM/EPROM,8031 沒有此部件),4 個8 位并行 I/O口(P0 口、P1 口、P2 口、P3 口);1個全雙工的串行口; 2個 16位定時器/計數(shù)器;中斷系統(tǒng);21 個特殊功能寄存器(SFR)。 各部件功能:CPU(微處理器)

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

28、 2.11內(nèi)部RAM 中,哪些單元可作為工作寄存器區(qū),哪些單元可以進行位尋址?寫出它們的字節(jié)地址。 答:地址為 00H-1FH 的 32 個單元是4組通用工作寄存器區(qū),每個區(qū)包括 8 個8 位工作寄存器,編號為 R0-R7。字節(jié)地址為 20H-2FH 的 16 個單元可進行 128 位的位尋址,這些單元構(gòu)成了 1 位處理機的存儲器空間。位地址范圍是 00H-7FH。 2.15 寫出 P3口各引腳的第二功能。 答: 口引腳 第二功能定義 P3.0 串行輸入口 P3.1 串行輸出口 P3.2 外部中斷 0 P3.3 外部中斷 1 P3.4 定時器 0 外部計數(shù)輸入 P3.5 定時器 1 外部計數(shù)輸

29、入 P3.6 外部數(shù)據(jù)存儲器寫選通 P3.7 外部數(shù)據(jù)存儲器讀選通3.10 已知程序執(zhí)行前有 A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下列程序執(zhí)行后: POP DPH POP DPL MOV DPTR,#4000H RL A MOV B,A MOVC A,A+DPTR PUSH A MOV A,B INC A MOVC A,A+DPTR PUSH A RET ORG 4000H DB 10H,80H,30H,50H,30H,50H A=50H SP=50H (51H)=30H (52H)=50H PC=5030H 4.1 下列程序段經(jīng)匯編后,從 1000H開始的各有關(guān)

30、存儲單元的內(nèi)容將是什么? ORG 1000H TAB1 EQU 1234H TAB2 EQU 3000H DB “MAIN” DW TAB1,TAB2,70H 答:(1000H)=M(1001H)=A(1002H)=I(1003H)=N(1004H)=34H (1005H)=12H(1006H)=00H (1007H)=30H(1008H)=70H (1009H)=00H 4.2 設(shè)計子程序時注意哪些問題? 答:(1)子程序的第一條指令的地址稱為子程序的入口地址。該指令前必須有標號。 (2)主程序調(diào)用子程序,是通過主程序或調(diào)用程序中的調(diào)用指令來實現(xiàn)的。 (3)注意設(shè)置堆棧指針和現(xiàn)場保護,因調(diào)用

31、子程序時,要把斷點壓入堆棧,子程序返回執(zhí)行 RET 指令時再把斷點彈出堆棧送入 PC 指針,因此子程序結(jié)構(gòu)中必須用堆棧。 (4) 子程序返回主程序時,最后一條指令必須是 RET 指令,它的功能是在執(zhí)行調(diào)用指令時,把自動壓入堆棧中的斷點地址彈出送入 PC 指針中,從而實現(xiàn)子程序返回主程序斷點處繼續(xù)執(zhí)行主程序。 (5)子程序可以嵌套,即主程序可以調(diào)用子程序,子程序又可以調(diào)用另外的子程序,通常情況下可允許嵌套 8 層。 (6)在子程序調(diào)用時,還要注意參數(shù)傳遞的問題。 4.4 已知程序執(zhí)行前有 A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序執(zhí)行后 POP DPH POP D

32、PL MOV DPTR,#3000H A=80H SP=40H (41H)=50H (42H)=80H PC=8050H。 5.2 什么是中斷源?MCS-51 有哪些中斷源?各有什么特點? 答:產(chǎn)生中斷的請求源稱為中斷源。MCS-51中斷系統(tǒng)共有 5 個中斷請求源:(1)外部中斷請求 0,中斷請求標志為 IE0。(2)外部中斷請求 1,中斷請求標志為 IE1。(3)定時器/計數(shù)器 T0 溢出中斷請求,中斷請求標志為 TF0。(4)定時器/計數(shù)器 T1 溢出中斷請求,中斷請求標志為 TF1。(5)串行口中斷請求,中斷請求標志為 TI 或 RI。特點:2 個外部中斷源,3 個內(nèi)部中斷源。 假設(shè)允許

33、外部終端0中斷,設(shè)定為高級中斷,采用跳沿觸發(fā)方式,其他中斷原為低級中斷SETB EA SETB EX0 SETB PXO SETB IT05.8 編寫出外部中斷 1 為跳沿觸發(fā)的中斷初始化程序。 ORG 0000H AJMP MAIN ORG 0013H AJMP PINT1 ORG 0100H MAIN: SETB IT1 SETB EX1 SETB EA HERE: AJMP HERE PINT1: RETI END 5.5 MCS-51單片機響應外部中斷的典型時間是多少?在哪些情況下,CPU將推遲對外部中斷請求的響應? 答:典型時間是 3-8 個機器周期。在下列三種情況下,CPU 將推遲

34、對外部中斷請求的響應: (1)CPU正在處理同級的或更高級優(yōu)先級的中斷 (2)所查詢的機器周期不是當前所正在執(zhí)行指令的最后一個機器周期 (3)正在執(zhí)行的指令是 RETI或是訪問 IE 或 IP的指令。 6.2 采用定時器/計數(shù)器 T0 對外部脈沖進行計數(shù),每計數(shù) 100 個脈沖后,T0轉(zhuǎn)為定時工作方式。定時 1ms 后,又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止。假定 MCS-51 單片機的晶體震蕩器的頻率為 6MHZ,請使用方式 1 實現(xiàn),要求編寫出程序。 ORG 0000H AJMP MAIN ORG 000BH LJMP PT0J ORG 0100H MAIN: MOV TMOD,#05H;00000

35、001 MOV TH0,#0FFH;X=65436 MOV TL0,#9CH CLR F0 SETB TR0 SETB ET0 SETB EA HERE: AJMP HERE PT0J: JB F0,PT0D MOV TMOD,#01H;00000001 MOV TH0,#0FEH;X=65036 MOV TL0,#0CH SETB F0 RETI PT0D: CLR F0 MOV TMOD,#05H MOV TH0,#0FFH MOV TL0,#9CH RETI END 6.3編寫程序,要求使用 T0,采用方式2 定時,在 P1。0 輸出周期為 400 微秒,占空比為 1:10 的矩形脈沖。

36、 ORG 0000H AJMP MAIN ORG 000BH AJMP PT0 ORG 0100H MAIN: MOV R2,#00H MOV TMOD,#02H MOV TH0,#0ECH;X=236 MOV TL0,#0ECH SETB P1.0 SETB TR0 SETB ET0 SETB EA HERE: SJMP HERE PT0: CJNE R2,#09H,PT01 SETB P1.0 MOV R2,#00H RETI PT01: CLR P1.0 INC R2 RETI END 8.2 試編寫一個程序(例如將 05H 和 06H 拼為 56H),設(shè)原始數(shù)據(jù)放在片外數(shù)據(jù)區(qū) 2001

37、H單元和 2002H單元中,按順序拼裝后的單字節(jié)數(shù)放入 2002H。 參考源程序 ORG 0000H START: MOV B,#10H MOV DPTR,#2001H MOVX A,DPTR ANL A,#0FH MUL AB MOV B,A MOV DPTR,#2002H MOVX A,DPTR ADD A,B MOVX DPTR,A END 9.1 I/O接口和 I/O 端口有什么區(qū)別?I/O接口的功能是什么? 答:I/O端口簡稱為I/O口,常指I/O接口電路中具有端口地址的寄存器或緩沖器。I/O接口是指單片機與外設(shè)間的I/O 接口芯片。一個I/O 接口芯片可以有多個I/O 端口,傳送數(shù)據(jù)的稱為數(shù)據(jù)口傳送命令的稱為命令口,傳送狀態(tài)的稱為狀態(tài)口。當然,并不是所有的外設(shè)都需要三種接口齊全的I/O接口。 9.2 常用的I/O端口編址有哪兩種方式? MCS51的I/O端口編址采用的是哪種方式? 答:有兩種獨立編址方式和統(tǒng)一編址方式。MCS-51 單片機使用的是I/O和外部數(shù)據(jù)存儲器RAM 同一編址的方式。51單片機擴展了一片8255,把8255的pb口用作輸入,pb口的每一位接一個開關(guān),pa口用作輸出,每一位接一個發(fā)光二極管ORG0100HMIAN:MOVA,#10000010B;設(shè)置PA口方式0輸出,PB口方式0輸入MOVDPTR,#

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論