

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章1.單片機(jī)具有哪些特點(diǎn)(1)片內(nèi)存儲(chǔ)容量越來(lái)越大。(2 抗干擾性好,可靠性高。(3) 芯片引線齊全,容易擴(kuò)展。(4) 運(yùn)行速度高,控制功能強(qiáng)。(5)單片機(jī)內(nèi)部的數(shù)據(jù)信息保存時(shí)間很長(zhǎng),有的芯片可以達(dá)到100 年以上。2. 89C51 單片機(jī)內(nèi)包含哪些主要邏輯功能部件?答:80C51 系列單片機(jī)在片內(nèi)集成了以下主要邏輯功能部件:(l)CPU(中央處理器):8位片內(nèi) RAM:128B特殊功能寄存器:21個(gè)程序存儲(chǔ)器:4KB(5)并行 I/O 口 :8 位, 4 個(gè)(6)串行接口 :全雙工, 1 個(gè)定時(shí)器/計(jì)數(shù)器:16位,2 個(gè)(8)片內(nèi)時(shí)鐘電路:1 個(gè)3.什么是微處理器(CPU)、微機(jī)和單片機(jī)
2、?答:微處理器本身不是計(jì)算機(jī),但它是小型計(jì)算機(jī)或微機(jī)的控制和處理部分。微機(jī)則是具有完整運(yùn)算及控制功能的計(jì)算機(jī),除了微處理器外還包括存儲(chǔ)器、 接口適配器以及輸入輸出設(shè)備等。單片機(jī)是將微處理器、一定容量的 RAM ROM 以及 I/O 口、定時(shí)器等電路集成在一塊芯 片上,構(gòu)成的單片微型計(jì)算機(jī)。4微型計(jì)算機(jī)怎樣執(zhí)行一個(gè)程序?答:通過(guò) CPU 指令,提到內(nèi)存當(dāng)中,再逐一執(zhí)行。第二章1.89C51 單片機(jī)內(nèi)包含哪些主要邏輯功能部件?答:80C51 系列單片機(jī)在片內(nèi)集成了以下主要邏輯功能部件:(l)CPU(中央處理器):8位片內(nèi) RAM:128B特殊功能寄存器:21 個(gè)程序存儲(chǔ)器:4KB(5)并行 I/O
3、 口 :8 位, 4 個(gè)(6)串行接口 :全雙工, 1 個(gè)定時(shí)器/計(jì)數(shù)器:16位,2 個(gè)(8)片內(nèi)時(shí)鐘電路:1 個(gè)2.89C51 的 EA 端有何用途?答:/EA 端接高電平時(shí),CPL 只訪問(wèn)片內(nèi) 并執(zhí)行內(nèi)部程序,存儲(chǔ)器。/EA 端 接低電平時(shí),CPU 只訪問(wèn)外部 ROM 并執(zhí)行片外程序存儲(chǔ)器中的指令。/EA 端保持高電 平時(shí),CPL執(zhí)行內(nèi)部存儲(chǔ)器中的指令。3. 89C51 的存儲(chǔ)器分哪幾個(gè)空間?如何區(qū)別不同空間的尋址?答:ROM片內(nèi) ROh 和片外 ROM一編址)(使用 MOVC (數(shù)據(jù)傳送指令)(16bits 地 址)(64KB片外 RAM( MOVX (16bits 地址)(64KB)片
4、內(nèi) RAM( MOV( 8bits 地址)(256B)4.簡(jiǎn)述 89C51 片內(nèi) RAM 勺空間分配。答:片內(nèi) RAM 有 256B低 128B 是真正的 RAM 區(qū)高 128B 是 SFR(特殊功能寄存器)區(qū)5. 簡(jiǎn)述布爾處理存儲(chǔ)器的空間分配,片內(nèi) RAM 中包含哪些可位尋址單元。答:片內(nèi) RAME 從 00HFFH(256B)其中 20H2FH(字節(jié)地址)是位尋址區(qū)對(duì)應(yīng)的位地址是 00H7FH6. 如何簡(jiǎn)捷地判斷 89C51 正在工作?答:用示波器觀察 8051 的 XTAL2 端是否有脈沖信號(hào)輸出(判斷震蕩電路工作是否正常?)ALE (地址鎖存允許)(Address Latch Enab
5、le )輸出是 fosc 的 6 分頻用示波器觀察 ALE 是否有脈沖輸出(判斷 8051 芯片的好壞?)觀察 PSEN(判斷 8051 能夠到 EPROM 或 ROM 中讀取指令碼?)因?yàn)?PSEN 接外部 EPROMROIM 的/OE 端子OE=Output En able (輸出允許)7. 89C51 如何確定和改變當(dāng)前工作寄存器組?答:PSV(程序狀態(tài)字)(Program Status Word )中的 RS1 禾口 RS0可以給出 4 中組合用來(lái)從 4 組工作寄存器組中進(jìn)行選擇PSW 屬于 SFR( Special Function Register)(特殊功能寄存器)9讀端口鎖存器
6、和“讀引腳”有何不同?各使用哪種指令?答:讀鎖存器(ANLP0,A)就是相當(dāng)于從存儲(chǔ)器中拿數(shù)據(jù),而讀引腳是從外部拿數(shù)據(jù)|如MOV A,P1 這條指令就是讀引腳的,意思就是把端口 p1 輸入數(shù)據(jù)送給 A)傳送類 MOV 判位轉(zhuǎn)移 JB、JNB 這些都屬于讀引腳,平時(shí)實(shí)驗(yàn)時(shí)經(jīng)常用這些指令 于外部通信,判斷外部鍵盤(pán)等;字節(jié)交換 XCH XCHDI 術(shù)及邏輯運(yùn)算 ORL、CPL ANLADD ADDC SUBB INC、DEC 控制轉(zhuǎn)移 CJNE DJNZ 都屬于讀鎖存器。10. 89C51 P0P3 口結(jié)構(gòu)有何不同?用作通用 I / O 口輸入數(shù)據(jù)時(shí),應(yīng)注意什么?答:P0 口內(nèi)部沒(méi)有上拉電阻,可以用
7、做 16 位地址的低 8 位;WP3 有第二功能;P2 口可以用做 16 位地址的高 8 位;需要上拉電阻。0C 門(mén)電路無(wú)法輸出高低電平,只有靠上拉電阻才能實(shí)現(xiàn)11. 89C51 單片機(jī)的 EA信號(hào)有何功能?在使用 8031 時(shí),EA信號(hào)引腳應(yīng)如何處理?答:(1)80C51 單片機(jī)的 EA 信號(hào)的功能EA 為片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效;在編程時(shí),其上施加 21V 的編程 電壓EA 引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器開(kāi)始執(zhí)行,即訪問(wèn)片內(nèi)存儲(chǔ)器;EA 引腳 接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器程序。(2)在使用 80C31 時(shí),EA 信號(hào)引腳的處理方法因?yàn)?80C31 沒(méi)有片內(nèi)
8、的程序存儲(chǔ)器,所以在使用它時(shí)必定要有外部的程序存儲(chǔ)器,EA 信號(hào)引腳應(yīng)接低電平。12. 89C51 單片機(jī)有哪些信號(hào)需要芯片引腳以第 2 功能的方式提供?答: 第一功能第二功能串行口:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)中斷:P3.2INT0外部中斷 0P3.3INT1外部中斷 1定時(shí)器/計(jì)數(shù)器( T0、T1):P3.4T0(定時(shí)器/計(jì)數(shù)器 0 的外部輸入)P3.5T1(定時(shí)器 / 計(jì)數(shù)器 1 的外部輸入)數(shù)據(jù)存儲(chǔ)器選通:P3.6WR(外部存儲(chǔ)器寫(xiě)選通,氐電平有效,輸出)P3.7RD(外部存儲(chǔ)器讀選通,氐電平有效,輸出)定時(shí)器/計(jì)數(shù)器( T2):P1.0T2(定時(shí)器 T2
9、的計(jì)數(shù)端)P1.1T2EX(定時(shí)器 T2 的外部輸入端)13. 內(nèi)部 RAM 氐 128 字節(jié)單元?jiǎng)澐譃槟?3 個(gè)主要部分?各部分主要功能是什么?答:片內(nèi) RAM 氐 128 單元的劃分及主要功能:(l)工作寄存器組 (00HlFH)這是一個(gè)用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù) RAME 的 031(00HIFH),共 32 個(gè)單 元。它是 4 個(gè)通用工作寄存器組,每個(gè)組包含 8 個(gè) 8 位寄存器,編號(hào)為 R0R7。(2)位尋址區(qū) (20H2FH)從內(nèi)部數(shù)據(jù) RAM 區(qū)的 3247(20H2FH)的 16 個(gè)字節(jié)單元,共包含 128 位,是可位尋址的 RAM 區(qū)。這 16 個(gè)字節(jié)單元,既可進(jìn)行字節(jié)
10、尋址,又可實(shí)現(xiàn)位尋址。(3)字節(jié)尋址區(qū) (30H7FH)從內(nèi)部數(shù)據(jù) RAM 區(qū)的 48127(30H7FH),共 80 個(gè)字節(jié)單元,可以采用間接字節(jié)尋址的方法訪問(wèn)。15. 開(kāi)機(jī)復(fù)位后,CPU 使用的是哪組工作寄存器?它們的地址是什么?CPU 如何確定和改 變當(dāng)前工作寄存器組?答:一般開(kāi)機(jī)復(fù)位后都是選擇第一組通用工作寄存器作為工作寄存器的,一共有 4 組, 分別為 0.123 連續(xù)位于 00h 到 1FH 地址,然后在機(jī)器中有個(gè)程序狀態(tài)字PSW它的第四和第三位 RS1, RSO 是用來(lái)選擇工作寄存 器組的,可能不同機(jī)器地址稍有不同。他們倆的值和寄存器組的關(guān)系:RS1/RS00/0 0/1 1/0
11、 1/1使用的工作寄存器 0123地址 00-07 08-0F 10-17 18-1F寫(xiě)程序的時(shí)候就是通過(guò)定義程序狀態(tài)字來(lái)選擇使用不同的寄存器組。 也可以直接對(duì) RS1 和RS0賦值。(最后一問(wèn)同題 7)16. 程序狀態(tài)寄存器 PSW 的作用是什么?常用標(biāo)志有哪些位?作用是什么?答:PSV 是一個(gè) SFR(特殊功能寄存器)位于片內(nèi) RAM 的高 128B具體地址 DOH(OOHFFH(片內(nèi) RAM 的編址)(8bits 編址方法)PSW=Program Status Word (程序狀態(tài)字)PSW 的常用標(biāo)志位有哪些?CY=Carry (進(jìn)位標(biāo)志位)AC=Auxiliary Carry (輔助
12、進(jìn)位標(biāo)志位)(半進(jìn)位標(biāo)志位)F0 用戶標(biāo)志位RS1 ,RS0 用來(lái)選擇當(dāng)前工作寄存器組(R0R7 (4 選 1)OV=Overflow (溢出標(biāo)志位)P=Parity (奇偶校驗(yàn)位)17. 位地址 7CH 與字節(jié)地址 7CH 如何區(qū)別?位地址 7CH 具體在片內(nèi) RAM 中的什么位置?答:用不同的尋址方式來(lái)加以區(qū)分,即訪問(wèn) 128 個(gè)位地址用位尋址方式,訪問(wèn)低 128 字 節(jié)單元用字節(jié)尋址和間接尋址。具體地址為 2F 的第五位,即為 7C。18. 89C51 單片機(jī)的時(shí)鐘周期與振蕩周期之間有什么關(guān)系?什么叫機(jī)器周期和指令周期?答:時(shí)鐘信號(hào)的周期稱為機(jī)器狀態(tài)周期,是振蕩周期的兩倍。一個(gè)機(jī)器周期是
13、指CPI 訪問(wèn)存儲(chǔ)器一次所需的時(shí)間。指令周期是執(zhí)行一條指令所需的時(shí)間。19.一個(gè)機(jī)器周期的時(shí)序如何劃分 ?答:一個(gè)機(jī)器周期 =12 個(gè)震蕩周期 =6 個(gè)時(shí)鐘周期(狀態(tài)周期)S1P1 , S1P2, S2P1,S2P2,S3P1, S3P2, S4P1,S4P2, S5P1, S5P2, S6P1,S6P2 其中 s=state (狀態(tài)),p=phase (相位)20.什么叫堆棧?堆棧指針SP的作用是什么?89C51單片機(jī)堆棧的容量不能超過(guò)多少字 節(jié)?答:堆棧都是一種數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端( 稱為棧頂(top)對(duì)數(shù)據(jù)項(xiàng) 進(jìn)行插入和刪除。要點(diǎn):堆:順序隨意棧:后進(jìn)先出 (Last-I
14、n/First-Out)在調(diào)用子程序時(shí)需要保存調(diào)用函數(shù)的CPU 寄存器 PC 指針,PC 指針是被 CALL 指令自動(dòng)壓入 SP 所指向的片內(nèi)存儲(chǔ)器,CPU 寄存器要由用戶用 PUSH 指令自行保存,因此 SP 的作用就是一個(gè)指針,當(dāng)進(jìn)行中斷調(diào)用,子函數(shù)調(diào)用時(shí)將現(xiàn)場(chǎng)數(shù)據(jù)壓入 SP 所指向的存儲(chǔ) 器,SP自動(dòng)增加 1 或 2,當(dāng)中斷結(jié)束 RETI,調(diào)用返回 RET,POF 時(shí)將 SP 數(shù)據(jù)彈出,SP 自動(dòng)減1 或, 28051 最大為 128 字節(jié)的片內(nèi)存儲(chǔ)器 ,0X20 以上理論都可以做堆棧用 96 字節(jié),8052 為 256 字節(jié) 224 字節(jié)可用, 但這樣便沒(méi)有其它空間可用于數(shù)據(jù)存儲(chǔ)現(xiàn)在的
15、單片機(jī)的程序一般都 能用 C51來(lái),不用關(guān)心堆棧大小與 SP 寄存器21. 89C51 有幾種低功耗方式?如何實(shí)現(xiàn)? 答:空閑方式和掉電方式空閑方式和掉電方式是通過(guò)對(duì) SFR 中的 PCO(地址 87H)相應(yīng)位置 1 而啟動(dòng)的。當(dāng) CPU 執(zhí)行完置 IDL=1(PC0N.1)的指令后,系統(tǒng)進(jìn)入空閑工作方式。這時(shí),內(nèi)部時(shí)鐘 不向CPU 提供,而只供給中斷、串行口、定時(shí)器部分。CPU 的內(nèi)部狀態(tài)維持,即包括堆棧指針 SP、程序計(jì)數(shù)器 PC 程序狀態(tài)字 PSW 累加器 ACC 所有的內(nèi)容保持不變,端口 狀態(tài)也保持不變。ALE 和 PSEN 保持邏輯高電平。當(dāng) CPU 執(zhí)行一條置 PCON.1B( P
16、D 為 1 的指令后,系統(tǒng)進(jìn)入掉電工作方式。在這種工 作方式下,內(nèi)部振蕩器停止工作。由于沒(méi)有振蕩時(shí)鐘,因此,所有的功能部件都停止工 作。但內(nèi)部RAME 和特殊功能寄存器的內(nèi)容被保留, 而端口的輸出狀態(tài)值都保存在對(duì)應(yīng) 的 SFR 中, ALE和 PSEN 都為低電平。22. PC 與 DPTF 各有哪些特點(diǎn)?有何異同?答:(1)程序計(jì)數(shù)器 PC 作為不可尋址寄存器的特點(diǎn)程序計(jì)數(shù)器 PC 是中央控制器申最基本的寄存器,是一個(gè)獨(dú)立的計(jì)數(shù)器,存放著下 一條將程序存儲(chǔ)器中取出的指令的地址。程序計(jì)數(shù)器 PC 變化的軌跡決定程序的流程。程序計(jì)數(shù)器的寬度決定了程序存儲(chǔ)器 可以尋址的范圍。程序計(jì)數(shù)器 PC 的基
17、本工作方式有:1程序計(jì)數(shù)器 PC 自動(dòng)加 1。這是最基本的工作方式,也是這個(gè)專用寄存器被稱為 計(jì)數(shù)器的原因。2執(zhí)行條件或無(wú)條件轉(zhuǎn)移指令時(shí), 程序計(jì)數(shù)器將被置入新的數(shù)值, 程序的流向發(fā)生 變化。變化的方式有下列幾種:帶符號(hào)的相對(duì)跳轉(zhuǎn) SJMP 短跳轉(zhuǎn) AJMP 長(zhǎng)跳轉(zhuǎn) LJMP 及 JMPA+DPT 等。3在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí):PC 的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護(hù);將子程序的入口地址或者中斷矢量地址送入PC 程序流向發(fā)生變化,執(zhí)行子程序或中斷服務(wù)程序;子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令RET 或 RETI 時(shí),將棧頂?shù)膬?nèi)容送到 PC 寄存器中,程序流程又返
18、回到原來(lái)的地方,繼續(xù)執(zhí)行。(2)地址指針 DPTR 的特點(diǎn)地址指針 DPTF 的特點(diǎn)是,它作為片外數(shù)據(jù)存儲(chǔ)器尋址用的地址寄存器(間接尋址)。(3)地址指針 DPTF 與程序計(jì)數(shù)器 PC 的異同1相同之處:兩者都是與地址有關(guān)的、16 位的寄存器。其中,PC 與程序存儲(chǔ)器的地址有關(guān),而 DPTR與數(shù)據(jù)存儲(chǔ)器的地址有關(guān)。作為地址寄存器使用時(shí),PC 與 DPTF 都是通過(guò) P0 和 P2 口(作為 16 位地址總線) 輸出的。但是,PC 的輸出與 ALE 及 PSEN 有關(guān);DPTR 的輸出,則與 ALE RD 及 WF 相聯(lián)系。2不同之處:PC 只能作為 16 位寄存器對(duì)待,由于有自動(dòng)加 1 的功能
19、,故又稱為計(jì)數(shù)器;DPTR 可以作為 16 位寄存器對(duì)待,也可以作為兩個(gè) 8 位寄存器對(duì)待。PC 是不可以訪問(wèn)的,有自己獨(dú)特的變化方式,它的變化軌跡決定了程序執(zhí)行的 流程;DPTR 是可以訪問(wèn)的,女口 MOV DPTR #XXXXH INC DPTR23. 89C51 端口鎖存器的“讀一修改一寫(xiě)”操作與“讀引腳”操作有何區(qū)別?答:指令系統(tǒng)中有些指令讀鎖存器的值,有些指令則讀引腳上的值。讀鎖存器指令是從 鎖存器中讀取一個(gè)值并進(jìn)行處理,把處理后的值(原值或已修改后的值)重新寫(xiě)入鎖存 器中。這類指令稱為讀-修改-寫(xiě)指令。對(duì)于讀-修改-寫(xiě)指令。直接讀鎖存器而不是讀端口引腳,是因?yàn)閺囊_上讀出的數(shù) 據(jù)不
20、一定能真正反映鎖存器的狀態(tài)。單片機(jī)原理及接口技術(shù)課后習(xí)題答案 第三章1、指令:CPU 艮據(jù)人的意圖來(lái)執(zhí)行某種操作的命令指令系統(tǒng):一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令集合機(jī)器語(yǔ)言:用二進(jìn)制編碼表示,計(jì)算機(jī)能直接識(shí)別和執(zhí)行的語(yǔ)言匯編語(yǔ)言:用助記符、符號(hào)和數(shù)字來(lái)表示指令的程序語(yǔ)言高級(jí)語(yǔ)言:獨(dú)立于機(jī)器的,在編程時(shí)不需要對(duì)機(jī)器結(jié)構(gòu)及其指令系統(tǒng)有深入了解的通用 性語(yǔ)言2、見(jiàn)第 1 題3、簡(jiǎn)述 8951 的匯編指令格式。答: 操作碼目的操作數(shù),源操作數(shù)4、簡(jiǎn)述 8951 的尋址方式和所能涉及的尋址空間。尋址方式尋址空間立即數(shù)尋址程序存儲(chǔ)器 ROM直接尋址片內(nèi) RAM 氐 128B 特殊功能寄存器寄存器尋址工作寄存器
21、 R0-R7、AB、C、DPTR寄存器間接尋址片內(nèi) RAM 氐 128B 片外 RAM變址尋址程序存儲(chǔ)器(A+PC,A+DPTR相對(duì)尋址程序存儲(chǔ)器 256B 范圍(PC+偏移量)位尋址片內(nèi) RAM 勺 20H-2FH 字節(jié)地址、部分 SFR5、訪問(wèn)特殊功能寄存器和外數(shù)據(jù)存儲(chǔ)器,應(yīng)采用那些尋址方式?答:SFR:直接尋址,位尋址,寄存器尋址;片外 RAM 寄存器間接尋址6、8951 中已知(30H) =38H 請(qǐng)分析以下各是什么指令,說(shuō)明源操作數(shù)的尋址方式以 及執(zhí)行結(jié)果。1、指令:CPU 艮據(jù)人的意圖來(lái)執(zhí)行某種操作的命令MOV A, 40H ;直接尋址(40H) AMOV R0 , A;寄存器尋址
22、(A) R0MOV P1 , #0F0H ;立即數(shù)尋址 0F0 P1MOV R0,30H ;直接尋址(30H)( RO)MOV DPTR,#3848H ;立即數(shù)尋址 3848H DPTRMOV 4OH,38H ;直接尋址 ( 38H)4OHMOVRO,3OH ;直接尋址( 3OH) ROMOVPO,RO ;寄存器尋址( RO )POMOV 18H , #30H ;立即數(shù)尋址 30HR18HMOV A , RO ;寄存器間接尋址 (RO)AMOV P2 , P1 ;直接尋址 (P1)P2最后結(jié)果: ( RO) =38H, (A) =4OH, ( PO) =38H, (P1) =( P2) =OF
23、OH, ( DPTR) =3848H,( 18H) =3OH,( 3OH) =38H,( 38H) =4OH,( 4OH) =4OH,( 48H) =38H注意:左邊是內(nèi)容,右邊是單元7、 8951 片內(nèi)高 128 字節(jié)的地址尋址要注意什么 /?答: 用直接尋址,位尋址,寄存器尋址8、 指出些列指令的本質(zhì)?MOV A,DATA ;直接尋址 2 字節(jié) 1 周期MOV A,#DATA ; 立即數(shù)尋址 2 字節(jié) 1 周期MOV DATA1,DATA2 直; 接尋址3 字節(jié) 2 周期MOV 74H,#78H ;立即數(shù)尋址 3 字節(jié) 2 周期如果想查某一指令的機(jī)器碼,字節(jié)數(shù)或周期數(shù)可查閱書(shū)本后面的附錄
24、A9、設(shè) RO 的內(nèi)容分為 32H, A 的內(nèi)容為 48H,。請(qǐng)指出在執(zhí)行下列程序段后上述各單元內(nèi)容的變化?MOV A,RO ;(RO)=8OH AMOV RO,4OH ;(4OH)=O8H (RO)MOV 4OH,A ;(A)=8O 4OHMOV R0,#35H ;35H RO最后結(jié)果:( R0)=35H(A) =80H,( 32H)=08H,(40H) =80H10、如何訪問(wèn) SFR 可采用那些尋址方式?答:用直接尋址,位尋址,寄存器尋址11、如何訪問(wèn)片外 RAM 可使用那些尋址方式?答:只能采用寄存器間接尋址(用 MOV 指令)12、如何訪問(wèn)片內(nèi) RAM 可使用那些尋址方式?答:低 12
25、8 字節(jié):直接尋址,位尋址,寄存器間接尋址,寄存器尋址(R0R7)高 128 字節(jié):直接尋址,位尋址,寄存器尋址13、如何訪問(wèn)片內(nèi)外程序存儲(chǔ)器,可使用那些尋址方式?答:采用變址尋址(用 MOV 指令)14、說(shuō)明十進(jìn)制調(diào)整的原因和方法?答:壓縮 BCD 碼在進(jìn)行加法運(yùn)算時(shí)應(yīng)逢十進(jìn)一,而計(jì)算機(jī)只將其當(dāng)作十六進(jìn)制數(shù)處理,此時(shí)得到的結(jié)果不正確。用 DA A 指令調(diào)整(加 06H,60H,66H)15、說(shuō)明 8951 布爾機(jī)處理機(jī)功能?17、(1) SETB ACC.0 或 SETB E0H ;E0H 是累加器的地址(2)CLR ACC.7CLR ACC.6答:用來(lái)進(jìn)行位操作16 、 ANL A , #
26、17HORL 17H ,A XRL A ,R0CPL A 所以( A)=CBH;83HA 17H=03 出 A;34HV 03H=37 出 17H;03H37H=34H;34H 求反等于 CBHCLR ACC.5CLR ACC.4(3) CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.318、MOV 27H, R7 MOV 26H, R6 MOV 25H, R5 MOV 24H, R4 MOV 23H, R3 MOV22H, R2 MOV 21H, R1 MOV 20H, R019、MOV 2FH, 20MOV 2EH , 21MOV 2DH , 22 20、編程,進(jìn)行兩
27、個(gè) 16 位數(shù)的減法:6F5DH-13B4H 結(jié)果存入內(nèi)部 RAM勺 30 和 31H 單元,30H 存低八位。CLR CMOV A, #5DH;被減數(shù)的低 8 位TAMOV R2, #B4H;減數(shù)低 8 位TR2SUBB A, R2;被減數(shù)減去減數(shù),差T AMOV 30H, A;低 8 位結(jié)果T30HMOV A, #6FH;被減數(shù)的高 8 位TAMOV R2, #13H;減數(shù)高 8 位TR2SUBB A,R2;被減數(shù)減去減數(shù),差A(yù)MOV 31H A;高 8 位結(jié)果30H注意:如果在你的程序中用到了進(jìn)位位,在程序開(kāi)始的時(shí)候要記得清21、編程,若累加器 A 滿足下列條件,則程序轉(zhuǎn)至 LABEL
28、存儲(chǔ)單元,0 進(jìn)位位設(shè) A 中為無(wú)符號(hào)數(shù)(1) A 10CJNE A,#0AH,L1LJMP LABELL1 :JNC LABEL 或者:CLR CSUBB A, #0AHJNC LABEL(2) A 10CJNE A,#0AH,L1RETL1 :JNC LABELRET或者:CLR CSUBB A, #0AHJNC L1RETL1 :JNZ LABEL;(A)與 10 比較,不等轉(zhuǎn) L1;相等轉(zhuǎn) LABEL;(A)大于 10,轉(zhuǎn) LABEL;(A)與 10 比較,不等轉(zhuǎn) L1;相等結(jié)束;(A)大于 10,轉(zhuǎn) LABEL;(A)小于 10,結(jié)束RET(3) A 10;(A)與 10 比較,不等
29、轉(zhuǎn) L1L2:LJMP LABEL;相等轉(zhuǎn) LABELL1 : JC L2; (A)小于 10,轉(zhuǎn) L2RET或者:CLR CSUBB A, #0AHJC LABELJZ LABELRET22、 ( SP) =23H,( PC) =3412H參看書(shū)上 80 頁(yè)23、 ( SP) =27H,( 26H) =48H,( 27H) =23H,( PC) =3456H參看書(shū)上 79 頁(yè)24、 不能。ACALL 是短轉(zhuǎn)指令,可調(diào)用的地址范圍是 2KB在看這個(gè)題的時(shí)候同時(shí)看一下 AJMP指令。 同時(shí)考慮調(diào)用指令 ACALL和 LCALL指令和 RET 指令的關(guān)系。25、 編程,查找內(nèi)部 RAM 中 20H
30、-50H 單元中是否有 OAAH 這一數(shù)據(jù),若有則將 51h 單元 置為 01H,如無(wú),則將 51H 單元清零。MOV R2 , #31H;數(shù)據(jù)塊長(zhǎng)度R2MOV R0 , #20H;數(shù)據(jù)塊首地址R0LOOP: MOV A, R0 ;待查找的數(shù)據(jù) ACLR C;清進(jìn)位位CJNE A,#0AH, L1SUBB A , #0AAH;待查找的數(shù)據(jù)是 0AAH 嗎JZ L1;是,轉(zhuǎn) L1INC R0;不是,地址增 1 ,指向下一個(gè)待查數(shù)據(jù)DJNZ R2, LOOP;數(shù)據(jù)塊長(zhǎng)度減 1 ,不等于 0,繼續(xù)查找MOV 51H, #00H;等于 0,未找到, 00H51HRETL1 : MOV 51H #01H
31、;找到,01HH51HRET26、編程查找內(nèi)部 RAM 勺 20H-50H 單元中出現(xiàn) 00H 的次數(shù)并將結(jié)果存入 51H 中MOV R2,#31H;數(shù)據(jù)塊長(zhǎng)度R2MOV R0 , #20H;數(shù)據(jù)塊首地址R0LOOP: MOV A, R0 ;待查找的數(shù)據(jù) AJNZ L1;不為 0,轉(zhuǎn) L1INC 51H;為 0, 00H 個(gè)數(shù)增 1L1 : INC R0 ;地址增 1,指向下一個(gè)待查數(shù)據(jù)DJNZ R2 , LOOP ;數(shù)據(jù)塊長(zhǎng)度減 1,不等于 0,繼續(xù)查找RET27、外部數(shù)據(jù) RAM 中有一個(gè)數(shù)據(jù)塊,首地址為 SOURCES 求將該數(shù)據(jù)傳送到內(nèi)部MOV DPTR, #SOURCE;源首地址 D
32、PTRDIST 開(kāi)頭的區(qū)域在,直到遇到數(shù)字字符 Y時(shí)結(jié)束。CJNE ARAM 以, #24H, LOOP;傳送的是“ $”字符嗎?不是,傳送下一個(gè)字符RET28、已知 R3 和 R4 中存有一個(gè)十六位的二進(jìn)制數(shù),高位在 3 中,低位在 4 中,編程求 其補(bǔ),并存回原處。MOV A, R3;取該數(shù)高 8 位AANL A, #80H ;取出該數(shù)符號(hào)判斷JZ L1;是正數(shù),轉(zhuǎn) L1MOV A, R4;是負(fù)數(shù),將該數(shù)低 8 位 ACPL A;低 8 位取反ADD A, #01H;加 1MOV R4,A;低 8 位取反加 1 后R4MOV A, R3;將該數(shù)高 8 位ACPL A;高 8 位取反ADDC
33、 A, #00H;加上低 8 位加 1 時(shí)可能產(chǎn)生的進(jìn)位MOV R3,A;高 8 位取反加 1 后R3L1 : RET29、已知 30H 和 31H 中存有一個(gè)十六位的二進(jìn)制數(shù),高位在前,低位在后,編程將它們乘 2,并存回原處。CLR C;清進(jìn)位位 CMOV A ,31H;取該數(shù)低 8 位 ARLC A;帶進(jìn)位位左移 1 位MOV 31H,A;結(jié)果存回 31HMOV A ,30H;取該數(shù)高 8 位ARLC A;帶進(jìn)位位左移 1 位MOV 30H,A;結(jié)果存回 30H30、內(nèi)存中有兩個(gè) 4 字節(jié)以壓縮的 BCD 碼形式存放的十進(jìn)制數(shù),一個(gè)放在 30H-33H 的單元中,一個(gè)放在 40H-43H
34、的單元中,編程求他們的和,結(jié)果放在 30H-33H 的單元中MOV R2 , #04H;字節(jié)長(zhǎng)度R2MOV R0, #30H ;一個(gè)加數(shù)首地址 R0MOV R1, #40H ;另一個(gè)加數(shù)首地址 R1CLR C;清進(jìn)位位LOOP: MOV A, R0;取一個(gè)加數(shù)ADDC A, R1;兩個(gè)加數(shù)帶進(jìn)位位相加DA A;十進(jìn)制調(diào)整MOV R0, A ;存放結(jié)果INC R0;指向下一個(gè)字節(jié)INC R1DJNZ R2, LOOP ;數(shù)據(jù)塊長(zhǎng)度減 1 ,不等于 0,繼續(xù)查找RET31、編程,把片外 RAM 從 2000H 開(kāi)始存放的 8 個(gè)數(shù)傳送到片內(nèi) 30H 開(kāi)始的單元中MOV R2 , #08H ;數(shù)據(jù)塊
35、長(zhǎng)度 R2MOV R0, #30H ;數(shù)據(jù)塊目的地址 R0MOV DPTR, #2000H ;數(shù)據(jù)塊源地址 DPTRLOOP:MOVX A, DPTR;傳送一個(gè)數(shù)據(jù)MOV R0,AINC DPTR;指向下一個(gè)數(shù)據(jù)INC R0DJNZ R2, LOOP ;數(shù)據(jù)塊長(zhǎng)度減 1 , 沒(méi)傳送完,繼續(xù)傳送RET35、解: (1000H)=53H( 1001H) =54H( 1002H)=41H1003H)=52H1004H)=54H1005H)=12H1009H)=70H36、閱讀下列程序說(shuō)明其功能INC ROINC RO功能:將 40H,41H 單元中的內(nèi)容相加結(jié)果放在 42H 單元,進(jìn)位放在 43H
36、單元,(RO) =43H41H) =AFH,( 42H) =47H,( 43H) =O1H37、同上題1006H)=34H(1007H)=30H1008H)=00HMOVR0,#40H;40HR ROMOV A,RO;98HHAINCRO;41HH ROADDA ,RO;98H+ (41H) =47HRAMOV RO, A;結(jié)果存入 42H 單元CLR A;清 AADDC A,#O;進(jìn)位位存入 AMOV R,O A;進(jìn)位位存入 43HA) =1,(4OH) =98H,MOV A ,61H;F2HAMOV B,#O2H;02HH BMUL AB;F2HX O2H=E4-HAADD A,62H;積
37、的低 8 位加上 CC 出 AMOV 63H,A;結(jié)果送 62HCLR A;清 AADDC A,B;積的高 8 位加進(jìn)位位TAMOV 64H,A;結(jié)果送 64H功能:將 61H 單元的內(nèi)容乘 2,低 8 位再加上 62H 單元的內(nèi)容放入 63H,將結(jié)果的高 8位放在 64H 單元。(A) =02H (B) =01H (61H) =F2H (62H) =CCH (63H)二BOH (64H) =02H39、MOV A XXHORL A, #80HMOV XXH A40、(2) MOV A, XXHMOV RO, AXRL A, RO第五章1、什么是中斷和中斷系統(tǒng)?其主要功能是什么?答:當(dāng) CPU
38、 正在處理某件事情的時(shí)候,外部發(fā)生的某一件事件請(qǐng)求CPU 迅速去處理,于是,CPI 暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件,中斷服務(wù)處理完該事件以后, 再回到原來(lái)被終止的地方,繼續(xù)原來(lái)的工作。這種過(guò)程稱為中斷,實(shí)現(xiàn)這種功能的部件 稱為中斷系統(tǒng)。功能:(1)使計(jì)算機(jī)具有實(shí)時(shí)處理能力,能對(duì)外界異步發(fā)生的事件作出及時(shí)的處理(2)完全消除了 CPU 在查詢方式中的等待現(xiàn)象,大大提高了 CPU 的工作效率(3)實(shí)現(xiàn)實(shí)時(shí)控制2、 試編寫(xiě)一段對(duì)中斷系統(tǒng)初始化的程序,使之允許INTO, INT1, TO,串行口中斷,且 使T0 中斷為高優(yōu)先級(jí)中斷。解:MOV IE,#097HMOV IP,#02H3、在單片
39、機(jī)中,中斷能實(shí)現(xiàn)哪些功能?答:有三種功能:分時(shí)操作,實(shí)時(shí)處理,故障處理4、89C51 共有哪些中斷源?對(duì)其中端請(qǐng)求如何進(jìn)行控制?答:(1)89C51 有如下中斷源1: 外部中斷 0 請(qǐng)求,低電平有效2: 外部中斷 1 請(qǐng)求,低電平有效3TO:定時(shí)器、計(jì)數(shù)器 0 溢出中斷請(qǐng)求4T1:定時(shí)器、計(jì)數(shù)器 1 溢出中斷請(qǐng)求5TX/RX 串行接口中斷請(qǐng)求( 2)通過(guò)對(duì)特殊功能寄存器 TCON、 SCON、 IE、 IP 的各位進(jìn)行置位或復(fù)位等操作,可實(shí) 現(xiàn)各種中斷控制功能5 、什么是中斷優(yōu)先級(jí)?中斷優(yōu)先處理的原則是什么?答:中斷優(yōu)先級(jí)是 CPU 相應(yīng)中斷的先后順序。原則:(1)先響應(yīng)優(yōu)先級(jí)高的中斷請(qǐng)求,再
40、響應(yīng)優(yōu)先級(jí)低的(2)如果一個(gè)中斷請(qǐng)求已經(jīng)被響應(yīng),同級(jí)的其它中斷請(qǐng)求將被禁止(3)如果同級(jí)的多個(gè)請(qǐng)求同時(shí)出現(xiàn),則 CPUS 過(guò)內(nèi)部硬件查詢電路,按查詢順序確定應(yīng)該響應(yīng)哪個(gè)中斷請(qǐng)求查詢順序:外部中斷 0 宀定時(shí)器 0 中斷T外部中斷 1 宀定時(shí)器 1 中斷T串行接口中斷6、說(shuō)明外部中斷請(qǐng)求的查詢和響應(yīng)過(guò)程。答:當(dāng) CPU 執(zhí)行主程序第 K 條指令,外設(shè)向 CPI 發(fā)出中斷請(qǐng)求,CPU 接到中斷請(qǐng)求信號(hào) 并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保存斷點(diǎn)地址,然后轉(zhuǎn)去響應(yīng)中斷。CPU在每個(gè) S5P2 期間順序采樣每個(gè)中斷源,CPU 在下一個(gè)機(jī)器周期 S6 期間按優(yōu)先級(jí)順序查 詢中斷標(biāo)志,如果查詢到某個(gè)
41、中斷標(biāo)志為 1,將在接下來(lái)的機(jī)器周期 S1 期間按優(yōu)先級(jí) 進(jìn)行中斷處理,中斷系統(tǒng)通過(guò)硬件自動(dòng)將相應(yīng)的中斷矢量地址裝入PC 以便進(jìn)入相應(yīng)的中斷服務(wù)程序。中斷服務(wù)完畢后, CPU 返回到主程序第 K+1 條指令繼續(xù)執(zhí)行。7、89C51 在什么條件下可響應(yīng)中斷?答:( 1)有中斷源發(fā)出中斷請(qǐng)求( 3)申請(qǐng)中斷的中斷源的中斷允許位為 1,即中斷沒(méi)有被屏蔽( 4)無(wú)同級(jí)或更高級(jí)中斷正在服務(wù)( 5)當(dāng)前指令周期已經(jīng)結(jié)束(6)若現(xiàn)行指令為 RETI 或訪問(wèn) IE 或 IP 指令時(shí),該指令以及緊接著的另一條指令已執(zhí)行完畢&簡(jiǎn)述 89C51 單片機(jī)的中斷響應(yīng)過(guò)程。答:CPU 在每個(gè)機(jī)器周期 S5P2 期
42、間順序采樣每個(gè)中斷源,CPU 在下一個(gè)機(jī)器周期 S6 期 間按優(yōu)先級(jí)順序查詢中斷標(biāo)志, 如查詢到某個(gè)中斷標(biāo)志為 1,將在接下來(lái)的機(jī)器周期 S1 期間按優(yōu)先級(jí)進(jìn)行中斷處理,中斷系統(tǒng)通過(guò)硬件自動(dòng)將相應(yīng)的中斷矢量地址裝入PC,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。一旦響應(yīng)中斷,89C51 首先置位相應(yīng)的中斷“優(yōu)先級(jí)生效”觸發(fā)器,然后由硬件執(zhí)行一條長(zhǎng)調(diào)用指令,把當(dāng)前的PC 值壓入堆棧,以保護(hù)斷點(diǎn),再將相應(yīng)的中斷服務(wù)的入口地址送入 PC 于是 CPU 接著從中斷服務(wù)程序的入口處開(kāi)始 執(zhí)行。對(duì)于有些中斷源,CPU 在響應(yīng)中斷后會(huì)自動(dòng)清除中斷標(biāo)志。9、在 89C51 內(nèi)存中,應(yīng)如何安排程序區(qū)?答:主程序一般從 003
43、0H 開(kāi)始,主程序后一般是子程序及中斷服務(wù)程序。在這個(gè)大家還 要清除各個(gè)中斷的中斷矢量地址。10、試述中斷的作用及中斷的全過(guò)程。 答:作用:對(duì)外部異步發(fā)生的事件作出及時(shí)的處理過(guò)程:中斷請(qǐng)求,中斷響應(yīng),中斷處理,中斷返回11、當(dāng)正在執(zhí)行某一個(gè)中斷源的中斷服務(wù)程序時(shí),如果有新的中斷請(qǐng)求出現(xiàn),試問(wèn)在什 么情況下可響應(yīng)新的中斷請(qǐng)求?在什么情況下不能響應(yīng)新的中斷請(qǐng)求?答:(1)符合以下 6 個(gè)條件可響應(yīng)新的中斷請(qǐng)求:a)有中斷源發(fā)出中斷請(qǐng)求b)中斷允許位 EA=1,即 CPL 開(kāi)中斷2)中斷中允許位 EA=1 .即 CPL 開(kāi)中斷c) 申請(qǐng)中斷的中斷源的中斷允許位為 1,即中斷沒(méi)有被屏蔽d) 無(wú)同級(jí)或更
44、高級(jí)中斷正在被服務(wù)e) 當(dāng)前的指令周期已結(jié)束f)若現(xiàn)行指令為 RETI 或訪問(wèn) IE 或 IP 指令時(shí),該指令以及緊接著的另一條指令已被執(zhí) 行完12、89C51 單片機(jī)外部中斷源有幾種觸發(fā)中斷請(qǐng)求的方法?如何實(shí)現(xiàn)中斷請(qǐng)求?答:有兩種方式:電平觸發(fā)和邊沿觸發(fā)電平觸發(fā)方式:CPU 在每個(gè)機(jī)器周期的 S5P2 期間采樣外部中斷引腳的輸入電平。若為 低電平,使 IE1(IE0) 置“1”,申請(qǐng)中斷;若為高電平,則 IE1(IE0) 清零。邊沿觸發(fā)方式:CPU 在每個(gè)機(jī)器周期 S5P2 期間采樣外部中斷請(qǐng)求引腳的輸入電平。如 果在相繼的兩個(gè)機(jī)器周期采樣過(guò)程中, 一個(gè)機(jī)器周期采樣到外部中斷請(qǐng)求為高電平,
45、接 著下一個(gè)機(jī)器周期采樣到外部中斷請(qǐng)求為低電平,則使 IE1(IE0) 置“1”申請(qǐng)中斷;否 則, IE1(IE0) 置0。13、89C51 單片機(jī)有五個(gè)中斷源,但只能設(shè)置兩個(gè)中斷優(yōu)先級(jí),因此,在中斷優(yōu)先級(jí)安 排上受到一定的限制。試問(wèn)以下幾種中斷優(yōu)先順序的安排(級(jí)別由高到低)是否可能: 若可能,則應(yīng)如何設(shè)置中斷源的中斷級(jí)別:否則,請(qǐng)簡(jiǎn)述不可能的理由。 定時(shí)器 0,定時(shí)器 1,外中斷 0,外中斷 1,串行口中斷??梢?, MOV IP,#0AH 串行口中斷, 外中斷 0,定時(shí)器 0,外中斷 1,定時(shí)器 1。 可以, MOV IP,#10H 外中斷 0,定時(shí)器 1,外中斷 1,定時(shí)器 0,串行口中斷
46、。不可以,只能設(shè)置一級(jí)高級(jí)優(yōu)先級(jí),如果將 INT0,T1 設(shè)置為高級(jí),而 T0 級(jí)別 高于INT1. 外中斷 0,外中斷 1 ,串行口中斷, 定時(shí)器 0,定時(shí)器 1 串行口中斷,定時(shí)器 0,外中斷 0,外中斷 1,定時(shí)器 1。 不可以 外中斷 0,外中斷 1,定時(shí)器 0,串行口中斷,定時(shí)器 1 。 不可以 外中斷 0,定時(shí)器 1,定時(shí)器 0,外中斷 1,串行口中斷可以, MOV IP,#15H可以, MOV IP,#09H14、89C51 各中斷源的中斷標(biāo)志是如何產(chǎn)生的?又是如何清0 的? CPU 響應(yīng)中斷時(shí),中斷入口地址各是多少?答:各中斷標(biāo)志的產(chǎn)生和清“ 0”如下:(1)外部中斷類外部中斷
47、是由外部原因引起的, 可以通過(guò)兩個(gè)固定引腳, 即外部中斷 0 和外部中斷 1 輸 入信號(hào)。外部中斷 0 請(qǐng)求信號(hào),由 P3.2 腳輸入。通過(guò) IT0 來(lái)決定中斷請(qǐng)求信號(hào)是低電平有效還 是下跳變有效。一旦輸入信號(hào)有效,則向 CPU 申請(qǐng)中斷,并且使 IE0=1。硬件復(fù)位。 外部中斷 1請(qǐng)求信號(hào),功能與用法類似外部中斷 0(2)定時(shí)中斷類 定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)溢出處理需要而設(shè)置的。當(dāng)定時(shí)器 / 計(jì)數(shù)器中的計(jì)數(shù)結(jié)構(gòu) 發(fā)生計(jì)數(shù)溢出的, 即表明定時(shí)時(shí)間到或計(jì)數(shù)值已滿, 這時(shí)就以計(jì)數(shù)溢出信號(hào)作為中斷請(qǐng) 求,去置位一個(gè)溢出標(biāo)志位。這種中斷請(qǐng)求是在單片機(jī)芯片內(nèi)部發(fā)生的,無(wú)需在芯片上 設(shè)置引入端,但在計(jì)數(shù)
48、方式時(shí),中斷源可以由外部引入。TF0:定時(shí)器 T0 溢出中斷請(qǐng)求。當(dāng)定時(shí)器 T0 產(chǎn)生溢出時(shí),定時(shí)器 T0 請(qǐng)求標(biāo)志 TF0=1, 請(qǐng)求中斷處理。使用中斷時(shí)由硬件復(fù)位,在查詢方式下可由軟件復(fù)位。TF1:定時(shí)器 T1 溢出中斷請(qǐng)求。功能與用法類似定時(shí)器 T0(3)串行口中斷類 串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的。 串行中斷請(qǐng)求也是在單片機(jī)芯片內(nèi)部發(fā) 生的,但當(dāng)串行口作為接收端時(shí),必須有一完整的串行幀數(shù)據(jù)從 RI 端引入芯片,才可 能引發(fā)中斷。RI 或 TI :串行口中斷請(qǐng)求。當(dāng)接收或發(fā)送一串幀數(shù)據(jù)時(shí),使內(nèi)部串行口中斷請(qǐng)求標(biāo)志RI 或 TI=1 ,并請(qǐng)求中斷。響應(yīng)后必須軟件復(fù)位。CPU 響應(yīng)
49、中斷時(shí),中斷入口地址如下:中斷源入口地址外部中斷 0 0003H定時(shí)器 T0 中斷 000BH外部中斷 1 0013H定時(shí)器 T1 中斷 001BH串行口中斷 0023H15、中斷響應(yīng)時(shí)間是否為確定不變的?為什么?答:中斷響應(yīng)時(shí)間不是確定不變的。由于 CPU 不是在任何情況下對(duì)中斷請(qǐng)求都予以響應(yīng) 的;此外,不同的情況對(duì)中斷響應(yīng)的時(shí)間也是不同的。下面以外部中斷為例,說(shuō)明中斷 響應(yīng)的時(shí)間。在每個(gè)機(jī)器周期的 S5P2 期間,端的電平被所存到 TCON 勺 IEO 位,CPU 在下一個(gè)機(jī)器 周期才會(huì)查詢這些值。 這時(shí)滿足中斷響應(yīng)條件, 下一條要執(zhí)行的指令將是一條硬件長(zhǎng)調(diào) 用指令“ LCALI”,使程序
50、轉(zhuǎn)入中斷矢量入口。調(diào)用本身要用 2 個(gè)機(jī)器周期,這樣,從外 部中斷請(qǐng)求有效到開(kāi)始執(zhí)行中斷服務(wù)程序的第一條指令, 至少需要 3 個(gè)機(jī)器周期, 這是 最短的響應(yīng)時(shí)間。如果遇到中斷受阻的情況,這中斷響應(yīng)時(shí)間會(huì)更長(zhǎng)一些。例如,當(dāng)一個(gè)同級(jí)或更高級(jí)的 中斷服務(wù)程序正在進(jìn)行, 則附加的等待時(shí)間取決于正在進(jìn)行的中斷服務(wù)程序: 如果正在 執(zhí)行的一條指令還沒(méi)有進(jìn)行到最后一個(gè)機(jī)器周期,附加的等待時(shí)間為 13 個(gè)機(jī)器周期; 如果正在執(zhí)行的是 RETI 指令或者訪問(wèn) IE 或 IP 的指令,則附加的等待時(shí)間在 5 個(gè)機(jī)器 周期內(nèi)。若系統(tǒng)中只有一個(gè)中斷源,則響應(yīng)時(shí)間為 38 個(gè)機(jī)器周期。16、中斷響應(yīng)過(guò)程中,為什么通常要
51、保護(hù)現(xiàn)場(chǎng)?如何保護(hù)?答:因?yàn)橐话阒鞒绦蚝椭袛喾?wù)程序都可能會(huì)用到累加器,PSV 寄存器及其他一些寄存器。CPU 在進(jìn)入中斷服務(wù)程序后,用到上述寄存器時(shí),就會(huì)破壞它原來(lái)存在寄存器中的 內(nèi)容;一旦中斷返回,將會(huì)造成主程序的混亂。因而在進(jìn)入中斷服務(wù)程序后,一般要先 保護(hù)現(xiàn)場(chǎng),然后再執(zhí)行中斷處理程序,在返回主程序以前再恢復(fù)現(xiàn)場(chǎng)。保護(hù)方法一般是把累加器、PSW 寄存器及其他一些與主程序有關(guān)的寄存器壓入堆棧。在 保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)時(shí),為了不使現(xiàn)場(chǎng)受到破壞或者造成混亂, 一般規(guī)定此時(shí) CPU 不響 應(yīng)新的中斷請(qǐng)求。 這就要求在編寫(xiě)中斷服務(wù)程序時(shí),注意在保護(hù)現(xiàn)場(chǎng)之前要關(guān)中斷,在 恢復(fù)現(xiàn)場(chǎng)之后開(kāi)中斷。 如果在中
52、斷處理時(shí)允許有更高級(jí)的中斷打斷它, 則在保護(hù)現(xiàn)場(chǎng)之 后再開(kāi)中斷,恢復(fù)現(xiàn)場(chǎng)之前關(guān)中斷。17、清敘述中斷響應(yīng)的 CPU 操作過(guò)程,為什么說(shuō)中斷操作是一個(gè) CPU 的微查詢過(guò)程? 答:在中斷響應(yīng)中,CPU 要完成以下自主操作過(guò)程:a)置位相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器,以標(biāo)明所響應(yīng)中斷的優(yōu)先級(jí)別 b) 中斷源標(biāo)志清零(TI、RI 除外)c) 中斷斷點(diǎn)地址裝入堆棧保護(hù)(不保護(hù) PSW)d) 中斷入口地址裝入 PC 以便使程序轉(zhuǎn)到中斷入口地址處在計(jì)算機(jī)內(nèi)部,中斷表現(xiàn)為 CPU 的微查詢操作。89C51 單片機(jī)中,CPU 在每個(gè)機(jī)器周期 的S6 狀態(tài), 查詢中斷源, 并按優(yōu)先級(jí)管理規(guī)則處理同時(shí)請(qǐng)求的中斷源, 且在
53、下一個(gè)機(jī) 器周期的 S1狀態(tài)中,響應(yīng)最高級(jí)中斷請(qǐng)求。但是以下情況除外:a)CPU 正在處理相同或更高優(yōu)先級(jí)中斷b)多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器周期c) 正在執(zhí)行中斷系統(tǒng)的 SFR 操作,如 RETI 指令及訪問(wèn) IE、IP 等操作時(shí),要延后一條 指令18、在中斷請(qǐng)求有效并開(kāi)中斷狀況下,能否保證立即響應(yīng)中斷?有什么條件? 答:在中斷請(qǐng)求有效并開(kāi)中斷狀況下,并不能保證立即響應(yīng)中斷。這是因?yàn)?,在?jì)算機(jī) 內(nèi)部,中斷表現(xiàn)為CPU 的微查詢操作。89C51 單片機(jī)中,CPU 在每個(gè)機(jī)器周期的 S6 狀態(tài) 下,查詢中斷源, 并按優(yōu)先級(jí)管理規(guī)則處理同時(shí)請(qǐng)求的中斷源,且在下一個(gè)機(jī)器周期的S1 狀態(tài)中
54、,響應(yīng)最高級(jí)中斷請(qǐng)求。在以下情況下,還需要有另外的等待:a) CPU 正在處理相同或更高優(yōu)先級(jí)中斷b) 多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器周期c) 正在執(zhí)行中斷系統(tǒng)的 SFR 操作,如 RETI 指令及訪問(wèn) IE、IP 等操作時(shí),要延后一條指 令第 6 章習(xí)題答案1、定時(shí)器模式 2 有什么特點(diǎn)?適用于什么場(chǎng)合?答:(1)模式 2 把 TLO(或 TL1)配置成一個(gè)可以自動(dòng)重裝載的 8 位定時(shí)器/計(jì)數(shù)器。TL0 計(jì)數(shù)溢出時(shí)不僅使溢出中斷標(biāo)志位 TFO 置 1,而且還自動(dòng)把 THO 中的內(nèi)容重新裝載到 TL0 中。TL0 用作 8 位計(jì)數(shù)器,THO 用以保存初值。(2)用于定時(shí)工作方式時(shí)間(
55、TF0 溢出周期)為,用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)長(zhǎng) 度(TH0初值=0)為 28=256 個(gè)外部脈沖。這種工作方式可省去用戶軟件重裝初值的語(yǔ)句,并可產(chǎn)生相當(dāng)精確定時(shí)時(shí)間,特別適于作串行波特率發(fā)生器。2、單片機(jī)內(nèi)部定時(shí)方式產(chǎn)生頻率為100KHZ 等寬矩形波,假定單片機(jī)的晶振頻率為12MHZ 請(qǐng)編程實(shí)現(xiàn)。答:T0 低 5 位:1BHT0 高 8 位: FFHMOV TMOD,#00H ;設(shè)置定時(shí)器 T0 工作于模式 0MOV TL0,#1BH ;設(shè)置 5ms 定時(shí)初值MOV TH0,#0FFHSETB TR0;啟動(dòng) T0LOOP:JBC TF0,L1;查詢到定時(shí)時(shí)間到?時(shí)間到轉(zhuǎn) L1SJMP L
56、OOP ;時(shí)間未到轉(zhuǎn) LOOP 繼續(xù)查詢L1 : MOV TL0,#1BH;重新置入定時(shí)初值MOV TH0,#0FFHCPL P1.0 ; 輸出取反,形成等寬矩形波SJMP LOOP ;重復(fù)循環(huán)3、89C51 定時(shí)器有哪幾種工作模式?有何區(qū)別?答:有四種工作模式:模式 0,模式 1,模式 2,模式 3(1)模式 0:選擇定時(shí)器的高 8 位和低 5 位組成一個(gè) 13 位定時(shí)器/計(jì)數(shù)器。TL 低 5 位溢出時(shí)向 TH 進(jìn)位,TH 溢出時(shí)向中斷標(biāo)志位 TF 進(jìn)位,并申請(qǐng)中斷。定時(shí)時(shí)間 t=(213-初值)X 振蕩周期 X 12;計(jì)數(shù)長(zhǎng)度位 213=8192 個(gè)外部脈沖(2)模式 1:與模式 0 的唯
57、一差別是寄存器 TH 和 TL 以全部 16 位參與操作。定 時(shí)時(shí)間t=(216-初值)X振蕩周期 X 12;計(jì)數(shù)長(zhǎng)度位 216=65536 個(gè)外部脈沖(3)模式 2:把 TL0 和 TL1 配置成一個(gè)自動(dòng)重裝載的 8 位定時(shí)器/計(jì)數(shù)器。TL 用 作 8 位計(jì)數(shù)器,TH 用以保存初值。TL 計(jì)數(shù)溢出時(shí)不僅使 TF0 置 1,而且還自動(dòng)將 TH 中 的內(nèi)容重新裝載到 TL 中。定時(shí)時(shí)間 t=(28-初值)X 振蕩周期 X 12;計(jì)數(shù)長(zhǎng)度位 28=256 個(gè)外部脈沖(4)模式 3:對(duì) T0 和 T1 不大相同若設(shè) T0 位模式 3, TL0 和 TH0 被分為兩個(gè)相互獨(dú)立的 8 位計(jì)數(shù)器。TL0
58、為 8 位計(jì)數(shù)器, 功能與模式 0 和模式 1 相同,可定時(shí)可計(jì)數(shù)。TH0 僅用作簡(jiǎn)單的內(nèi)部定時(shí)功能,它占用了定時(shí)器 T1 的控制位 TR1 和中斷標(biāo)志位 TF1, 啟動(dòng)和關(guān)閉僅受 TR1 控制。定時(shí)器 T1 無(wú)工作模式 3,但 T0 在工作模式 3 時(shí) T1 仍可設(shè)置為 02。4、89C51 內(nèi)部設(shè)有幾個(gè)定時(shí)器/計(jì)數(shù)器?它們是由哪些特殊功能寄存器組成? 答:89C51 單片機(jī)內(nèi)有兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器,即 T0 和 T1。T0 由兩個(gè) 8 位特殊功能寄存器 TH0 和 TL0 組成;T1 由 TH1 和 TL1 組成。5、定時(shí)器用作定時(shí)器時(shí),其定時(shí)時(shí)間與哪些因素有關(guān)?作計(jì)數(shù)器時(shí),對(duì)外界
59、計(jì)數(shù)頻率 有何限制?答:定時(shí)時(shí)間與定時(shí)器的工作模式,初值及振蕩周期有關(guān)。 作計(jì)數(shù)器時(shí)對(duì)外界計(jì)數(shù)頻率要求最高為機(jī)器振蕩頻率的 1/24 。6、簡(jiǎn)述定時(shí)器 4 種工作模式的特點(diǎn),如何選擇設(shè)定? 答:(1)模式 0:選擇定時(shí)器的高 8 位和低 5 位組成一個(gè) 13 位定時(shí)器/計(jì)數(shù)器。TL 低 5 位溢出時(shí)向 TH 進(jìn)位,TH 溢出時(shí)向中斷標(biāo)志位 TF 進(jìn)位,并申請(qǐng)中斷。定時(shí)時(shí)間 t=(213-初值)X 振蕩周期 X 12;計(jì)數(shù)長(zhǎng)度位 213=8192 個(gè)外部脈沖置 TMO 中的 M1M 為 00(2)模式 1:與模式 0 的唯一差別是寄存器 TH 和 TL 以全部 16 位參與操作。定 時(shí)時(shí)間t=(
60、216-初值)X振蕩周期 X 12;計(jì)數(shù)長(zhǎng)度位 216=65536 個(gè)外部脈沖置 TMO 中的 M1M 為 01( 3)模式 2:把 TL0 和 TL1 配置成一個(gè)自動(dòng)重裝載的 8 位定時(shí)器 / 計(jì)數(shù)器。 TL 用作 8 位計(jì)數(shù)器,TH 用以保存初值。TL 計(jì)數(shù)溢出時(shí)不僅使 TF0 置 1,而且還自動(dòng)將 TH 中 的內(nèi)容重新裝載到 TL 中。定時(shí)時(shí)間 t=(28-初值)X 振蕩周期 X 12;計(jì)數(shù)長(zhǎng)度位 28=256 個(gè)外部脈沖置 TMO 中的 M1M 為 10(4)模式 3:對(duì) T0 和 T1 不大相同若設(shè) T0 位模式 3, TL0 和 THO 被分為兩個(gè)相互獨(dú)立的 8 位計(jì)數(shù)器。TL0 為 8
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安檢員工服務(wù)規(guī)范
- 2024年監(jiān)理工程師備考心得試題及答案
- 班級(jí)合作項(xiàng)目的有效模式計(jì)劃
- 美術(shù)教師課堂管理技巧分享計(jì)劃
- 建立學(xué)習(xí)型組織的步驟與總結(jié)計(jì)劃
- 保險(xiǎn)行業(yè)安全風(fēng)險(xiǎn)防控指南計(jì)劃
- 多元文化教育實(shí)施計(jì)劃
- 2024年特許另類投資考試優(yōu)化復(fù)習(xí)試題及答案
- 利用大數(shù)據(jù)優(yōu)化財(cái)務(wù)決策計(jì)劃
- 適應(yīng)行業(yè)變化的靈活策略計(jì)劃
- 《少先隊(duì)員采茶歌》課件
- 新外研版高一英語(yǔ)必修二unit6課文
- 氣排球比賽積分表
- 20道瑞幸咖啡營(yíng)運(yùn)經(jīng)理崗位常見(jiàn)面試問(wèn)題含HR常問(wèn)問(wèn)題考察點(diǎn)及參考回答
- 教師調(diào)課申請(qǐng)表
- 急性心力衰竭中國(guó)急診管理指南2022
- 《利用導(dǎo)數(shù)研究函數(shù)的零點(diǎn)問(wèn)題》教學(xué)設(shè)計(jì)
- 茶室設(shè)計(jì)-課件
- 安全生產(chǎn)重大事故隱患排查報(bào)告表
- 管道系統(tǒng)吹洗(掃)記錄(壓縮空氣)
- 建設(shè)單位甲方對(duì)監(jiān)理單位考核管理辦法
評(píng)論
0/150
提交評(píng)論