89c51單片機(jī)李朝青版課后習(xí)題答案五_第1頁
89c51單片機(jī)李朝青版課后習(xí)題答案五_第2頁
89c51單片機(jī)李朝青版課后習(xí)題答案五_第3頁
89c51單片機(jī)李朝青版課后習(xí)題答案五_第4頁
89c51單片機(jī)李朝青版課后習(xí)題答案五_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)原理及接口技術(shù)課后習(xí)題答案 李朝青第五章1、什么是中斷和中斷系統(tǒng)?其主要功能是什么?答:當(dāng)cpu正在處理某件事情的時(shí)候,外部發(fā)生的某一件事件請求cpu迅速去處理,于是,cpu暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件,中斷服務(wù)處理完該事件以后,再回到原來被終止的地方,繼續(xù)原來的工作。這種過程稱為中斷,實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng)。功能:(1) 使計(jì)算機(jī)具有實(shí)時(shí)處理能力,能對外界異步發(fā)生的事件作出及時(shí)的處理(2) 完全消除了cpu在查詢方式中的等待現(xiàn)象,大大提高了cpu的工作效率(3) 實(shí)現(xiàn)實(shí)時(shí)控制2、試編寫一段對中斷系統(tǒng)初始化的程序,使之允許int0,int1,to,串行口中斷,且使t0

2、中斷為高優(yōu)先級中斷。解:mov ie,#097h mov ip,#02h3、在單片機(jī)中,中斷能實(shí)現(xiàn)哪些功能?答:有三種功能:分時(shí)操作,實(shí)時(shí)處理,故障處理4、89c51共有哪些中斷源?對其中端請求如何進(jìn)行控制?答:(1)89c51有如下中斷源:外部中斷0請求,低電平有效:外部中斷1請求,低電平有效t0:定時(shí)器、計(jì)數(shù)器0溢出中斷請求t1:定時(shí)器、計(jì)數(shù)器1溢出中斷請求tx/rx:串行接口中斷請求(2)通過對特殊功能寄存器tcon、scon、ie、ip的各位進(jìn)行置位或復(fù)位等操作,可實(shí)現(xiàn)各種中斷控制功能5、什么是中斷優(yōu)先級?中斷優(yōu)先處理的原則是什么?答:中斷優(yōu)先級是cpu相應(yīng)中斷的先后順序。原則:(1)

3、 先響應(yīng)優(yōu)先級高的中斷請求,再響應(yīng)優(yōu)先級低的(2) 如果一個(gè)中斷請求已經(jīng)被響應(yīng),同級的其它中斷請求將被禁止(3) 如果同級的多個(gè)請求同時(shí)出現(xiàn),則cpu通過內(nèi)部硬件查詢電路,按查詢順序確定應(yīng)該響應(yīng)哪個(gè)中斷請求查詢順序:外部中斷0定時(shí)器0中斷外部中斷1定時(shí)器1中斷串行接口中斷6、說明外部中斷請求的查詢和響應(yīng)過程。答:當(dāng)cpu執(zhí)行主程序第k條指令,外設(shè)向cpu發(fā)出中斷請求,cpu接到中斷請求信號并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保存斷點(diǎn)地址,然后轉(zhuǎn)去響應(yīng)中斷。cpu在每個(gè)s5p2期間順序采樣每個(gè)中斷源,cpu在下一個(gè)機(jī)器周期s6期間按優(yōu)先級順序查詢中斷標(biāo)志,如果查詢到某個(gè)中斷標(biāo)志為1,將在接下

4、來的機(jī)器周期s1期間按優(yōu)先級進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動(dòng)將相應(yīng)的中斷矢量地址裝入pc,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。中斷服務(wù)完畢后,cpu返回到主程序第k+1條指令繼續(xù)執(zhí)行。7、89c51在什么條件下可響應(yīng)中斷?答:(1) 有中斷源發(fā)出中斷請求(2) 中斷中允許位ea=1.即cpu開中斷(3) 申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽(4) 無同級或更高級中斷正在服務(wù)(5) 當(dāng)前指令周期已經(jīng)結(jié)束(6) 若現(xiàn)行指令為reti或訪問ie或ip指令時(shí),該指令以及緊接著的另一條指令已執(zhí)行完畢8、簡述89c51單片機(jī)的中斷響應(yīng)過程。答:cpu在每個(gè)機(jī)器周期s5p2期間順序采樣每個(gè)中斷源,c

5、pu在下一個(gè)機(jī)器周期s6期間按優(yōu)先級順序查詢中斷標(biāo)志,如查詢到某個(gè)中斷標(biāo)志為1,將在接下來的機(jī)器周期s1期間按優(yōu)先級進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動(dòng)將相應(yīng)的中斷矢量地址裝入pc,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。一旦響應(yīng)中斷,89c51首先置位相應(yīng)的中斷“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調(diào)用指令,把當(dāng)前的pc值壓入堆棧,以保護(hù)斷點(diǎn),再將相應(yīng)的中斷服務(wù)的入口地址送入pc,于是cpu接著從中斷服務(wù)程序的入口處開始執(zhí)行。對于有些中斷源,cpu在響應(yīng)中斷后會(huì)自動(dòng)清除中斷標(biāo)志。9、在89c51內(nèi)存中,應(yīng)如何安排程序區(qū)?答:主程序一般從0030h開始,主程序后一般是子程序及中斷服務(wù)程序。在這個(gè)大家還要

