單片機f-習題6答案_第1頁
單片機f-習題6答案_第2頁
單片機f-習題6答案_第3頁
單片機f-習題6答案_第4頁
單片機f-習題6答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習題61什么是中斷系統(tǒng)?中斷系統(tǒng)的功能是什么?為了滿足單答:中斷系統(tǒng)是指實現中斷過程的硬件邏輯和實現中斷功能的指令的統(tǒng)稱。 片機系統(tǒng)中各種中斷的要求,中斷系統(tǒng)一般具備如下基本功能:(1) .能實現中斷及返回(2) .能實現優(yōu)先權排隊(3) .能實現中斷嵌套2什么是中斷嵌套?答:當CPU響應某一外設的中斷請求,正在進行中斷處理時,若有優(yōu)先權級別更高的中斷源提出中斷請求,則CPU能中斷正在進行的中斷服務程序,響應高級中斷,在高級中斷處理完后,再繼續(xù)執(zhí)行被中斷的中斷服務程序。這一過程稱為中斷嵌套,如圖6-1所示。若發(fā)出新的中斷申請的中斷源的優(yōu)先級與正在處理的中斷源同級或更低時,則CPU不響應這個中斷

2、申請,直至正在處理的中斷服務程序執(zhí)行完后才去處理新的中斷申請。Word文檔應斷點+返宀應斷響高級中斷服務程序回低級中圖6-1中斷嵌套3. 8051單片機的中斷源有幾個?各個中斷的標志位是什么?答:80C51單片機的中斷系統(tǒng)有 5個中斷源,它們是:(1) 外部中斷0:由INTO (P3.2)引腳輸入,由外部中斷0觸發(fā)方式選擇位IT0選擇其為低電平有效還是下降沿有效,當CPU檢測到INTO引腳上出現有效的中斷請求信號時,中斷請求標志位IE0置1,向CPU申請中斷。(2) 外部中斷1:由INT1 (P3.3)引腳輸入,由外部中斷1觸發(fā)方式選擇位IT1選擇其為低電平有效還是下降沿有效,當CPU檢測到I

3、NT1引腳上出現有效的中斷請求信號時,中斷請求標志位IE1置1,向CPU申請中斷。(3) 定時器/計數器T0溢出中斷請求,當 T0定時時間到或計數滿后,中斷請求標志位 TFO由硬件置1,向CPU申請中斷。(4) 定時器/計數器T1溢出中斷請求,當 T1定時時間到或計數滿后,中斷請求標志位TF1被硬件置1,向CPU申請中斷 串行口中斷請求,當串行口接收完一幀數據時,中斷請求標志RI被硬件置1,或當串口發(fā)送完一幀數據時,中斷請求標志TI被硬件置1。4. 各個中斷源的中斷請求是如何撤銷的?答:定時器/計數器中斷請求的撤銷定時器/計數器的中斷請求被響應后。硬件會自動把中斷請求標志位TFO、TF1清0,

4、因此定時器/計數器中斷請求是自動撤銷的。外部中斷請求的撤銷(1)電平觸發(fā)方式外部中斷請求的撤銷電平觸發(fā)方式的中斷請求標志是自動撤銷的,但外部中斷請求信號的低電平可能繼續(xù)存在,由于單片機對INTO、INT1引腳沒有控制作用,所以在以后的機器周期采樣時,又會把已清0的IE0或IE1標志位重新置1,會多次引起中斷,因此需要外接電路來撤銷中斷請求 信號,即在中斷響應后把中斷請求信號引腳從低電平強制改變?yōu)楦唠娖?。常用的電平觸發(fā)方式外部中斷請求信號的撤銷電路如圖6-8所示。外部中斷 請求信號圖6-8電平觸發(fā)方式外部中斷請求的撤銷電路由圖6-8可見,用D觸發(fā)器鎖存外來的中斷請求電平,外部中斷請求信號通過D觸

5、發(fā)器加到單片機的INTO或INT1引腳上。當外部中斷信號使D觸發(fā)器的CP端發(fā)生正跳變時,由于D端接地,Q端輸出為0,即向單片機發(fā)出中斷請求,CPU響應中斷后,為了撤銷中斷請求,可利用 D觸發(fā)器的直接置位端 SD實現,把SD端接51單片機的P1.0端,使P1.0 端輸出一個負脈沖就可以使D觸發(fā)器置1,從而撤銷了低電平的中斷請求信號,所需的負脈沖可通過在中斷服務程序中增加如下兩條語句得到:P1=P1 & 0xfe; P1.0=0P仁P1 | 0x01; P1.0=1第一條語句使P1.0為0,P1 口的其它各位狀態(tài)不變。由于P1.0與直接置1端SD相連, 故D觸發(fā)器Q= 1,撤銷了中斷請求信號。 第

