單片機外部中斷實驗報告_第1頁
單片機外部中斷實驗報告_第2頁
單片機外部中斷實驗報告_第3頁
單片機外部中斷實驗報告_第4頁
單片機外部中斷實驗報告_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、實驗三 外部中斷實驗報告班級: 學號: 姓名: 教師: 一、實驗目的1、掌握單片機外部中斷的原理及過程。2、掌握單片機外部中斷程序的設計方法。3、掌握單片機外部中斷時中斷方式的選擇方法。二、實驗內容如下圖所示,P3.2設為輸入, P2設為輸出位,連有8個發光二極管D1D8。每當發生外部中斷時,發光二極管以向下流水燈的方式點亮。分別選擇邊沿觸發外部中斷放是和電平觸發外部中斷方式兩種。 三、編程提示1、P3口是8位準雙向口,具有雙重功能:第一功能和P1口一樣,作為輸入輸出口,也有字節操作和位操作兩種方式,每一位可分別定義為輸入或輸出;第二功能定義如下 :P3.0 RXD 串行輸入口P3.1 TXD

2、 串行輸出口P3.2 INT0 外部中斷0請求輸入線P3.3 INT1 外部中斷1請求輸入線P3.4 T0定時器/計數器T0外部計數器脈沖輸入線P3.5 T1定時器/計數器T1外部計數器脈沖輸入線P3.6 WR外部數據存貯器寫脈沖輸出線P3.7 RD外部數據存貯器讀脈沖輸出線2、各中斷服務程序入口地址:外部中斷0 03H定時器/計數器T1溢出中斷 0BH外部中斷1 13H 定時器/計數器 1BH串行口中斷 23H3、外部中斷的產生條件中斷允許寄存器IE: EAESET1EX1ET0EX0(1)外部中斷源允許中斷(中斷0:EX0=1;中斷1:EX1=1)。(2)CPU開中斷(EA=1)。(3)外

3、部中斷方式CPU發出中斷申請。4、外部中斷方式的選擇控制TCON:TF1TR1TF0TR0IE1IT1IE0IT0IT0是選擇文字則外部中斷0請求(INT0)邊沿觸發方式或電平觸發方式的控制位。前一方式IT0=1,后一方式IT0=0。IT1是選擇外部中斷1請求(INT1)為邊沿觸發方式或電平觸發方式的控制位。前一方式IT1=1,后一方式IT1=0。當8031復位后,TCON被清0。5、外部中斷電路負脈沖作為中斷請求信號時,為了保證中斷的唯一性,必須加上消除開關抖動的電路或者去抖動延時程序,保證每次只產生單脈沖,構成邊沿觸發方式外部中斷電路。邊沿觸發的最大優點在于不會丟失中斷。只要中斷請求負跳變

4、的寬度大于1 個機器周期,單片機就能夠采樣到中斷請求信號,單片機將采樣到的信號瑣存到中斷請求標志寄存器中,硬件自動置IE0為1,即使單片機暫時不響應,這個標志也不會丟失,只有在外部中斷響應之后,硬件才將IE0清除。低電平觸發的外部中斷與邊沿觸發的外部中斷,其中斷過程基本相似。唯一不同在于中斷請求信號的保持與撤消。在邊沿觸發中,單片機TCON寄存器專門有一位作它的請求標志,當負跳變后,單片機將中斷請求標志IE1(INT1中斷為IE1,INT0中斷為IE0)自動置1,由IE1請求中斷,在響應中斷時,又由單片機自動清除IE1。但是對于電平觸發方式,單片機中沒有專門的請求標志,響應中斷時也不能自動清除

5、請求信號。在實際應用中,常常是在單片機外增加一個觸發器作為中斷請求標志,當中斷請求發生時置觸發器為0,使INT1為低電平,在單片機響應這個中斷后,利用軟件(占用另一根I/O線,例如P3.1)發出復位脈沖,使該觸發器置1,撤消中斷請求。這種電路使請求中斷的低電平能夠保持足夠的時間,一直到中斷發生為止,因而不會丟失中斷請求。低電平的時間又不致太長,只要進入中斷服務程序,在返回之前,就撤消請求信號,因而也不會產生多余的中斷動作。 四、實驗器材仿真器、目標系統實驗板、直流電源五、實驗步驟1、邊沿觸發式外部中斷0實驗(1) P3.2設為邊沿觸發方式,連接外部復位開關,編程使每次中斷流水燈向下移位一次,中

6、斷程序中不延時去抖動,觀察結果。(2)P3.2設為邊沿觸發方式,連接外部復位開關,編程使每次中斷流水燈向下移位一次,中斷程序中采用延時去抖動,觀察結果。(3)P3.3設為邊沿觸發方式,連接外部RS觸發器硬件去抖動的開關,編程使每次中斷流水燈向下移位一次,中斷程序中不延時去抖動,觀察結果。2、電平觸發式外部中斷實驗P3.3設為電平觸發方式,連接外部RS觸發器硬件去抖動的開關,編程使每次中斷流水燈向下移位一次,中斷程序中不延時去抖動,觀察結果。六、C源程序清單#include <STC12C5A60S2.h> #define uchar unsigned char uchar i=0;

7、uchar numi=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;void delay(uchar k );void main() EA=1; EX0=1; IT0=1; while(1) if(EX0=0) /delay(100); IE0=0; EX0=1; void int0() interrupt 0 EX0=0; P2=numii; i+; if(i>8) i=0; void delay(uchar k ) uchar x,y,z; for(x=k;x>0;x-)for(y=20;y>0;y-)for(z=250;z>0;z

8、-);七、總結1、邊沿觸發和電平觸發兩種方式中斷響應的原理與區別邊沿觸發:當從高至低電平或從低至高電平轉變時,觸發產生;電平保持多久都只產生一次。所以,邊沿觸發適合與以負脈沖形式輸入的外部中斷請求。 電平觸發:那么在電平時間內中斷一直有效;因此如果在電平沒有恢復之前中斷程序就已經執行完成從而退出,那么會在退出后又再次進入中斷;但只要中斷沒有退出是不會重復觸發的。所以,電平觸發方式適合于外部中斷以電平輸入而且中斷服務能清除外部中斷源的情況。2、實驗現象1、(1)實驗現象是,按鍵一次就會跳過幾個燈,也就是說按鍵一次并不是向后移一位而是好幾位,這是因為按鍵沒有去抖動,所以會進入多次中斷導致。1、(2)按鍵一次,燈就向下移一位,這是通過軟件去抖動之后,按鍵按下后延時一段時間,再來判斷中斷有沒有打開,所以按鍵一次只進入一次中斷。1、(3)按鍵一次,燈就向下移一位,雖然沒有用按鍵去抖動,但是這個鍵在硬件上已經去抖,所以按鍵一次也是只進入一次中斷程序,所

溫馨提示

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

評論

0/150

提交評論