6、清除各個(gè)中斷的中斷矢量地址。10、試述中斷的作用及中斷的全過程。答:作用:對外部異步發(fā)生的事件作出及時(shí)的處理 過程:中斷請求,中斷響應(yīng),中斷處理,中斷返回11、當(dāng)正在執(zhí)行某一個(gè)中斷源的中斷服務(wù)程序時(shí),如果有新的中斷請求出現(xiàn),試問在什么情況下可響應(yīng)新的中斷請求?在什么情況下不能響應(yīng)新的中斷請求?答:(1)符合以下6個(gè)條件可響應(yīng)新的中斷請求:a) 有中斷源發(fā)出中斷請求b) 中斷允許位ea=1,即cpu開中斷c) 申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽d) 無同級或更高級中斷正在被服務(wù)e) 當(dāng)前的指令周期已結(jié)束f) 若現(xiàn)行指令為reti或訪問ie或ip指令時(shí),該指令以及緊接著的另一條指令

7、已被執(zhí)行完12、89c51單片機(jī)外部中斷源有幾種觸發(fā)中斷請求的方法?如何實(shí)現(xiàn)中斷請求?答:有兩種方式:電平觸發(fā)和邊沿觸發(fā)電平觸發(fā)方式:cpu在每個(gè)機(jī)器周期的s5p2期間采樣外部中斷引腳的輸入電平。若為低電平,使ie1(ie0)置“1”,申請中斷;若為高電平,則ie1(ie0)清零。邊沿觸發(fā)方式:cpu在每個(gè)機(jī)器周期s5p2期間采樣外部中斷請求引腳的輸入電平。如果在相繼的兩個(gè)機(jī)器周期采樣過程中,一個(gè)機(jī)器周期采樣到外部中斷請求為高電平,接著下一個(gè)機(jī)器周期采樣到外部中斷請求為低電平,則使ie1(ie0)置“1”申請中斷;否則,ie1(ie0)置0。13、89c51單片機(jī)有五個(gè)中斷源,但只能設(shè)置兩個(gè)中

8、斷優(yōu)先級,因此,在中斷優(yōu)先級安排上受到一定的限制。試問以下幾種中斷優(yōu)先順序的安排(級別由高到低)是否可能:若可能,則應(yīng)如何設(shè)置中斷源的中斷級別:否則,請簡述不可能的理由。 定時(shí)器0,定時(shí)器1,外中斷0,外中斷1,串行口中斷。 可以,mov ip,#0ah 串行口中斷,外中斷0,定時(shí)器0,外中斷1,定時(shí)器1。 可以,mov ip,#10h 外中斷0,定時(shí)器1,外中斷1,定時(shí)器0,串行口中斷。 不可以,只能設(shè)置一級高級優(yōu)先級,如果將int0,t1設(shè)置為高級,而t0級別高于int1. 外中斷0,外中斷1,串行口中斷,定時(shí)器0,定時(shí)器1。 可以,mov ip,#15h 串行口中斷,定時(shí)器0,外中斷0,

9、外中斷1,定時(shí)器1。不可以 外中斷0,外中斷1,定時(shí)器0,串行口中斷,定時(shí)器1。不可以 外中斷0,定時(shí)器1,定時(shí)器0,外中斷1,串行口中斷??梢裕琺ov ip,#09h14、89c51各中斷源的中斷標(biāo)志是如何產(chǎn)生的?又是如何清0的?cpu響應(yīng)中斷時(shí),中斷入口地址各是多少?答:各中斷標(biāo)志的產(chǎn)生和清“0”如下:(1) 外部中斷類外部中斷是由外部原因引起的,可以通過兩個(gè)固定引腳,即外部中斷0和外部中斷1輸入信號。外部中斷0請求信號,由p3.2腳輸入。通過it0來決定中斷請求信號是低電平有效還是下跳變有效。一旦輸入信號有效,則向cpu申請中斷,并且使ie0=1。硬件復(fù)位。外部中斷1請求信號,功能與用法

10、類似外部中斷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ù)溢出信號作為中斷請求,去置位一個(gè)溢出標(biāo)志位。這種中斷請求是在單片機(jī)芯片內(nèi)部發(fā)生的,無需在芯片上設(shè)置引入端,但在計(jì)數(shù)方式時(shí),中斷源可以由外部引入。tf0:定時(shí)器t0溢出中斷請求。當(dāng)定時(shí)器t0產(chǎn)生溢出時(shí),定時(shí)器t0請求標(biāo)志tf0=1,請求中斷處理。使用中斷時(shí)由硬件復(fù)位,在查詢方式下可由軟件復(fù)位。tf1:定時(shí)器t1溢出中斷請求。功能與用法類似定時(shí)器t0(3) 串行口中斷類串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的。串行中斷請求也是在單片機(jī)

