版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理及接口技術(shù)課后習(xí)題答案(第四版)李朝青第一章1. 什么是微處理器(CPU)、微機(jī)和單片機(jī)?答 微處理器本身不是計算機(jī),但它是小型計算機(jī)或微機(jī)的控制和處理部分。微機(jī)則是具有完整運算及控制功能的計算機(jī),除了微處理器外還包括存儲器、接 口適配器以及輸入輸出設(shè)備等。單片機(jī)是將微處理器、一定容量的RAM ROM以及I/O 口、定時器等電路集成在一塊芯片上,構(gòu)成的單片微型計算機(jī)。2. 單片機(jī)具有哪些特點片內(nèi)存儲容量越來越大。(2抗干擾性好,可靠性高。芯片引線齊全,容易擴(kuò)展。100年以上。運行速度高,控制功能強(qiáng)。單片機(jī)內(nèi)部的數(shù)據(jù)信息保存時間很長,有的芯片可以達(dá)到3. 微型計算機(jī)怎樣執(zhí)行一個程序?答
2、:通過CPU指令,提到內(nèi)存當(dāng)中,再逐一執(zhí)行。4. 微型計算機(jī)由那幾部分構(gòu)成?微處理器,存儲器,接口適配器(即 I/O接口),I/O設(shè)備第二章1.89C51單片機(jī)內(nèi)包含哪些主要邏輯功能部件?答:80C51系列單片機(jī)在片內(nèi)集成了以下主要邏輯功能部件:(l)CPU(中央處理器):8位片內(nèi) RAM:128B特殊功能寄存器:21個程序存儲器:4KB并行I/O 口 :8位,4個串行接口 :全雙工,1個定時器/計數(shù)器:16位,2個(8)片內(nèi)時鐘電路:1個2.89C51的EA端有何用途?答:/EA端接高電平時,CPU只訪問片內(nèi) 并執(zhí)行內(nèi)部程序,存儲器。/EA 端接低電平時,CPU只訪問外部R
3、OM并執(zhí)行片外程序存儲器中的指令。/EA端保持 高電平時,CPU執(zhí)行內(nèi)部存儲器中的指令。3. 89C51的存儲器分哪幾個空間?如何區(qū)別不同空間的尋址?答:R0(片內(nèi)ROM和片外ROM統(tǒng)一編址)(使用MOVC (數(shù)據(jù)傳送指令)(16bits地 址)(64KB片外 RAM( MOVX( 16bits 地址)(64KB) 片內(nèi) RAM( MOV( 8bits 地址)(256B)4. 簡述89C51片內(nèi)RAM的空間分配。答:片內(nèi)RAM有 256B低128B是真正的RAM區(qū) 高128B是SFR(特殊功能寄存器)區(qū)5. 簡述布爾處理存儲器的空間分配,片內(nèi)RAM中包含哪些可位尋址單元。答:片內(nèi)RAM區(qū)從00
4、HFFH(256B)其中20H2FH(字節(jié)地址)是位尋址區(qū) 對應(yīng)的位地址是00H7FH6.如何簡捷地判斷89C51正在工作?答:用示波器觀察8051的XTAL2端是否有脈沖信號輸出(判斷震蕩電路工作是否正 常?)ALE(地址鎖存允許)(Address Latch Enable )輸出是fosc的6分頻用示波器觀察ALE是否有脈沖輸出(判斷 8051芯片的好壞?)觀察PSEN(判斷8051能夠到EPROM或 ROM中讀取指令碼?)因為/PSEN接外部EPROMROM的/OE端子OE=Out put En able(輸出允許)7. 89C51如何確定和改變當(dāng)前工作寄存器組答:PSW(程序狀態(tài)字)(
5、Program Status Word )中的 RS1 和 RS0可以給出4中組合 用來從4組工作寄存器組中進(jìn)行選擇PSW 屬于 SFR( Special Function Register )(特殊功能寄存器)8. 89C51 P0 口用作通用I / Q 口輸入時,若通過 TTL “OC門輸入數(shù)據(jù),應(yīng)注意什 么?為什么? 答:應(yīng)該要接一個上拉電阻9.讀端口鎖存器和“讀引腳”有何不同?各使用哪種指令?答:讀鎖存器(ANL P0,A)就是相當(dāng)于從存儲器中拿數(shù)據(jù),而讀引腳是從外部拿數(shù) 據(jù)(如MOV A,P1這條指令就是讀引腳的,意思就是把端口p1輸入數(shù)據(jù)送給A)傳送類MOV判位轉(zhuǎn)移JB、JNB這些
6、都屬于讀引腳,平時實驗時經(jīng)常用這些指令于外部通信,判斷外部鍵盤等;字節(jié)交換XCH XCHD算術(shù)及邏輯運算ORL、CPLANL ADD ADDC SUBB INC、DEC空制轉(zhuǎn)移 CJNE DJNZ都屬于讀鎖存器。10. 89C51 P0P3 口結(jié)構(gòu)有何不同?用作通用I / Q 口輸入數(shù)據(jù)時,應(yīng)注意什么 答:P0 口內(nèi)部沒有上拉電阻,可以用做 16位地址的低8 位;P3有第二功能;P2 口可以用做16位地址的高8位;需要上拉電阻。0C門電路無法輸出高低電平,只有靠上拉電阻才能實現(xiàn)11. 89C51單片機(jī)的EA信號有何功能 ?在使用8031時,EA信號引腳應(yīng)如何處理 ?答:(1)80C51單片機(jī)的
7、EA信號的功能編程電壓EA 為片外程序存儲器訪問允許信號,低電平有效;在編程時,其上施加21V的;EAEA引腳接高電平時,程序從片內(nèi)程序存儲器幵始執(zhí)行,即訪問片內(nèi)存儲器 引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。(2) 在使用80C31時,EA信號引腳的處理方法因為80C31沒有片內(nèi)的程序存儲器,所以在使用它時必定要有外部的程序存儲 器,EA信號引腳應(yīng)接低電平。12. 89C51單片機(jī)有哪些信號需要芯片引腳以第2功能的方式提供?第二功能答:第一功能串行口:P3.0RXD(串行輸入口)P 3.1TXD(串行輸出口)中斷:P3.2INTO外部中斷0P3.3INT1外部中斷1定時器/計數(shù)器
8、(TO、T1):P 3.4T0(定時器/計數(shù)器0的外部輸入)P3.5T1(定時器/計數(shù)器1的外部輸入)數(shù)據(jù)存儲器選通:P3.6WR(外部存儲器寫選通,低電平有效,輸出)P 3.7RD(外部存儲器讀選通,低電平有效,輸出)定時器/計數(shù)器(T2):P1.0T2(定時器T2的計數(shù)端)P1.1T2EX(定時器T2的外部輸入端)13.內(nèi)部RAM氐128字節(jié)單元劃分為哪3個主要部分?各部分主要功能是什么?答:片內(nèi)RAM氐128單元的劃分及主要功能:RAM區(qū)的 031(00HIFH),共 328個8位寄存器,編號為 R0R7(I)工作寄存器組(00HIFH)這是一個用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù)個單元。它
9、是4個通用工作寄存器組,每個組包含 位尋址區(qū)(20H2FH)從內(nèi)部數(shù)據(jù)RAM區(qū)的3247(20H2FH)的16個字節(jié)單元,共包含128位,是可位尋址的RAMS。這16個字節(jié)單元,既可進(jìn)行字節(jié)尋址,又可實現(xiàn)位尋址。(3)字節(jié)尋址區(qū)(30H7FH)從內(nèi)部數(shù)據(jù) RAM區(qū)的48127(30H7FH),共80個字節(jié)單元,可以采用間接字節(jié) 尋址的方法訪問。14. 使單片機(jī)復(fù)位有幾種方法?復(fù)位后機(jī)器的初始狀態(tài)如何?答:(1)單片機(jī)復(fù)位方法單片機(jī)復(fù)位方法有:上電自動復(fù)位、按鍵手動復(fù)位和兩種方式(2)復(fù)位后的初始狀態(tài)復(fù)位后機(jī)器的初始狀態(tài),即各寄存器的狀態(tài):PC之外,復(fù)位操作還對其他一些特 殊功能寄存器有影響,它
10、們的復(fù)位狀態(tài)如題表2-1所例15. 幵機(jī)復(fù)位后,CPU使用的是哪組工作寄存器?它們的地址是什么?CPU如何確定和 改變當(dāng)前工作寄存器組?答:一般幵機(jī)復(fù)位后都是選擇第一組通用工作寄存器作為工作寄存器的,一共有4組,分別為0.123連續(xù)位于OOh到1FH地址,然后在機(jī)器中有個程序狀態(tài)字 PSVy它的第四和第三位RS1, RS0是用來選擇工作寄RS1/RS00/0 0/1 1/0 1/1存器組的,可能不同機(jī)器地址稍有不同。他們倆的值和寄存器組的關(guān)系:使用的工作寄存器 0123地址00-07 08-0F 10-17 18-1F寫程序的時候就是通過定義程序狀態(tài)字來選擇使用不同的寄存器組。也可以直接對RS
11、1和RS0賦值。(最后一問同題7)16. 程序狀態(tài)寄存器PSW的作用是什么?常用標(biāo)志有哪些位?作用是什么?答:PSW是一個SFR(特殊功能寄存器)位于片內(nèi)RAM的高128B具體地址 D0H(00HFFH (片內(nèi)RAM的編址)(8bits 編址方法)PSW二P rogram Status Word(程序狀態(tài)字)PSW 的常用標(biāo)志位有哪些?CY二Carry(進(jìn)位標(biāo)志位)AC二Auxiliary Carry(輔助進(jìn)位標(biāo)志位)(半進(jìn)位標(biāo)志位)F0 用戶標(biāo)志位RS1 ,RS0,用來選擇當(dāng)前工作寄存器組( R0R7 (4選1)OV=Overflow(溢出標(biāo)志位)P=P arity(奇偶校驗位)17.位地址
12、7CH與字節(jié)地址7CH如何區(qū)別?位地址7CH具體在片內(nèi)RAM中的什么位置?答:用不同的尋址方式來加以區(qū)分,即訪問128個位地址用位尋址方式,訪問低128字節(jié)單元用字節(jié)尋址和間接尋址。具體地址為2F的第五位,即為7C。18. 89C51單片機(jī)的時鐘周期與振蕩周期之間有什么關(guān)系?什么叫機(jī)器周期和指令周期?答:時鐘信號的周期稱為機(jī)器狀態(tài)周期,是振蕩周期的兩倍。一個機(jī)器周期是指CPU訪問存儲器一次所需的時間。指令周期是執(zhí)行一條指令所需的時間。19. 一個機(jī)器周期的時序如何劃分 ?答:一個機(jī)器周期=12個震蕩周期=6個時鐘周期(狀態(tài)周期)S1P1 ,S1P2, S2P1, S2P2, S3P1, S3P
13、2, S4P1, S4P2, S5P1, S5P2, S6P1, S6P2其中 s=state (狀態(tài)),p=phase (相位)20.什么叫堆棧?堆棧指針SP的作用是什么?89C51單片機(jī)堆棧的容量不能超過多少字節(jié)?答:堆棧都是一種數(shù)據(jù)項按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top)對數(shù)據(jù)項進(jìn)行插入和刪除。要點:堆:順序隨意棧:后進(jìn)先出(Last-1 n/First-Out)在調(diào)用子程序時需要保存調(diào)用函數(shù)的CPU寄存器PC指針,PC指針是被CALL指令自動壓入SP所指向的片內(nèi)存儲器,CPU寄存器要由用戶用PUSH指令自行保存,因 此SP的作用就是一個指針,當(dāng)進(jìn)行中斷調(diào)用,子函數(shù)調(diào)用時將現(xiàn)
14、場數(shù)據(jù)壓入 SP所指向的存儲器,SP自動增加1或2,當(dāng)中斷結(jié)束RETI,調(diào)用返回RET,POP寸將SP數(shù)據(jù)彈出,SP自動減1或,28051最大為128字節(jié)的片內(nèi)存儲器, 21. 89C51有幾種低功耗方式?如何實現(xiàn)?答:空閑方式和掉電方式空閑方式和掉電方式是通過對 SFR中的PCON地址87H)相應(yīng)位置1而啟動的。當(dāng)CPU執(zhí)行完置IDL=1(PCON.1)的指令后,系統(tǒng)進(jìn)入空閑工作方式。這時,內(nèi)部時 鐘不向CPU提供,而只供給中斷、串行口、定時器部分。CPU的內(nèi)部狀態(tài)維持,即包括堆棧指針SP程序計數(shù)器PC程序狀態(tài)字PSW累加器ACC所有的內(nèi)容保持不 變,端口狀態(tài)也保持不變。 ALE和PSEN保
15、持邏輯高電平。當(dāng)CPU執(zhí)行一條置PCON.1位(PD為1的指令后,系統(tǒng)進(jìn)入掉電工作方式。在這種 工作方式下,內(nèi)部振蕩器停止工作。由于沒有振蕩時鐘,因此,所有的功能部件都 停止工作。但內(nèi)部 RAMI區(qū)和特殊功能寄存器的內(nèi)容被保留,而端口的輸出狀態(tài)值都 保存在對應(yīng)的 SFR中,ALE和PSEN都為低電平。22. PC與DPTF各有哪些特點?有何異同?答:(1)程序計數(shù)器PC作為不可尋址寄存器的特點程序計數(shù)器PC是中央控制器申最基本的寄存器, 是一個獨立的計數(shù)器,存放著 下一條將程序存儲器中取出的指令的地址。程序計數(shù)器PC變化的軌跡決定程序的流程。程序計數(shù)器的寬度決定了程序存儲 器可以 尋址的范圍。
16、程序計數(shù)器PC的基本工作方式有:程序計數(shù)器PC自動加1。這是最基本的工作方式,也是這個專用寄存器被稱為計數(shù) 器的原因。執(zhí)行條件或無條件轉(zhuǎn)移指令時,程序計數(shù)器將被置入新的數(shù)值,程序的流向 發(fā)生變化。變化的方式有下列幾種:帶符號的相對跳轉(zhuǎn) SJMR短跳轉(zhuǎn)AJMR長跳轉(zhuǎn)LJMP及JMP A+DPT等。在執(zhí)行調(diào)用指令或響應(yīng)中斷時 PC的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護(hù)將子程序的入口地址或者中斷矢量地址送入PC程序流向發(fā)生變化,執(zhí)行子程序或中斷服務(wù)程序;子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令RET或 RETI時,將棧頂?shù)膬?nèi)容送到PC寄存器中,程序流程又返回到原來的地方,繼續(xù)執(zhí)行
17、。(2) 地址指針DPTF的特點址)。地址指針DPTF與程序計數(shù)器PC的異同地址指針DPTR的特點是,它作為片外數(shù)據(jù)存儲器尋址用的地址寄存器(間接尋相同之處:兩者都是與地址有關(guān)的、16位的寄存器。其中,PC與程序存儲器的地址有關(guān),DPTR 與數(shù)據(jù)存儲器的地址有關(guān)。線)輸出的。但是,PC的輸出與 ALE及PSEN有關(guān)QPTR的輸出,則與 ALE RD及作為地址寄存器使用時,PC與DPTR都是通過P0和P2 口(作為16位地址總WF相聯(lián)系。不同之處: PC只能作為16位寄存器對待,由于有自動加 1的功能,故又稱為計數(shù)器;DPTR 可以作為16位寄存器對待,也可以作為兩個 8位寄存器對待。 PC是不
18、可以訪問的,有自己獨特的變化方式,它的變化軌跡決定了程序執(zhí)行的流程;DPTR 是可以訪問的,女口 MOV DPTR #XXXXH INC DPTF。23. 89C51端口鎖存器的“讀一修改一寫”操作與“讀引腳”操作有何區(qū)另I?答:指令系統(tǒng)中有些指令讀鎖存器的值 ,有些指令則讀引腳上的值。讀鎖存器指令是從鎖存器中讀取一個值并進(jìn)行處理,把處理后的值(原值或已修改后的值)重新寫入鎖存器中。這類指令稱為讀-修改-寫指令。對于讀-修改-寫指令。直接讀鎖存器而不是讀端口引腳,是因為從引腳上讀出的數(shù)據(jù)不一定能真正反映鎖存器的狀態(tài)。第三章1、指令:CPU根據(jù)人的意圖來執(zhí)行某種操作的命令指令系統(tǒng):一臺計算機(jī)所能
19、執(zhí)行的全部指令集合機(jī)器語言:用二進(jìn)制編碼表示,計算機(jī)能直接識別和執(zhí)行的語言匯編語言:用助記符、符號和數(shù)字來表示指令的程序語言高級語言:獨立于機(jī)器的,在編程時不需要對機(jī)器結(jié)構(gòu)及其指令系統(tǒng)有深入了解的通用性語言2、見第1題3、操作碼目的操作數(shù),源操作數(shù)4、尋址方式尋址空間立即數(shù)尋址程序存儲器ROM直接尋址片內(nèi)RAM氐128B、特殊功能寄存器寄存器尋址工作寄存器 R0-R7、A B、C DPTR寄存器間接尋址片內(nèi)RAM氐128B、片外RAM變址尋址程序存儲器(A+PC,A+DPTR相對尋址程序存儲器256B范圍(PC+偏移量)位尋址片內(nèi)RAM勺20H-2FH字節(jié)地址、部分 SFR5、要訪問特殊功能寄
20、存器和片外數(shù)據(jù)存儲器,應(yīng)采用哪些尋址方式?答SFR :直接尋址,位尋址,寄存器尋址;片外 RAM寄存器間接尋址6、MOV A , 40H ;直接尋址(40H)tAMOV R0 , A ;寄存器尋址(A)t R0MOV P1 , #0F0H ;立即數(shù)尋址 0F0t P1MOV R0,30H ;直接尋址(30H)MOV DPTR,#3848H ;立即數(shù)尋址 3848H DPTRMOV 40H,38H;直接尋址(38H)f 40HMOV R0,30H;直接尋址(30H)f R0MOV P 0,R0;寄存器尋址(R0)f P0MOV A , R0 ;寄存器間接尋址(R0) tAMOV P2 , P1
21、;直接尋址(P 1)t P2MOV 18H , #30H ;立即數(shù)尋址30hK 18H最后結(jié)果:(RO) =38H, (A) =40H, (PO) =38H, ( P1) = (P2) =OFOH, (DPTR =38484(18H) =30H, (30H) =38H, (38H) =40H, (40H) =40H, (48H) =38H注意:T左邊是內(nèi)容,右邊是單兀7、對89C51/S51片內(nèi)RAM的高128字節(jié)的地址空間尋址要注意什么?答用直接尋址,位尋址,寄存器尋址8、指出下列指令的本質(zhì)區(qū)別?MOVA,DATA直接尋址2字節(jié)1周期MOVA,#DATA ;立即數(shù)尋址2 字節(jié)1周期MOVMO
22、V74H,#78H ;立即數(shù)尋址3 字節(jié)2周期DATA1,DATA2 ; 直接尋址 3字節(jié)2周期MOVR0,40H ;(40H)=08H t(R0)MOV40H,A ;(A)=80 T 40H如果想查某一指令的機(jī)器碼,字節(jié)數(shù)或周期數(shù)可查閱書本后面的附錄9、MOVA,R0 ;(R0)=80H tAMOVR0,#35H;35H t R0最后結(jié)果:(R0) =35H(A) =80H,( 32H) =08H,( 40H) =80H 10、如何訪問SFR用直接尋址,位尋址,寄存器尋址11、如何訪問片外RAM只能采用寄存器間接尋址(用MOVX旨令)16、ANL A , #17H; 83HA 17H=03I
23、HA12、如何訪問片內(nèi)RAM低128字節(jié):直接尋址,位尋址,寄存器間接尋址,寄存器尋址(R0R7高128字節(jié):直接尋址,位尋址,寄存器尋址13、如何訪問片內(nèi)外ROM采用變址尋址(用 MOV指令) 14、說明十進(jìn)制調(diào)整的原因和方法答:壓縮BCD碼在進(jìn)行加法運算時應(yīng)逢十進(jìn)一,而計算機(jī)只將其當(dāng)作十六進(jìn)制數(shù)處理,此時得到的結(jié)果不正確。用DA A指令調(diào)整(加06H, 60H, 66H) 15、說明89C51/S51的布爾處理機(jī)功能答:用來進(jìn)行位操作ORL 17H , A;34HV 03H=37出 17H18、MOV 27H R7MOV 26H R6XRL A , R0;03H 37H=34HCPL A;
24、34H求反等于CBH所以(A) =CBH 17、(1) SETB ACC.(或 SETB E0H ;E0H 是累加器的地址(2)CLR ACC.7CLR ACC.6CLR ACC.5CLR ACC.4(3) CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.3MOV 25H R5MOV 24HR4MOV 23HR3MOV 22HR2MOV 21HR1MOV 20HRO19、MOV 2FH 20MOV 2EH , 21MOV 2DH , 2220、CLRCMOV A #5DH;被減數(shù)的低8位fAMOV R2 #B4HSUBB A R2;被減數(shù)減去減數(shù),差f AMOV 30H
25、A;低8位結(jié)果f 30HMOV A #6FH;被減數(shù)的高8位fASUBB A R2;被減數(shù)減去減數(shù),差f AMOV R2 #13H;減數(shù)高8位f R2MOV 31H A;高8位結(jié)果f 30H0進(jìn)位位注意:如果在你的程序中用到了進(jìn)位位,在程序幵始的時候要記得清21、( 1)心 10CJNE A #0AH L1;(A)與10比較,不等轉(zhuǎn)L1LJMP LABEL;相等轉(zhuǎn)LABELL1 : JNC LABEL;(A)大于 10,轉(zhuǎn) LABEL或者:CLR CSUBB A #0AHJNC LABEL(2) A 10CJNE A #0A4 L1;(A)與10比較,不等轉(zhuǎn)L1RETL1 : JNC LABE
26、L;(A)大于 10,轉(zhuǎn) LABEL;相等結(jié)束RET;(A)小于10,結(jié)束或者:CLR CSUBB A #OAHJNC L1RETL1 : JNZ LABELRET(3) AAMOV 63H,A;結(jié)果送62HMUL AB;F2HX O2H=E4HACLR A;清AADDCA , B;積的高8位加進(jìn)位位f AMOV 64H, A;結(jié)果送64H功能:將61H單元的內(nèi)容乘2,低8位再加上62H單元的內(nèi)容放入63H,將結(jié)果的高8 位放在 64H 單元。(A =024( B) =01H,( 61H) =F2H,( 62H) =CCH( 63H)二BO”( 64H) =02H39、MOV A XXHORL
27、 A #80HMOV XXH A40、( 2) MOVA, XXHMOV R0XRL A,R0第五章1、什么是中斷和中斷系統(tǒng)?其主要功能是什么?答:當(dāng)CPU正在處理某件事情的時候, 外部發(fā)生的某一件事件請求 CPU迅速去處理,于是,CPU暫時中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件,中斷服務(wù)處理完該事件 以后,再回到原來被終止的地方,繼續(xù)原來的工作。這種過程稱為中斷,實現(xiàn)這種功能的部件稱為中斷系統(tǒng)。功能:(1)使計算機(jī)具有實時處理能力,能對外界異步發(fā)生的事件作出及時的處完全消除了 CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率實現(xiàn)實時控制2、試編寫一段對中斷系統(tǒng)初始化的程序,使之允許IN
28、T0,INT1,TO串行口中斷,且使TO中斷為咼優(yōu)先級中斷。解:MOV IE,#097HMOV IP ,#02H 3、在單片機(jī)中,中斷能實現(xiàn)哪些功能?答:有三種功能:分時操作,實時處理,故障處理4、89C51共有哪些中斷源?對其中端請求如何進(jìn)行控制?答:(1) 89C51有如下中斷源 :外部中斷0請求,低電平有效 :外部中斷1請求,低電平有效 TO:定時器、計數(shù)器0溢出中斷請求 T1:定時器、計數(shù)器1溢出中斷請求TX/RX串行接口中斷請求(2)通過對特殊功能寄存器 TCON SCON IE、IP的各位進(jìn)行置位或復(fù)位等操作,可實現(xiàn)各種中斷控制功能5、什么是中斷優(yōu)先級?中斷優(yōu)先處理的原則是什么?答
29、:中斷優(yōu)先級是 CPU相應(yīng)中斷的先后順序。原則:先響應(yīng)優(yōu)先級高的中斷請求,再響應(yīng)優(yōu)先級低的如果一個中斷請求已經(jīng)被響應(yīng),同級的其它中斷請求將被禁止如果同級的多個請求同時出現(xiàn),則CPU通過內(nèi)部硬件查詢電路,按查詢順序確定應(yīng)該響應(yīng)哪個中斷請求查詢順序:外部中斷Of定時器0中斷f外部中斷1f定時器1中斷f串行接口中斷6、說明外部中斷請求的查詢和響應(yīng)過程。答:當(dāng)CPU執(zhí)行主程序第K條指令,外設(shè)向CPU發(fā)出中斷請求,CPU接到中斷請求 信號并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保存斷點地址,然后轉(zhuǎn)去響應(yīng)中 斷。CPU在每個S5P2期間順序采樣每個中斷源,CPU在下一個機(jī)器周期S6期間按優(yōu)先級順序查詢中斷
30、標(biāo)志,如果查詢到某個中斷標(biāo)志為1,將在接下來的機(jī)器周期 S1期間按優(yōu)先級進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動將相應(yīng)的中斷矢量地址裝入PC以便進(jìn)入相應(yīng)的中斷服務(wù)程序。中斷服務(wù)完畢后,CPU返回到主程序第K+1條指令繼續(xù)執(zhí)行。7、89C51在什么條件下可響應(yīng)中斷?答:有中斷源發(fā)出中斷請求中斷中允許位EA=1.即CPU開中斷申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽無同級或更高級中斷正在服務(wù)當(dāng)前指令周期已經(jīng)結(jié)束(6)若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另一條指令已執(zhí)行完畢8、簡述89C51單片機(jī)的中斷響應(yīng)過程。答:CPU在每個機(jī)器周期S5P2期間順序采樣每個中斷源,C
31、PU在下一個機(jī)器周期 S6期間按優(yōu)先級順序查詢中斷標(biāo)志, 如查詢到某個中斷標(biāo)志為1,將在接下來的機(jī)器周 期S1期間按優(yōu)先級進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動將相應(yīng)的中斷矢量地址裝89C51首先置位相應(yīng)的中斷入PC,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。一旦響應(yīng)中斷,“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調(diào)用指令, 把當(dāng)前的PC值壓入堆棧,以保護(hù)斷點,再將相應(yīng)的中斷服務(wù)的入口地址送入PC,于是CPU接著從中斷服務(wù)程序的入口處幵始執(zhí)行。對于有些中斷源,CPU在響應(yīng)中斷后會自動清除中斷標(biāo)志。9、在89C5吶存中,應(yīng)如何安排程序區(qū)?答:主程序一般從0030H幵始,主程序后一般是子程序及中斷服務(wù)程序。在這個大
32、 家還要清除各個中斷的中斷矢量地址。10、試述中斷的作用及中斷的全過程。答:作用:對外部異步發(fā)生的事件作出及時的處理過程:中斷請求,中斷響應(yīng),中斷處理,中斷返回11、當(dāng)正在執(zhí)行某一個中斷源的中斷服務(wù)程序時,如果有新的中斷請求出現(xiàn),試問在什么情況下可響應(yīng)新的中斷請求?在什么情況下不能響應(yīng)新的中斷請求?答:(1)符合以下6個條件可響應(yīng)新的中斷請求:a)有中斷源發(fā)出中斷請求b)中斷允許位EA=1,即CPU開中斷C)申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽d)無同級或更高級中斷正在被服務(wù)e)當(dāng)前的指令周期已結(jié)束f)若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另一條指令已被執(zhí)
33、行完12、89C51單片機(jī)外部中斷源有幾種觸發(fā)中斷請求的方法?如何實現(xiàn)中斷請求?答:有兩種方式:電平觸發(fā)和邊沿觸發(fā)電平觸發(fā)方式:CPU在每個機(jī)器周期的S5P2期間采樣外部中斷引腳的輸入電平。若為低電平,使IE1(IE0)置“1”,申請中斷;若為高電平,貝yIE1(IE0)清零。邊沿觸發(fā)方式:CPU在每個機(jī)器周期S5P2期間采樣外部中斷請求引腳的輸入電 平。如果在相繼的兩個機(jī)器周期采樣過程中,一個機(jī)器周期采樣到外部中斷請求為高電平,接著下一個機(jī)器周期采樣到外部中斷請求為低電平,則使IE1(IE0)置“ 1”申請中斷;否則,lEI(IEO)置0013、89C51單片機(jī)有五個中斷源,但只能設(shè)置兩個中
34、斷優(yōu)先級,因此,在中斷優(yōu)先級安排上受到一定的限制。試問以下幾種中斷優(yōu)先順序的安排(級別由高到低)是否 可能:若可能,則應(yīng)如何設(shè)置中斷源的中斷級別:否則,請簡述不可能的理由。定時器0,定時器1,外中斷0,外中斷1,串行口中斷。可以,MOV IP ,#OAH串行口中斷,外中斷0,定時器0,外中斷1,定時器1o可以,MOV IP ,#10H外中斷0,定時器1,外中斷1,定時器0,串行口中斷。不可以,只能設(shè)置一級高級優(yōu)先級,如果將INT0,T1設(shè)置為高級,而T0級別高于 外中斷0,外中斷1,串行口中斷,定時器0,定時器1oINT1.可以,MOV IP ,#15H串行口中斷,定時器0,外中斷0,外中斷1
35、,定時器1。不可以 外中斷0,外中斷1,定時器0,串行口中斷,定時器1。不可以外中斷0,定時器1,定時器0,外中斷1,串行口中斷??梢?,MOV IP,#09H14、89C51各中斷源的中斷標(biāo)志是如何產(chǎn)生的?又是如何清0的? CPUP向應(yīng)中斷時,中斷入口地址各是多少?答:各中斷標(biāo)志的產(chǎn)生和清“ 0”如下:(1) 外部中斷類0和外部中外部中斷是由外部原因引起的,可以通過兩個固定引腳,即外部中斷斷1輸入信號。外部中斷0請求信號,由P3.2腳輸入。通過IT0來決定中斷請求信號是低電平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并且使IE0=1。硬件復(fù)位。(2) 定時中斷類定時中斷是為滿足
36、定時或計數(shù)溢出處理需要而設(shè)置的。當(dāng)定時器/計數(shù)器中的計數(shù)結(jié)構(gòu)發(fā)生計數(shù)溢出的,即表明定時時間到或計數(shù)值已滿,這時就以計數(shù)溢出信號作為中斷請求,去置位一個溢出標(biāo)志位。這種中斷請求是在單片機(jī)芯片內(nèi)部發(fā)生的,無需在芯片上設(shè)置引入端,但在計數(shù)方式時,中斷源可以由外部引入。TFO:定時器TO溢出中斷請求。當(dāng)定時器 TO產(chǎn)生溢出時,定時器 T0請求標(biāo)志TFO=1,請求中斷處理。使用中斷時由硬件復(fù)位,在查詢方式下可由軟件復(fù)位。TF1:定時器T1溢出中斷請求。功能與用法類似定時器T0(3) 串行口中斷類串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的。串行中斷請求也是在單片機(jī)芯RI端片內(nèi)部發(fā)生的,但當(dāng)串行口作為接收端時
37、,必須有一完整的串行幀數(shù)據(jù)從引入芯片,才可能引發(fā)中斷。RI或TI :串行口中斷請求。當(dāng)接收或發(fā)送一串幀數(shù)據(jù)時,使內(nèi)部串行口中斷請求標(biāo)志RI或TI=1,并請求中斷。響應(yīng)后必須軟件復(fù)位。CPU響應(yīng)中斷時,中斷入口地址如下:中斷源入口地址外部中斷00003H定時器TO中斷OOOBH外部中斷10013H定時器T1中斷001BH串行口中斷 0023H 15、中斷響應(yīng)時間是否為確定不變的?為什么?答:中斷響應(yīng)時間不是確定不變的。由于CPU不是在任何情況下對中斷請求都予以響應(yīng)的;此外,不同的情況對中斷響應(yīng)的時間也是不同的。下面以外部中斷為例, 說明中斷響應(yīng)的時間。在每個機(jī)器周期的S5P2期間,端的電平被所存
38、到 TCON勺IE0位,CPU在下一個機(jī)器周期才會查詢這些值。這時滿足中斷響應(yīng)條件,下一條要執(zhí)行的指令將是一條硬件長調(diào)用指令“ LCALL,使程序轉(zhuǎn)入中斷矢量入口。調(diào)用本身要用2個機(jī)器周期,這至少需要3個機(jī)器樣,從外部中斷請求有效到幵始執(zhí)行中斷服務(wù)程序的第一條指令, 周期,這是最短的響應(yīng)時間。如果遇到中斷受阻的情況,這中斷響應(yīng)時間會更長一些。例如,當(dāng)一個同級或更高 級的中斷服務(wù)程序正在進(jìn)行,則附加的等待時間取決于正在進(jìn)行的中斷服務(wù)程序:13如果正在執(zhí)行的一條指令還沒有進(jìn)行到最后一個機(jī)器周期,附加的等待時間為 個機(jī)器周期;如果正在執(zhí)行的是 RETI指令或者訪問IE或IP的指令,則附加的等待若系統(tǒng)
39、中只有一個中斷源,則響應(yīng)時間為 38個機(jī)器周期。時間在5個機(jī)器周期內(nèi)。PSW寄存器及其他一些16、中斷響應(yīng)過程中,為什么通常要保護(hù)現(xiàn)場?如何保護(hù)?答:因為一般主程序和中斷服務(wù)程序都可能會用到累加器, 寄存器。CPU在進(jìn)入中斷服務(wù)程序后,用到上述寄存器時,就會破壞它原來存在寄 存器中的內(nèi)容;一旦中斷返回,將會造成主程序的混亂。因而在進(jìn)入中斷服務(wù)程序 后,一般要先保護(hù)現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序以前再恢復(fù)現(xiàn)場。保護(hù)方法一般是把累加器、PSW寄存器及其他一些與主程序有關(guān)的寄存器壓入堆棧。在保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場時,為了不使現(xiàn)場受到破壞或者造成混亂,一般規(guī)定此時CPU 不響應(yīng)新的中斷請求。這
40、就要求在編寫中斷服務(wù)程序時,注意在保護(hù)現(xiàn)場之前要關(guān) 中斷,在恢復(fù)現(xiàn)場之后幵中斷。如果在中斷處理時允許有更咼級的中斷打斷它,則 在保護(hù)現(xiàn)場之后再幵中斷,恢復(fù)現(xiàn)場之前關(guān)中斷。17、清敘述中斷響應(yīng)的CPU操作過程,為什么說中斷操作是一個 CPU的微查詢過程?答:在中斷響應(yīng)中,CPU要完成以下自主操作過程:a)b)中斷源標(biāo)志清零(TI、RI除外)C)中斷斷點地址裝入堆棧保護(hù)(不保護(hù) PSW置位相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器,以標(biāo)明所響應(yīng)中斷的優(yōu)先級別d)中斷入口地址裝入 PC,以便使程序轉(zhuǎn)到中斷入口地址處在計算機(jī)內(nèi)部,中斷表現(xiàn)為 CPU的微查詢操作。89C51單片機(jī)中,CPU在每個機(jī)器周個機(jī)器周期的S1狀態(tài)中
41、,響應(yīng)最高級中斷請求。但是以下情況除外:a)CPU正在處理相同或更高優(yōu)先級中斷b)多機(jī)器周期指令中,還未執(zhí)行到最后一個機(jī)器周期C)正在執(zhí)行中斷系統(tǒng)的SFR操作,女口 RETI指令及訪問IE、IP等操作時,要延后一條指令18、在中斷請求有效并幵中斷狀況下,能否保證立即響應(yīng)中斷?有什么條件?答:在中斷請求有效并幵中斷狀況下,并不能保證立即響應(yīng)中斷。這是因為,在計 算機(jī)內(nèi)部,中斷表現(xiàn)為 CPU的微查詢操作。89C51單片機(jī)中,CPU在每個機(jī)器周期的S6狀態(tài)下,查詢中斷源,并按優(yōu)先級管理規(guī)則處理同時請求的中斷源,且在下一個機(jī)器周期的S1狀態(tài)中,響應(yīng)最高級中斷請求。在以下情況下,還需要有另外的等待:a)
42、CPU正在處理相同或更高優(yōu)先級中斷b)多機(jī)器周期指令中,還未執(zhí)行到最后一個機(jī)器周期C)正在執(zhí)行中斷系統(tǒng)的SFR操作,女口 RETI指令及訪問IE、IP等操作時,要延后一條指令第6章習(xí)題1、定時器模式2有什么特點?適用于什么場合?答:模式2把TLO(或TL1)配置成一個可以自動重裝載的8位定時器/計數(shù)器。TLO計數(shù)溢出時不僅使溢出中斷標(biāo)志位TFC置1,而且還自動把THO中的內(nèi)容重新裝載到TLO中。TLO用作8位計數(shù)器,THC用以保存初值。用于定時工作方式時間(TFO溢出周期)為,用于計數(shù)工作方式時,最大計數(shù)長度(TH(初值=0)為28=256個外部脈沖。這種工作方式可省去用戶軟件重裝初值的語句,
43、并可產(chǎn)生相當(dāng)精確定時時間,特別 適于作串行波特率發(fā)生器。2、單片機(jī)內(nèi)部定時方式產(chǎn)生頻率為 100KH等寬矩形波,假定單片機(jī)的晶振頻率為 12MH,請編程實現(xiàn)。答:TO低 5 位:1BHTO 高 8位:FFHMOV TMOD,#OOH ;設(shè)置定時器 TO工作于模式OMOV TLO,#1BH ;設(shè)置5ms定時初值MOV THO,#OFFHSETB TRO;啟動TOLOOP:JBC TFO,L1;查詢到定時時間到?時間到轉(zhuǎn) L1SJMP LOOP;時間未到轉(zhuǎn)LOOP繼續(xù)查詢L1: MOV TL0,#1BH重新置入定時初值MOV TH0,#0FFHCPL P 1.0輸出取反,形成等寬矩形波SJMP LOOP;重復(fù)循環(huán)3、89C51定時器有哪幾種工作模式?有何區(qū)另1?答:有四種工作模式:模式0,模式1,模式2,模式3(1)模式0:選擇定時器的高8位和低5位組成一個13位定時器/計數(shù)器。TL低5位溢出時向TH進(jìn)位,TH溢出時向中斷標(biāo)志位 TF進(jìn)位,并申請中斷。定時時間t=(2 13-初值)X振蕩周期X 12;計數(shù)長度位213=8192個外部脈沖(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款人與出質(zhì)人之間的合同
- 簡易個人分包合同
- 廢止采購合同
- 專業(yè)分包工程合同樣本
- 專業(yè)工程勘察招標(biāo)啟示
- 互聯(lián)網(wǎng)金融交易擔(dān)保協(xié)議
- 土工網(wǎng)帶采購合同
- 技術(shù)服務(wù)合同稅率動態(tài)
- 技術(shù)服務(wù)合同的技術(shù)改進(jìn)費用標(biāo)準(zhǔn)
- 招標(biāo)文件價格詢價步驟
- 外研社英語教材(一年級起點版)四年級上冊句型總結(jié)
- 267條表情猜成語【動畫版】
- 科研課題立項評審評分參照標(biāo)準(zhǔn)
- 統(tǒng)編版語文三年級上冊第三單元培優(yōu)試卷(含答案)
- 生產(chǎn)效率統(tǒng)計表
- 醫(yī)療機(jī)構(gòu)藥品自查報告(3篇)
- 鋼板切割施工方案
- 有創(chuàng)機(jī)械通氣與無創(chuàng)機(jī)械通氣比較
- SWITCH暗黑破壞神3超級金手指修改 版本號:2.7.4.84040
- 廣東省廣州市黃埔區(qū)2023-2024學(xué)年數(shù)學(xué)四年級第一學(xué)期期末達(dá)標(biāo)檢測試題含答案
- 控制計劃(空白)
評論
0/150
提交評論