6、二條語句使 P1.0為1,即置1端SD不起作用, 目的使以后產生的新的外部中斷請求信號又能向單片機申請中斷。由此可見,電平觸發(fā)方式的外部中斷請求信號的完全撤銷,是通過軟硬件相結合的方法來實現的。(2)邊沿觸發(fā)方式外部中斷請求的撤銷邊沿觸發(fā)方式的外部中斷請求的撤銷,其中斷標志位(IEO或IE1)的清0是在中斷響應后由硬件自動完成的,因此邊沿觸發(fā)方式的外部中斷請求是自動撤銷的。串行口中斷請求的撤銷串行口中斷的標志位是 TI和RI,但對這兩個中斷標志位CPU不進行自動清0,因為響應串行口的中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,所以串行口中斷請求的撤銷只能使用軟件的方法,在中斷服務程序中用程序

7、清0,即用如下的語句進行串行口中斷標志位的清除:5. CPU響應中斷時,各個中斷源的中斷入口函數如何編寫?答:C51的中斷函數格式如下:void函數名()interrupt中斷號 using 工作組中斷服務程序內容中斷函數不能返回任何值,所以最前面用void ;后面緊跟函數名,名字不要與C語言中的關鍵字相同;中斷函數后不帶任何參數,所以函數后面的小括號為空;中斷號是指單片機中幾個中斷源的序號,可查表 6-1,這個序號是編譯器識別不同中斷的唯一序號,此處應 該設為0 ;最后面的Using工作組”是指這個中斷函數使用單片機內部RAM中4個工作寄存器組中的哪一組,C51編譯器在編譯程序時會自動分配工

8、作組,因此Using工作組”通常省略不寫。6. 編寫外部中斷0為邊沿觸發(fā)方式的中斷初始化程序。答:IE=0x81;/ EA=1,CPU開中斷,EX0=1,允許外部中斷 0產生中斷IP=0x01;/ PX0 = 1,外中斷0為高級中斷IT0=1;外中斷0為邊沿觸發(fā)方式7. 電路如圖6-11所示,要求單片機的主程序實現P1 口控制一個共陰極數碼管的各段依次點亮,不斷循環(huán),當有外中斷而輸入時,使數碼管顯示 0,閃爍4次后,返回原斷點處繼續(xù)執(zhí)行程序,外中斷祐的觸發(fā)方式采用邊沿觸發(fā)方式。試編寫程序。C1C230pX1CRYSTALR310kRN130010uFC312345678U11915214313

9、41251161079816 1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0 3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0 7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2 5/A13P2.6/A14P2.7/A15P1 0P3 0/RXDP1.1P3.1/TXDP1.2P3.2/FNTTP1.3P3.3/rNTFP1 4P3 4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD18929AT89C513433230312122 23 -2425 26 2710

10、14161739 -38 3736 35圖6-11單片機外中斷INT1應用系統(tǒng)電路圖答:程序如下:#include#include #define uint unsigned int#define uchar unsigned char uchar i,aa;void delay(uint z);void main()EA=1;/開總中斷EX仁 1;/開外部中斷1IT 1=1;/將外部中斷1設為邊沿觸發(fā)方式aa=0x01;P3=0xff;whileP1=aa;/送入段選信號 delay(1000);aa=_crol_(aa,1); 將aa循環(huán)左移1位后再賦給aavoid delay( uint

11、 z)ui nt x,y;for(x=z;x0;x-)for(y=110;y0;y-); void exterO( ) in terrupt 2for(i=4;i0;i-)P仁 0x3f;delay(500);/送入段選信號7f,使數碼管顯示8P仁0 x00;delay(500);/送入段選信號00,使數碼管熄滅8. 電路如圖6-12所示,要求單片機主程序控制 P0 口數碼管循環(huán)顯示 09;外部中斷INT0發(fā)生時,控制 P2 口控制數碼管顯示 09,外部中斷INT1發(fā)生時,控制 P1口數碼管顯示09,外部中斷INT1為高優(yōu)先級,外部中斷INT0為低優(yōu)先級,都采用邊 沿觸發(fā)方式,數碼管為共陽極數

12、碼管。試編寫程序。圖6-12單片機外中斷INTO、INT1應用系統(tǒng)電路圖答:程序如下:1521431341251161079838PUI37P0236 P033534 P0533PU632PU7200#in elude #in elude vintrin s.h #defi ne uchar un sig ned char#defi ne uint un sig ned intuchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 ;void delayms( uint x)int i,j;for(i=x;i0;i_)for(j=110;j0;j-); void in it()IT0=1; /INT0 邊沿觸發(fā)。IT仁1; /INTl邊沿觸發(fā)。EA=1;/開總中斷EX0=1; / 使能 INT0EX1=1; / 使能 INTIPX仁1; /中斷1高優(yōu)先級PXO=O; /中斷0低優(yōu)優(yōu)先void mai n()uchar i;ini t();while(1)P0=tablei;

溫馨提示

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

評論

0/150

提交評論