單片機原理及接口技術課后作業(yè)及答案_第1頁
單片機原理及接口技術課后作業(yè)及答案_第2頁
單片機原理及接口技術課后作業(yè)及答案_第3頁
單片機原理及接口技術課后作業(yè)及答案_第4頁
單片機原理及接口技術課后作業(yè)及答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.89C51單片機內包含哪些主要邏輯功 能部件?答:80C51系列單片機在片內集成了以 下主要邏輯功能部件:(1)CPU( 中央處理器):8位(2)片內 RAM:128B(3)特殊功能寄存器:21個(4)程序存儲器:4KB(5)并行I/O 口 :8位,4個(6)串行接口 :全雙工,1個(7)定時器/計數(shù)器:16位,2個(8)片內時鐘電路:1個2.89C51的EA端有何用途?答: /EA端接高電平時,CPL只訪問片 內flash Rom并執(zhí)行內部程序,存儲器。 /EA端接低電平時,CPU只訪問外部 ROM并執(zhí)行片外程序存儲器中的指令。 /EA端保持高電平時,CPU執(zhí)行內部存 儲器中的指令。3.

2、 89C51的存儲器分哪幾個空間?如何 區(qū)別不同空間的尋址?答:RO(片內ROM和片外ROMS一編 址)(使用MOVC (數(shù)據(jù)傳送指令)(16bits 地址)(64KB片外 RAM( MOVX (16bits 地址)(64KB片內 RAM( MOV( 8bits 地址)(256B4. 簡述89C51片內RAM勺空間分配。答:片內RAMt 256B低128B是真正的RAM區(qū)高128B是SFR特殊功能寄存器) 區(qū)5. 簡述布爾處理存儲器的空間分配, 片內RAM中包含哪些可位尋址單元。答:片內 RAIV區(qū)從 00HFFH(256B)其中20H2F(字節(jié)地址)是位尋 址區(qū)對應的位地址是00H7FH6.

3、 如何簡捷地判斷89C51正在工作?答:用示波器觀察8051的XTAL2端是否有脈沖信號輸出(判斷震蕩電路工作 是否正常?ALE (地址鎖存允許)(Address Latch Enable )輸出是fosc的6分頻 用示波器觀察ALE是否有脈沖輸出(判斷8051芯片的好壞?觀察PSEN(判斷8051能夠到EPROME ROM中讀取指令碼?因為/PSEN接外部EPROMROM 的/OE端子OE=Output En able(輸出允許)7. 89C51如何確定和改變當前工作寄 存器組?答:PSW程序狀態(tài)字)(Program StatusWord)中的 RS1 和 RS0可以給出4中組合用來從4組工

4、作寄存器組中進行 選擇PSW 屬于 SFR( Special FunctionRegister )(特殊功能寄存器)8. 89C51 P0 口用作通用I / O 口輸入 時,若通過TTL“OC門輸入數(shù)據(jù),應 注意什么?為什么?答:9. 讀端口鎖存器和“讀引腳”有何不 同?各使用哪種指令?答:讀鎖存器(ANLP0,A)就是相當于 從存儲器中拿數(shù)據(jù),而讀引腳是從外部 拿數(shù)據(jù)(如MOV A,P1這條指令就是讀 引腳的,意思就是把端口 p1輸入數(shù)據(jù) 送給A)傳送類MOV判位轉移JB、JNB這些都屬于讀引腳,平時實驗時經常用 這些指令于外部通信,判斷外部鍵盤 等;字節(jié)交換XCH XCHDT術及邏輯運 算

5、 ORL、CPL ANL ADD ADDC SUBBINC、DECS制轉移 CJNE DJNZ都屬于 讀鎖存器。10. 89C51 P0P3 口結構有何不同?用 作通用I /O口輸入數(shù)據(jù)時,應注意什 么?答:P0 口內部沒有上拉電阻,可以用做 16位地址的低8位;P3有第二功能;P2口可以用做16位地址的高8位; 需要上拉電阻。0C門電路無法輸出 高低電平,只有靠上拉電阻才能實現(xiàn)11.89C51單片機的EA信號有何功能? 在使用8031時,EA信號引腳應如何 處理?答:(1)80C51單片機的EA信號的功能EA為片外程序存儲器訪問允許信 號,低電平有效;在編程時,其上施加 21V的編程電壓EA

6、引腳接高電平時,程序從片內程 序存儲器開始執(zhí)行,即訪問片內存儲 器;EA引腳接低電平時,迫使系統(tǒng)全部 執(zhí)行片外程序存儲器程序。(2)在使用80C31時,EA信號引腳 的處理方法因為80C31沒有片內的程序存儲 器,所以在使用它時必定要有外部的程 序存儲器,EA信號引腳應接低電平。12. 89C51單片機有哪些信號需要芯片 引腳以第2功能的方式提供? 答:第一功能 第二功能串行口:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)中斷:P3.2INT0外部中斷0P3.3INT1外部中斷1定時器/計數(shù)器(TO、T1):P3.4T0 (定時器/計數(shù)器0的外部輸入)P3.5T1 (定時器/計數(shù)器

7、1的外部輸入)數(shù)據(jù)存儲器選通:P3.6WR(外部存儲器寫選通,低電平有效, 輸出)P3.7RD (外部存儲器讀選通,低電平有效, 輸出)定時器/計數(shù)器(T2):P1.0T2 (定時器T2的計數(shù)端)P1.1T2EX (定時器T2的外部輸入端)13. 內部RAM低 128字節(jié)單元劃分為哪 3個主要部分?各部分主要功能是什么? 答:片內RAM氐128單元的劃分及主要 功能:(1)工作寄存器組(00HIFH)這是一個用寄存器直接尋址的區(qū)域,內部數(shù)據(jù)RAM區(qū)的031(00HlFH), 共32個單元。它是4個通用工作寄存器組,每個 組包含8個8位寄存器,編號為R0R7(2)位尋址區(qū)(20H2FH)從內部數(shù)

8、據(jù)RAM區(qū)的3247(20H2FH的 16個字節(jié)單元,共 包含128位,是可位尋址的RAM區(qū)。這16個字節(jié)單元,既可 進行字節(jié)尋址,又可實現(xiàn)位尋址。 字節(jié)尋址區(qū)(30H7FH)從內部數(shù)據(jù)RAM區(qū)的48127(30H7FH,共80個字節(jié)單元, 可以采用間接字節(jié)尋址的方法訪問。14. 使單片機復位有幾種方法?復位后 機器的初始狀態(tài)如何? 答:(1)單片機復位方法單片機復位方法有:上電自動復 位、按鍵電平復位和外部脈沖三種方 式,如題圖2-1所示。題圖2-1(2)復位后的初始狀態(tài)復位后機器的初始狀態(tài),即各寄存 器的狀態(tài):PC之外,復位操作還對其他 一些特殊功能寄存器有影響,它們的復 位狀態(tài)如題表2-

9、1所例15. 開機復位后,CPU使用的是哪組工 作寄存器?它們的地址是什么?CPU如何 確定和改變當前工作寄存器組? 答:一般開機復位后都是選擇第一組通 用工作寄存器作為工作寄存器的,一共 有4組,分別為0.123連續(xù)位于00h 到仆H地址, 然后在機器中有個程序狀態(tài)字 PSW它 的第四和第三位RS1 RS0是用來選擇 工作寄存器組的,可能不同機器地址稍 有不同。他們倆的值和寄存器組的關 系:RS1/RS0 1/0 1/1 使用的工作寄存器 23地址10-17 18-1F0/0 0/10 100-07 08-0F寫程序的時候就是通過定義程序狀態(tài) 字來選擇使用不同的寄存器組。 也可以 直接對RS

10、1和RS0賦值。(最后一問同題7)16. 程序狀態(tài)寄存器PSV的作用是什么? 常用標志有哪些位?作用是什么?答:PSW是一個SFR(特殊功能寄存器)位于片內RAM勺高128B具體地址D0H(00HFFH (片內RAM 的編址)(8bits編址方法PSW=Program Status Word (程序狀態(tài)字PSW 的常用標志位有哪些?CY=Carry(進位標志位AC=Auxiliary Carry(輔助進位標志位)(半進位標志位)F0用戶標志位RS1 ,RS0用來選擇當前工作寄存器組(R0R7 (4選1)OV=Overflow(溢出標志位)P=Parity(奇偶校驗位17. 位地址7CH與字節(jié)地

11、址7CH如何區(qū) 別?位地址7CH具體在片內RAM中的什 么位置?答:用不同的尋址方式來加以區(qū)分,即 訪問128個位地址用位尋址方式,訪問 低128字節(jié)單元用字節(jié)尋址和間接尋 址。具體地址為2F的第五位,即為7G18. 89C51單片機的時鐘周期與振蕩周 期之間有什么關系?什么叫機器周期和 指令周期?答:時鐘信號的周期稱為機器狀態(tài)周 期,是振蕩周期的兩倍。一個機器周期 是指CPI訪冋存儲器一次所需的時間。指令周期是執(zhí)行一條指令所需的時間。19. 一個機器周期的時序如何劃分? 答:一個機器周期=12個震蕩周期=6個 時鐘周期(狀態(tài)周期)S1P1 ,S1P2 S2P1, S2P2, S3P1, S3

12、P2, S4P1, S4P2 S5P1, S5P2, S6P1, S6P2 其中 s=state (狀態(tài)),p=phase (相位)20. 什么叫堆棧?堆棧指針SP的作用是 什么?89C51單片機堆棧的容量不能超 過多少字節(jié)?答:堆棧都是一種數(shù)據(jù)項按序排列的數(shù) 據(jù)結構,只能在一端(稱為棧頂(top) 對數(shù)據(jù)項進行插入和刪除。要點:堆: 順序隨意棧:后進先出 (Last-1 n/First-Out)在調用子程序時需要保存調用函 數(shù)的CPU寄存器PC指針,PC指針是被 CALL指令自動壓入SP所指向的片內存 儲器,CPU寄存器要由用戶用PUSH旨令 自行保存,因此SP的作用就是一個指針, 當進行中

13、斷調用,子函數(shù)調用時將現(xiàn)場 數(shù)據(jù)壓入SP所指向的存儲器,sp自動 增加1或2,當中斷結束RETI,調用返回 RET,POP寸將SP數(shù)據(jù)彈出,SP自動減1 或,28051最大為128字節(jié)的片內存儲 器,0X20以上理論都可以做堆棧用96字節(jié),8052為256字節(jié)224字節(jié)可用, 但這樣便沒有其它空間可用于數(shù)據(jù)存 儲現(xiàn)在的單片機的程序一般都能用 C51 來,不用關心堆棧大小與SP寄存器 21.89C51有幾種低功耗方式?如何實 現(xiàn)?答:空閑方式和掉電方式空閑方式和掉電方式是通過對SFR中的PCON地址87H)相應位置1 而啟動的。當CPU執(zhí)行完置IDL=1(PCON.1)的指令 后,系統(tǒng)進入空閑工

14、作方式。這時,內 部時鐘不向cpU提供,而只供給中斷、 串行口、定時器部分。CPU的內部狀態(tài) 維持,即包括堆棧指針SP程序計數(shù)器 PC程序狀態(tài)字PSW累加器ACC所有 的內容保持不變,端口狀態(tài)也保持不 變。ALE和PSEN保持邏輯高電平。當CPU執(zhí)行一條置PCON.1位( PD為1 的指令后,系統(tǒng)進入掉電工作方式。在 這種工作方式下,內部振蕩器停止工 作。由于沒有振蕩時鐘,因此,所有的 功能部件都停止工作。但內部RAM區(qū)和 特殊功能寄存器的內容被保留,而端口 的輸出狀態(tài)值都保存在對應的 SFR中, ALE和 PSEN都為低電平。22. PC與DPTF各有哪些特點?有何異 同?答:(1)程序計數(shù)

15、器PC作為不可尋址寄 存器的特點程序計數(shù)器PC是中央控制器申最 基本的寄存器,是一個獨立的計數(shù)器, 存放著下一條將程序存儲器中取出的 指令的地址。程序計數(shù)器PC變化的軌跡決定程 序的流程。程序計數(shù)器的寬度決定了程 序存儲器可以 尋址的范圍。程序計數(shù)器PC的基本工作方式有: 程序計數(shù)器PC自動加1。這是最 基本的工作方式,也是這個專用寄存器 被稱為計數(shù)器的原因。 執(zhí)行條件或無條件轉移指令時, 程序計數(shù)器將被置入新的數(shù)值,程序的 流向發(fā)生變化。變化的方式有下列幾種:帶符號的相對 跳轉SJMP短跳轉 AJMP長跳轉LJMP 及 JMP A+DPT等。 在執(zhí)行調用指令或響應中斷時: PC的現(xiàn)行值,即下

16、一條將要執(zhí)行 的指令的地址送入堆棧,加以保護;將子程序的入口地址或者中斷 矢量地址送入PC,程序流向發(fā)生變化, 執(zhí)行子程序或中斷服務程序;子程序或中斷服務程序執(zhí)行完 畢,遇到返回指令 RET或 RETI時,將 棧頂?shù)膬热菟偷絇C寄存器中,程序流 程又返回到原來的地方,繼續(xù)執(zhí)行。(2) 地址指針DPTR的特點地址指針DPTR的特點是,它作為 片外數(shù)據(jù)存儲器尋址用的地址寄存器 (間接尋址)。(3) 地址指針DPTR與程序計數(shù)器 PC的異同相同之處:兩者都是與地址有關的、16位的 寄存器。其中,PC與程序存儲器的地址 有關,而DPTR 與數(shù)據(jù)存儲器的地址有關。作為地址寄存器使用時, PC與 DPTF

17、都是通過P0和P2 口(作為16位地 址總線)輸出的。但是,PC的輸出與 ALE 及PSEN有關;DPTR的輸出,則與 ALE RD及 WF相聯(lián)系。不同之處: PC只能作為16位寄存器對待, 由于有自動加1的功能,故又稱為計數(shù) 器;DPTR 可以作為16位寄存器對 待,也可以作為兩個8位寄存器對待。 PC是不可以訪問的,有自己獨特 的變化方式,它的變化軌跡決定了程序 執(zhí)行的流程;DPTR 是可以訪問的,女口 MOVDPTR #XXXXH INC DPTR23. 89C51端口鎖存器的“讀一修改一 寫”操作與“讀引腳”操作有何區(qū) 別?答:指令系統(tǒng)中有些指令讀鎖存器的值, 有些指令則讀引腳上的值。

18、讀鎖存器指 令是從鎖存器中讀取一個值并進行處 理,把處理后的值(原值或已修改后的 值)重新寫入鎖存器中。這類指令稱為 讀-修改-寫指令。對于讀-修改-寫指令。直接讀鎖存 器而不是讀端口引腳,是因為從引腳 上讀出的數(shù)據(jù)不一定能真正反映鎖存 器的狀態(tài)。單片機原理及接口技術課后習題答案 第三章1、指令:CPU根據(jù)人的意圖來執(zhí)行 某種操作的命令指令系統(tǒng):一臺計算機所能執(zhí)行的全部 指令集合機器語言:用二進制編碼表示,計算機 能直接識別和執(zhí)行的語言匯編語言:用助記符、符號和數(shù)字來表 示指令的程序語言高級語言:獨立于機器的,在編程時不 需要對機器結構及其指令系統(tǒng)有深入了解的通用性語言2、見第1題3、操作碼目

19、的操作數(shù),源 操作數(shù)尋址方式尋址空間立即數(shù)尋址程序存儲器ROM直接尋址片內RAM氐128B特殊功能寄存器寄存器尋址工作寄存器R0-R7 A B C DPTR奇存器間接尋址片內RAM氐128B 片外RAM變址尋址程序存儲器(A+PC,A+DPTR相對尋址程序存儲器256B范圍(PC+偏移量)位尋址片內RAM勺20H-2FH字節(jié)地址、部分S4、5、 SFR:直接尋址,位尋址,寄存 器尋址;片外RAM寄存器間接尋址& MOV A,40H ;直接尋址(40H) AMOV RO ,A;寄存器尋址(A) ROMOV P1,#OFOH ;立即數(shù)尋址0F0 P1MOV R0,30H ;直接尋址(30H

20、) (R0)MOV DPTR,#3848H 立即 數(shù)尋址 3848H DPTRMOV 40H,38H ;直接尋址(38H)40HMOV R0,30H ;直接尋址(30H)R0MOV P0,R0 ;寄存器尋址(R0 )P0MOV 18H ,#30H ;立即數(shù)尋址30H 18HMOV A ,R0;寄存器間接尋址(R0) AMOV P2 ,P1;直接尋址(P1)P2最后結果:(R0 =38H, (A) =40H, (P0)=38H, ( P1) =( P2) =0F0H (DPTR=3848H,(18H) =30H, (30H) =38H, (38H) =40H,(40H) =40H, (48H)

21、=38H注意:左邊是內容,右邊是單兀7、用直接尋址,位尋址,寄存器尋址MOV A,DATA ;直接尋址 2字節(jié)1周期MOV A,#DATA ;立即數(shù)尋址2字節(jié)1周期MOV DATA1QATA2 ;直接尋址3字節(jié)2周期MOV 74H,#78H;立即數(shù)尋址3字節(jié)2周期如果想查某一指令的機器碼,字節(jié)數(shù)或周期數(shù)可查閱書本后面的附錄 A9、MOVk,R0 ;(R0)=80H AMOR0,40H;(40H)=08H (R0)MOS0H,A ;(A)=80 40HMOVR0,#35H;35H R0最后結果:(R0) =35H(A) =80H,(32H) =08H, (40H) =80H10、用直接尋址,位尋

22、址,寄存器尋址11、只能采用寄存器間接尋址(用MOVX 指令)12、低128字節(jié):直接尋址,位尋址, 寄存器間接尋址,寄存器尋址(R0R7 高128字節(jié):直接尋址,位尋址,寄存 器尋址13、采用變址尋址(用MOV指令)14、壓縮BCD碼在進行加法運算時應逢 十進一,而計算機只將其當作十六進制 數(shù)處理,此時得到的結果不正確。用DAA指令調整(加06H, 60H, 66H)15、用來進行位操作16、ANL A , #17H; 83HA17H=03AORL 17H , A; 34HV 03H=37H17HXRL A , R0CPL ACBH;03H® 37H=34H;34H求反等于所以(A

23、) =CBH17、( 1 ) SETB ACC.0 或 SETBE0H ;E0H是累加器的地址(2) CLR ACC.7CLR ACC.6CLR ACC.5CLR ACC.4(3) CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.318、MOV 27H R7MOV 26H R6MOV 25H R5MOV 24H R4MOV 23H R3MOV 22H R2MOV 21H R1MOV 20H R019、MOV 2FH 20MOV 2EH , 21MOV 2DH , 2220、CLR CMOV A #5DH;被減數(shù)的低8位AMOV R2 #B4H;減數(shù)低8位R2SUBB A,

24、 R2;被減數(shù)減去減數(shù),差AMOV 30H A;低8位結果30HMOV A #6FH;被減數(shù)的高8位AMOV R2 #13H;減數(shù)高8位R2SUBB A, R2;被減數(shù)減去減數(shù),差AMOV 31H A;高8位結果30H注意:如果在你的程序中用到了進位 位,在程序開始的時候要記得清0進位 位21、(1) A> 10CJNE A , #0AH, L1 ; (A)與 10比較,不等轉L1LJMP LABEL;相等轉24、不能。ACALL是短轉指令,可調用LABEL的地址范圍是2KBL1: JNC LABEL;(A)大在看這個題的時候同時看一下 AJMP指于 10,轉 LABEL令。同時考慮調用

25、指令ACALL和LCALL或者:指令和RET指令的關系。CLR C25、 MOV R2 , #31H;數(shù)據(jù)塊長SUBB A #0AH度-R2JNC LABELMOV R0 , #20H;數(shù)據(jù)塊首(2) A> 10地址R0CJNE A, #0AH L1;(A)與 10LOOP MOV A R0;待查找的數(shù)比較,不等轉L1據(jù)ARET;相等結束CLR C;清進位L1: JNC LABEL;(A)大位于 10,轉 LABELSUBB A , #0AAH;待查找RET;(A) 小的數(shù)據(jù)是0AAH嗎于10,結束JZ L1;是,或者:轉L1CLR CINC R0;不是,SUBB A #0AH地址增1,

26、指向下一個待查數(shù)據(jù)JNC L1DJNZ R2, LOOP;數(shù)據(jù)塊RET長度減1,不等于0 ,繼續(xù)查找L1: JNZ LABELMOV 51H, #00H;等于0 ,RET未找到,00FR 51H(3) AW 10RETCJNE A, #0AH L1;(A)與 10L1 : MOV 51H #01H;找到,比較,不等轉L101FR 51HL2: LJMP LABEL;相等轉RETLABEL26、 MOV R2 , #31H;數(shù)據(jù)塊L1: JC L2;(A)小于 10,長度一 R2轉L2MOV R0, #20H;數(shù)據(jù)塊首RET地址R0或者:LOOP MOV A R0;待查找的數(shù)CLR C據(jù)ASUB

27、B A #0AHJNZ L1;不為JC LABEL0,轉 L1JZ LABELINC 51H;為0 ,RET00H個數(shù)增122、(SR =23H, (PC):=3412HL1 : INC R0;地址增1,指向參看書上80頁下一個待查數(shù)據(jù)23、( SR =27H, (26H)=48H, (27H)DJNZ R2, LOOP;數(shù)據(jù)塊=23H, (PC)=3456H長度減1,不等于0 ,繼續(xù)查找參看書上79頁RET27、 MOV DPTR , #SOURCE ; 源MOV A ,30H;取該數(shù)高8首地址DPTR位f AMOV R0, #DIST;RLC A;帶進位位目的首地址R0左移1位LOOP M

28、OVX A DPTR;傳MOV 30H,A;結果存回送一個字符30HMOV R0, A30、 MOV R2,#04H;字節(jié)長INC DPTR;度f R2指向下一個字符MOV R0 ,#30H;一個加數(shù)INC R0首地址f R0CJNE A, #24H, LOOP;MOV R1 ,#40H;另一個加傳送的是“ $”字符嗎?不是,傳送下數(shù)首地址f R1一個字符CLR C;清進位RET位28、 MOV A,R3;取該數(shù)高8LOOP MOV A R0;取一個加數(shù)位f AADDC A,R1;兩個加ANL A, #80H ;取出該數(shù)符數(shù)帶進位位相加號判斷DA A;十進制JZ L1;是正數(shù),調整轉L1MOV

29、 R0,A;存放結果MOV A , R4;是負數(shù),將INC R0;指向該數(shù)低8位f A下一個字節(jié)CPL A; 低 8 位取INC R17反DJNZ R2,LOOP ;數(shù)據(jù)塊ADD A ,#01H;力卩 1長度減1,不等于0,繼續(xù)查找MOV R4 ,A; 低 8 位取反RET加1后f R431、 MOV R2,#08H;數(shù)據(jù)塊MOV A ,R3;將該數(shù)高8長度f R2位f AMOV R0,#30H;數(shù)據(jù)塊目CPL A;高8位取的地址f R0反MOV DPTR,#2000H ;數(shù)據(jù)ADDC A ,#00H;加上低 8塊源地址f DPTR位加1時可能產生的進位LOOP MOVX A DPTR;傳送一

30、MOV R3 ,A;高8位取反個數(shù)據(jù)加1后f R3MOV R0,AL1 : RETINC DPTR;指向29、CLR C;清進位位C下一個數(shù)據(jù)MOV A ,31H;取該數(shù)低8INC R07位f ADJNZ R2,LOOP ;數(shù)據(jù)塊RLC A;帶進位位長度減1,沒傳送完,繼續(xù)傳送左移1位RETMOV 31H ,A;結果存回32、(1) MOV RQ0FH ;2字節(jié),2周31H期4字節(jié)4周期(差)計算,可以參考書上56頁)34、;(7EH =00H;(RC) =7FH;(7FH =39H;(DPTR;(DPTRR0R0DPTRDPTR;98HRA;41FH R0;98H+( 41H);結果存入42

31、H;清A;進位位存入=AFH (42H) =47H, (43H)=01H37、 MOV A,61H;F2H AMOV B,#02H;02HBMUL AB;F2HX O2H=E4AADD A ,62H;積的低8位加上CCAMOV 63H,A;結果送62HCLR A;清AADDC A,B;積的高8位加進位位AMOV 64H,A;結MOV B , RO; 2 字節(jié),2周期(2) MOV RO #OFH ; 2 字節(jié),1周期4 字節(jié)3周期(中)MOV B , R0; 2 字節(jié),2周期(3) MOV B #OFH ; 3 字節(jié),2 周期3 字節(jié)2周期(好)33、(1)功能是將片內 RAM中 50H51H

32、 單元清0。(2) 7A0A (大家可以看一下書上, 對于立即數(shù)尋址的話,后面一個字節(jié)存 放的是立即數(shù))7850 (第一個字節(jié) 的后三位是寄存器,前一個條指令是 010也就是指的R2,在這里是R0,所以 應該是78,后一個字節(jié)存放的是立即 數(shù))DAFC(這里涉及到偏移量的INC R0INCINCINC =10FFHINC =1100HINC DPTR; (DPTR=1101H35、解:(1000H)=53H(1001H=54H(1002H) =41H(1003H) =52H(1004H=54H(1005H) =12H(1006H) =34H(1007H=30H(1008H) =00H(1009

33、H =70H36、MOV R0, #40H; 40FRR0MOV A R0INC R0ADD A , R0=47H AINC R0MOV R0A 單元CLR AADDC A #0AINC R0MOV R0A;進位位存入43H功能:將40H, 41H單元中的內容相加 結果放在42H單元,進位放在43H單元,(R0) =43H, (A) =1, (40H) =98H, (41H)果送64H功能:將61H單元的內容乘2,低8位 再加上62H單元的內容放入63H,將結 果的高8位放在64H單元。(A) =02H,(B) =01H, (61H) =F2H, (62H) =CCH (63H) =B0H (

34、64H) =02H39、MOV A XXHORL A , #80HMOV XXH A40、(2) MOV A , XXHMOV R0, AXRL A, R0第五章1、什么是中斷和中斷系統(tǒng)?其主要功 能是什么?答:當CPU正在處理某件事情的時候, 外部發(fā)生的某一件事件請求CPUa速去 處理,于是,CPU暫時中止當前的工作, 轉去處理所發(fā)生的事件,中斷服務處理 完該事件以后,再回到原來被終止的地 方,繼續(xù)原來的工作。這種過程稱為中 斷,實現(xiàn)這種功能的部件稱為中斷系 統(tǒng)。功能:(1)使計算機具有實時處理能 力,能對外界異步發(fā)生的事件作出及時 的處理(2)完全消除了 CPU在查詢方式 中的等待現(xiàn)象,大

35、大提高了 CPU的工作 效率(3)實現(xiàn)實時控制2、試編寫一段對中斷系統(tǒng)初始化的程 序,使之允許INTO, INT1, TO,串行 口中斷,且使TO中斷為高優(yōu)先級中斷。解:MOV IE,#097HMOV IP,#02H3、在單片機中,中斷能實現(xiàn)哪些功能? 答:有三種功能:分時操作,實時處理, 故障處理4、89C51共有哪些中斷源?對其中端請 求如何進行控制?答:(1)89C51有如下中斷源 :外部中斷0請求,低電平有效 :外部中斷1請求,低電平有效 T0:定時器、計數(shù)器0溢出中斷請求 T1:定時器、計數(shù)器1溢出中斷請求 TX/RX串行接口中斷請求(2 )通過對特殊功能寄存器 TCON SCONI

36、E、IP的各位進行置位或復位等 操作,可實現(xiàn)各種中斷控制功能5、什么是中斷優(yōu)先級?中斷優(yōu)先處理 的原則是什么?答:中斷優(yōu)先級是CPU相應中斷的先后 順序。原則:(1)先響應優(yōu)先級高的中斷請 求,再響應優(yōu)先級低的(2)如果一個中斷請求已經被響 應,同級的其它中斷請求將被禁止(3)如果同級的多個請求同時出 現(xiàn),則CPU通過內部硬件查詢電路,按 查詢順序確定應該響應哪個中斷請求 查詢順序:外部中斷0定時器0中斷 f外部中斷1定時器1中斷串行接 口中斷6、說明外部中斷請求的查詢和響應過 程。答:當CPU執(zhí)行主程序第K條指令,外 設向CPU發(fā)出中斷請求,CPU接到中斷 請求信號并在本條指令執(zhí)行完后,中斷

37、 主程序的執(zhí)行并保存斷點地址,然后轉 去響應中斷。CPU在每個S5P2期間順序 采樣每個中斷源,CPU在下一個機器周 期S6期間按優(yōu)先級順序查詢中斷標志, 如果查詢到某個中斷標志為1,將在接 下來的機器周期S1期間按優(yōu)先級進行 中斷處理,中斷系統(tǒng)通過硬件自動將相 應的中斷矢量地址裝入 PC以便進入相 應的中斷服務程序。中斷服務完畢后, CPL返回到主程序第K+1條指令繼續(xù)執(zhí) 行。7、89C51在什么條件下可響應中斷?答:(1)有中斷源發(fā)出中斷請求(2)中斷中允許位EA=1.即CPU開中斷(3)申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽(4)無同級或更高級中斷正在服務(5)當前指令周期已

38、經結束(6)若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的 另一條指令已執(zhí)行完畢8、簡述89C51單片機的中斷響應過程。 答:CPU在每個機器周期S5P2期間順序 采樣每個中斷源,CPU在下一個機器周 期S6期間按優(yōu)先級順序查詢中斷標志, 如查詢到某個中斷標志為1,將在接下 來的機器周期S1期間按優(yōu)先級進行中 斷處理,中斷系統(tǒng)通過硬件自動將相應 的中斷矢量地址裝入PC,以便進入相應 的中斷服務程序。一旦響應中斷,89C51 首先置位相應的中斷“優(yōu)先級生效”觸 發(fā)器,然后由硬件執(zhí)行一條長調用指 令,把當前的PC值壓入堆棧,以保護 斷點,再將相應的中斷服務的入口地址 送入PC于是C

39、PU接著從中斷服務程序 的入口處開始執(zhí)行。對于有些中斷源, CPU在響應中斷后會自動清除中斷標 志。9、在89C51內存中,應如何安排程序 區(qū)?答:主程序一般從0030H開始,主程序 后一般是子程序及中斷服務程序。 在這 個大家還要清除各個中斷的中斷矢量 地址。10、試述中斷的作用及中斷的全過程。 答:作用:對外部異步發(fā)生的事件作出 及時的處理過程:中斷請求,中斷響應,中斷 處理,中斷返回11、當正在執(zhí)行某一個中斷源的中斷服 務程序時,如果有新的中斷請求出現(xiàn), 試問在什么情況下可響應新的中斷請 求?在什么情況下不能響應新的中斷 請求?答:(1)符合以下6個條件可響應新的 中斷請求:a) 有中斷

40、源發(fā)出中斷請求b) 中斷允許位EA=1,即CPU開中斷c) 申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽 d)無同級或更 高級中斷正在被服務e) 當前的指令周期已結束f) 若現(xiàn)行指令為RETI或訪問IE或IP 指令時,該指令以及緊接著的另一條指 令已被執(zhí)行完12、89C51單片機外部中斷源有幾種觸 發(fā)中斷請求的方法?如何實現(xiàn)中斷請 求?答:有兩種方式:電平觸發(fā)和邊沿觸發(fā) 電平觸發(fā)方式:CPU在每個機器周期的 S5P2期間采樣外部中斷引腳的輸入電 平。若為低電平,使IE1(IE0)置“T, 申請中斷;若為高電平,則IE1(IE0)清零。邊沿觸發(fā)方式:CPU在每個機器周期 S5P2期間采樣外

41、部中斷請求引腳的輸 入電平。如果在相繼的兩個機器周期采 樣過程中,一個機器周期采樣到外部中 斷請求為高電平,接著下一個機器周期 采樣到外部中斷請求為低電平,則使 IE1(IE0)置“ 1 ”申請中斷;否則,IE1(IE0)置 0。13、89C51單片機有五個中斷源,但只 能設置兩個中斷優(yōu)先級,因此,在中斷 優(yōu)先級安排上受到一定的限制。試問以 下幾種中斷優(yōu)先順序的安排(級別由高 到低)是否可能:若可能,則應如何設 置中斷源的中斷級別:否則,請簡述不 可能的理由。定時器0,定時器1,外中斷0, 外中斷1,串行口中斷。可以,MOV IP,#0AH(2)串行口中斷,外中斷0,定時器0,外中斷1,定時器

42、1。 可以,MOV IP,#10H 外中斷0,定時器1,外中斷1, 定時器0,串行口中斷。不可以,只能設置一級高級優(yōu)先級, 如果將INT0,T1設置為高級,而T0級 別高于INT1. 外中斷0,外中斷1,串行口中 斷,定時器0,定時器1。 可以, MOV IP,#15H串行口中斷,定時器0,外中斷0,外中斷1,定時器1。 不可以 外中斷0,外中斷1,定時器0, 串行口中斷,定時器1。不可以外中斷0,定時器1,定時器0, 外中斷1,串行口中斷。 可以,MOV IP,#09H14、89C51各中斷源的中斷標志是如何 產生的?又是如何清0的? CPU響應中 斷時,中斷入口地址各是多少?答:各中斷標志

43、的產生和清“ 0”如下:(1) 外部中斷類外部中斷是由外部原因引起的,可以通 過兩個固定引腳,即外部中斷0和外部 中斷1輸入信號。外部中斷0請求信號,由P3.2腳輸入。 通過IT0來決定中斷請求信號是低電平 有效還是下跳變有效。一旦輸入信號有 效,則向CPU申請中斷,并且使IE0=1。 硬件復位。外部中斷1請求信號,功能與用法類似外部中斷0(2) 定時中斷類定時中斷是為滿足定時或計數(shù)溢出處 理需要而設置的。當定時器/計數(shù)器中 的計數(shù)結構發(fā)生計數(shù)溢出的,即表明定 時時間到或計數(shù)值已滿,這時就以計數(shù) 溢出信號作為中斷請求,去置位一個溢 出標志位。這種中斷請求是在單片機芯 片內部發(fā)生的,無需在芯片上

44、設置引入 端,但在計數(shù)方式時,中斷源可以由外 部引入。TF0:定時器T0溢出中斷請求。當定時 器T0產生溢出時,定時器T0請求標志 TF0=1,請求中斷處理。使用中斷時由 硬件復位,在查詢方式下可由軟件復 位。TF1:定時器T1溢出中斷請求。功能與 用法類似定時器T0(3) 串行口中斷類串行口中斷是為串行數(shù)據(jù)的傳送需要 而設置的。串行中斷請求也是在單片機 芯片內部發(fā)生的,但當串行口作為接收 端時,必須有一完整的串行幀數(shù)據(jù)從 RI 端引入芯片,才可能引發(fā)中斷。RI或TI :串行口中斷請求。當接收或 發(fā)送一串幀數(shù)據(jù)時,使內部串行口中斷 請求標志RI或TI=1,并請求中斷。響 應后必須軟件復位。CP

45、U響應中斷時,中斷入口地址如下: 中斷源入口地址外部中斷00003H定時器T0中斷000BH 外部中斷10013H定時器T1中斷001BH 串行口中斷 0023H15、中斷響應時間是否為確定不變的? 為什么?答:中斷響應時間不是確定不變的。由 于CPI不是在任何情況下對中斷請求都 予以響應的;此外,不同的情況對中斷 響應的時間也是不同的。下面以外部中 斷為例,說明中斷響應的時間。在每個機器周期的S5P2期間,端的電 平被所存到TCON勺IE0位,CPU在下一 個機器周期才會查詢這些值。這時滿足 中斷響應條件,下一條要執(zhí)行的指令將 是一條硬件長調用指令“ LCALL”使程 序轉入中斷矢量入口。調

46、用本身要用 2 個機器周期,這樣,從外部中斷請求有 效到開始執(zhí)行中斷服務程序的第一條 指令,至少需要3個機器周期,這是最 短的響應時間。如果遇到中斷受阻的情況,這中斷響應 時間會更長一些。例如,當一個同級或 更高級的中斷服務程序正在進行,則附 加的等待時間取決于正在進行的中斷 服務程序:如果正在執(zhí)行的一條指令還 沒有進行到最后一個機器周期,附加的 等待時間為13個機器周期;如果正在 執(zhí)行的是RETI指令或者訪問IE或IP 的指令,則附加的等待時間在5個機器 周期內。若系統(tǒng)中只有一個中斷源,則響應時間 為38個機器周期。16、中斷響應過程中,為什么通常要保 護現(xiàn)場?如何保護?答:因為一般主程序和

47、中斷服務程序都 可能會用到累加器,PSW芽存器及其他 一些寄存器。CPU在進入中斷服務程序 后,用到上述寄存器時,就會破壞它原 來存在寄存器中的內容;一旦中斷返 回,將會造成主程序的混亂。因而在進 入中斷服務程序后,一般要先保護現(xiàn) 場,然后再執(zhí)行中斷處理程序,在返回 主程序以前再恢復現(xiàn)場。保護方法一般是把累加器、PSW寄存器 及其他一些與主程序有關的寄存器壓 入堆棧。在保護現(xiàn)場和恢復現(xiàn)場時,為 了不使現(xiàn)場受到破壞或者造成混亂,一 般規(guī)定此時CPU不響應新的中斷請求。這就要求在編寫中斷服務程序時, 注意 在保護現(xiàn)場之前要關中斷,在恢復現(xiàn)場 之后開中斷。如果在中斷處理時允許有 更高級的中斷打斷它,

48、則在保護現(xiàn)場之 后再開中斷,恢復現(xiàn)場之前關中斷。17、清敘述中斷響應的CPU操作過程, 為什么說中斷操作是一個CPU勺微查詢 過程?答:在中斷響應中,CPU要完成以下自 主操作過程:a)置位相應的優(yōu)先級狀態(tài)觸發(fā)器,以 標明所響應中斷的優(yōu)先級別b) 中斷源標志清零(TI、RI除外)c)中斷斷點地址裝入堆棧保護(不保 護PSWd)中斷入口地址裝入PC,以便使程序 轉到中斷入口地址處在計算機內部,中斷表現(xiàn)為CPU的微查 詢操作。89C51單片機中,CPU在每個 機器周期的S6狀態(tài),查詢中斷源,并 按優(yōu)先級管理規(guī)則處理同時請求的中 斷源,且在下一個機器周期的 S1狀態(tài) 中,響應最高級中斷請求。但是以下

49、情況除外:a)CPU正在處理相同或更高優(yōu)先級中 斷b)多機器周期指令中,還未執(zhí)行到最后 一個機器周期c)正在執(zhí)行中斷系統(tǒng)的SFR操作,如 RETI指令及訪問IE、IP等操作時,要 延后一條指令18、在中斷請求有效并開中斷狀況下, 能否保證立即響應中斷?有什么條 件?答:在中斷請求有效并開中斷狀況下, 并不能保證立即響應中斷。這是因為, 在計算機內部,中斷表現(xiàn)為CPU勺微查 詢操作。89C51單片機中,CPU在每個 機器周期的S6狀態(tài)下,查詢中斷源, 并按優(yōu)先級管理規(guī)則處理同時請求的 中斷源,且在下一個機器周期的 S1狀 態(tài)中,響應最咼級中斷請求。在以下情況下,還需要有另外的等待:a)CPU正在

50、處理相同或更高優(yōu)先級 中斷b)多機器周期指令中,還未執(zhí)行到最 后一個機器周期c)正在執(zhí)行中斷系統(tǒng)的 SFR操作,如 RETI指令及訪問IE、IP等操作時,要延后一條指令第6章習題答案1、定時器模式2有什么特點?適用于 什么場合?答:(1)模式2把TLO(或TL1)配置成 一個可以自動重裝載的8位定時器/計 數(shù)器。TL0計數(shù)溢出時不僅使溢出中斷 標志位TF0置1,而且還自動把TH0中 的內容重新裝載到TL0中。TL0用作8 位計數(shù)器,TH0用以保存初值。(2)用于定時工作方式時間(TF0溢出 周期)為,用于計數(shù)工作方式時,最 大計數(shù)長度(TH0初值=0)為28=256 個外部脈沖。這種工作方式可

51、省去用戶軟件重裝初 值的語句,并可產生相當精確定時時 間,特別適于作串行波特率發(fā)生器。2、單片機內部定時方式產生頻率為 100KHZ等寬矩形波,假定單片機的晶振 頻率為12MHZ請編程實現(xiàn)。答:T0 低 5 位:1BHT0 高 8 位: FFHMOV TMOD,#00H ;設置定時器T0工作于模式0MOV TL0,#1BH ;設置 5ms定時 初值MOV TH0,#0FFHSETB TR0;啟動 T0LOOP:JBC TF0,L1 ;查詢到定時時間 到?時間到轉L1SJMP LOOP ;時間未至膵專LOOP繼續(xù)查詢L1 : MOV TL0,#1BH;重新置入定時初值MOV TH0,#0FFHC

52、PL P1.0 ;輸出取反,形成等寬矩形波SJMP LOOP ;重復循環(huán)3、89C51定時器有哪幾種工作模式?有何區(qū)別?答:有四種工作模式:模式0,模式1, 模式2,模式31) 模式0:選擇定時器的高8 位和低5位組成一個13位定時器/計數(shù) 器。TL低5位溢出時向TH進位,TH溢 出時向中斷標志位TF進位,并申請中 斷。定時時間t=(213-初值)X振蕩周期X 12;計數(shù)長度位213=8192個外部脈沖(2) 模式1:與模式0的唯一差 別是寄存器TH和TL以全部16位參與 操作。定時時間t=(216-初值)X振蕩周 期X 12;計數(shù)長度位216=65536個外部 脈沖3) 模式2:把TL0和T

53、L1配置 成一個自動重裝載的8位定時器/計數(shù) 器。TL用作8位計數(shù)器,TH用以保存 初值。TL計數(shù)溢出時不僅使TF0置1, 而且還自動將TH中的內容重新裝載到 TL中。定時時間t=(28-初值)X振蕩周期X 12;計數(shù)長度位28=256個外部脈沖(4) 模式3:對T0和T1不大相同若設T0位模式3, TL0和TH0被分為兩 個相互獨立的8位計數(shù)器。TL0為8位 計數(shù)器,功能與模式0和模式1相同, 可定時可計數(shù)。TH0僅用作簡單的內部定時功能,它占 用了定時器T1的控制位TR1和中斷標 志位TF1,啟動和關閉僅受TR1控制。 定時器T1無工作模式3,但T0在工作 模式3時T1仍可設置為02。4、89C51內部設有幾個定時器/計數(shù) 器?它們是由哪些特殊功能寄存器組 成?答:89C51單片機內有兩個16位定時器 /計數(shù)器,即T0 和 T1。T0由兩個8位特殊功能寄存器TH0和 TL0組成;T1由TH

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論