實驗四:中斷系統一、實驗目的- 掌握單片機中中斷系統的原理及使用方法。
- 熟悉51單片機的匯編指令。
- 熟練并掌握定時中斷1的編程。
- 掌握單片機中斷優先級的概念。
二、實驗設備STC89C52單片機實驗板、串口下載線、USB連接線、電腦 三、實驗原理及內容實驗原理: 對于單片機來講,中斷是指CPU在處理某一事件A時,發生了另一事件B,請求CPU迅速去處理(中斷發生);CPU接到中斷請求后,暫停當前正在進行的工作(中斷響應),轉去處理事件B(執行相應的中斷服務程序),待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續處理事件A(中斷返回),這一過程稱為中斷。 中斷 CPU正在執行主程序的過程中,由于CPU之外的某種原因,有必要暫停主程序的執行,轉而去執行相應的處理(中斷服務)程序。待處理程序結束之后,再返回原程序斷點處繼續運行的過程。 中斷源 可以引起中斷的事件稱為中斷源。單片機中也有一些可以引起中斷的事件。MCS-51單片機中共有5種中斷源:兩個外部中斷( 、 )、兩個定時/計數器中斷(T0、T1)和一個串行口中斷。 中斷系統 實現中斷過程的軟、硬件系統。 主程序與中斷服務程序 CPU正在執行的當前程序稱為主程序;中斷發生后,轉去對突發事件的處理程序稱為中斷服務程序。 中斷優先級 當多個中斷源同時申請中斷時,為了使CPU能夠按照用戶的規定先處理最緊急的事件,然后再處理其他事件,就需要中斷系統設置優先級機制。通過設置優先級,排在前面的中斷源稱為高級中斷,排在后面的稱為低級中斷。設置優先級以后,若有多個中斷源同時發出中斷請求時,CPU會優先響應優先級較高的中斷源。如果優先級相同,則將按照它們的自然優先級順序響應默認優先級較高的中斷源。 五個中斷源默認的自然優先級是由硬件的查詢順序決定的,由高到低的順序依次是:外部中斷0、定時/計數器0中斷、外部中斷1、定時/計數器1中斷、串行口中斷。中斷源的優先級需由用戶在中斷優先級寄存器IP中設定。 中斷嵌套 當CPU響應某一中斷源請求而進入該中斷服務程序中處理時,若更高級別的中斷源發出中斷申請,則CPU暫停執行當前的中斷服務程序,轉去響應優先級更高的中斷,等到更高級別的中斷處理完畢后,再返回低級中斷服務程序,繼續原先的處理,這個過程稱為中斷嵌套。在51單片機的中斷系統中,高優先級中斷能夠打斷低優先級中斷以形成中斷嵌套,反之,低級中斷則不能打斷高級中斷,同級中斷也不能相互打斷。 實驗步驟: 軟件操作過程參考實驗一。
實驗接線圖:
1.016.jpg (74.88 KB, 下載次數: 38)
下載附件
2017-8-13 02:41 上傳
外部中斷電路圖:
1.017.jpg (48.72 KB, 下載次數: 38)
下載附件
2017-8-13 02:41 上傳
程序代碼(匯編版): - ORG 0000H
- LJMP MAIN
- ORG 001BH ;定時中斷入口地址
- LJMP INSER
- ORG 0030H
-
- MAIN: MOV TMOD , #10H
- MOV TH1 , #04CH ;裝入定時器初值
- MOV TL1 , #000H
- SETB EA ;打開總中斷
- SETB ET1 ;允許定時器/計數器1 中斷
- SETB TR1 ;開啟定時器/計數器1 中斷
- HERE: SJMP HERE ;原地踏步
-
- ORG 0200H
- INSER: MOV TH1 , #04CH
- MOV TL1 , #000H
- INC A
- CJNE A , #20 , LOOP ;每隔20*50MS 一秒發聲
- CPL P1.5
- MOV A , #00H
- LOOP: RETI
- END
復制代碼 4、實驗收獲與體會本次試驗我們做的是試驗定時中斷1使 蜂鈴器發聲的實驗,并且成功完成了此次實驗。 本次試驗令我們獲益匪淺。做實驗時,一定要親力親為,務必要將每個步驟,每個細節弄清楚,弄明白,實驗后,還要復習,思考,這樣,你的印象才深刻,記得才牢固,否則,過后不久你就會忘得一干二凈,這還不如不做。通過這次試驗,使課堂中書本上的一些理論知識與實踐相結合,更加深刻了我對單片機這門課的認識,鞏固了我的理論知識。
完整單片機實驗報告下載(word格式 可編輯):
http://www.zg4o1577.cn/bbs/dpj-88784-1.html
|