11、芯片內(nèi)部發(fā)生的,但當(dāng)串行口作為接收端時(shí),必須有一完整的串行幀數(shù)據(jù)從ri端引入芯片,才可能引發(fā)中斷。ri或ti:串行口中斷請求。當(dāng)接收或發(fā)送一串幀數(shù)據(jù)時(shí),使內(nèi)部串行口中斷請求標(biāo)志ri或ti=1,并請求中斷。響應(yīng)后必須軟件復(fù)位。 cpu響應(yīng)中斷時(shí),中斷入口地址如下: 中斷源 入口地址外部中斷0 0003h定時(shí)器t0中斷000bh外部中斷1 0013h定時(shí)器t1中斷001bh串行口中斷 0023h15、中斷響應(yīng)時(shí)間是否為確定不變的?為什么?答:中斷響應(yīng)時(shí)間不是確定不變的。由于cpu不是在任何情況下對中斷請求都予以響應(yīng)的;此外,不同的情況對中斷響應(yīng)的時(shí)間也是不同的。下面以外部中斷為例,說明中斷響應(yīng)的時(shí)

12、間。在每個(gè)機(jī)器周期的s5p2期間,端的電平被所存到tcon的ie0位,cpu在下一個(gè)機(jī)器周期才會(huì)查詢這些值。這時(shí)滿足中斷響應(yīng)條件,下一條要執(zhí)行的指令將是一條硬件長調(diào)用指令“l(fā)call”,使程序轉(zhuǎn)入中斷矢量入口。調(diào)用本身要用2個(gè)機(jī)器周期,這樣,從外部中斷請求有效到開始執(zhí)行中斷服務(wù)程序的第一條指令,至少需要3個(gè)機(jī)器周期,這是最短的響應(yīng)時(shí)間。如果遇到中斷受阻的情況,這中斷響應(yīng)時(shí)間會(huì)更長一些。例如,當(dāng)一個(gè)同級或更高級的中斷服務(wù)程序正在進(jìn)行,則附加的等待時(shí)間取決于正在進(jìn)行的中斷服務(wù)程序:如果正在執(zhí)行的一條指令還沒有進(jìn)行到最后一個(gè)機(jī)器周期,附加的等待時(shí)間為13個(gè)機(jī)器周期;如果正在執(zhí)行的是reti指令或者訪

13、問ie或ip的指令,則附加的等待時(shí)間在5個(gè)機(jī)器周期內(nèi)。若系統(tǒng)中只有一個(gè)中斷源,則響應(yīng)時(shí)間為38個(gè)機(jī)器周期。16、中斷響應(yīng)過程中,為什么通常要保護(hù)現(xiàn)場?如何保護(hù)?答:因?yàn)橐话阒鞒绦蚝椭袛喾?wù)程序都可能會(huì)用到累加器,psw寄存器及其他一些寄存器。cpu在進(jìn)入中斷服務(wù)程序后,用到上述寄存器時(shí),就會(huì)破壞它原來存在寄存器中的內(nèi)容;一旦中斷返回,將會(huì)造成主程序的混亂。因而在進(jìn)入中斷服務(wù)程序后,一般要先保護(hù)現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序以前再恢復(fù)現(xiàn)場。保護(hù)方法一般是把累加器、psw寄存器及其他一些與主程序有關(guān)的寄存器壓入堆棧。在保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場時(shí),為了不使現(xiàn)場受到破壞或者造成混亂,一般規(guī)定此時(shí)

14、cpu不響應(yīng)新的中斷請求。這就要求在編寫中斷服務(wù)程序時(shí),注意在保護(hù)現(xiàn)場之前要關(guān)中斷,在恢復(fù)現(xiàn)場之后開中斷。如果在中斷處理時(shí)允許有更高級的中斷打斷它,則在保護(hù)現(xiàn)場之后再開中斷,恢復(fù)現(xiàn)場之前關(guān)中斷。17、清敘述中斷響應(yīng)的cpu操作過程,為什么說中斷操作是一個(gè)cpu的微查詢過程?答:在中斷響應(yīng)中,cpu要完成以下自主操作過程:a) 置位相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器,以標(biāo)明所響應(yīng)中斷的優(yōu)先級別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)先級管理規(guī)則處理同時(shí)請求的中斷源,且在下一個(gè)機(jī)器周期的s1狀態(tài)中,響應(yīng)最高級中斷請求。但是以下情況除外:a) cpu正在處理相同或更高優(yōu)先級中斷b) 多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器周期c) 正在執(zhí)行中斷系統(tǒng)的sfr操作,如reti指令及訪問ie、ip等操作時(shí),要延后一條指令18、在中斷請求有效并開中斷狀況下,能否保證立即響應(yīng)中斷?有什么條件?答:在中斷請求有效并開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論