微控制器(微控制器)的中斷系統及應用

2021-09-02 14:10:30 字數 2582 閱讀 2421

2. 中斷暫存器

3. 中斷處理流程

4. 最重要的事

中斷是指**處理器cpu正在處理某件事情的時候,外部發生了某一事件(如定時器計時已到),請求cpu迅速去處理,cpu暫停當前的工作,轉去處理所發生的事件,處理完以後,再回到原來被中斷的地方,繼續原來的工作。實現這種功能的部件稱為中斷系統。它由4個與中斷有關的特殊功能暫存器(tcon、scon)中斷允許控制暫存器ie中斷順序查詢邏輯等組成。

我們將發起中斷申請的裝置,稱為中斷源。

1.2.1 中斷源的種類

根據中斷源的不同,可分為2個外部中斷源,3個內部中斷源:

微控制器中主要包含四類特殊的暫存器對中斷進行控制:

每個中斷源對應乙個中斷標誌位,當某個中斷源有中斷請求時,相應的中斷標誌位置1,各中斷源的中斷標誌位在tcon和scon中,具體如下表所示:

說明:

it1(tcon.2):外部中斷1觸發方式控制位,其作用和it0類似。

tr0(tcon.4):定時/計數器t0執行控制位。

當tr0=1,啟動定時/計數器t0;反之,停止定時/計數器t0。

tr1(tcon.6):定時/計數器t1執行控制位,其作用和tr0相同。

這裡補充一下串列埠通訊的四種模式,方便後面理解各個標誌位的作用:

說明:中斷系統中所有中斷以及某個中斷源的開放和遮蔽是由中斷允許暫存器ie控制的,ie可進行位定址。中斷允許暫存器ie對中斷的開放和關閉實現兩級控制。(ps:兩級控制是指有乙個總的開關中斷控制位ea。當ea=0時,所有的中斷請求被遮蔽,cpu對任何中斷請求都不接受;當ea=1時,cpu開放中斷,但5個中斷源的中斷請求是否允許,還要由ie中的低5位所對應的5個中斷請求允許控制位的狀態來決定。)

說明:微控制器有兩個中斷優先順序,即可實現二級中斷服務巢狀。兩級優先順序遵循下述規則:僅高優先順序可中斷巢狀低優先順序。簡而言之:高優先順序的中斷可打斷低優先順序的中斷。

說明:

要求:使p1.0管腳上輸出週期為2ms的方波脈衝。設微控制器晶振頻率‎fosc=6mhz。

思路:利用定時器t0作1ms定時,達到定時值後引起中斷,在中斷服務程式中,使p1.0的狀態取一次反,並再次定時1ms。

ps:當定時器/計數器工作在方式1時,且確定定時為t後,其初值的計算公式為:

x = 65536 - t x fosc /12

程式設計實現為:

#include sbit pulse=p1^1;

//初始化定時器

void inittimer0( )

//定時器0中斷服務程式

void irqtimer0 () interrupt 1

//主程式

void main()

要求:繪製電路圖,並通過按鍵實現led燈的閃爍。

思路:將按鍵訊號作為微控制器外部中斷觸發訊號。每產生乙個外部中斷就將與led燈相連的p1.0口電平取反,從而實現led燈閃爍

ps:由於手動按鍵存在機械抖動,且按鍵會持續一段時間(約50~100ms),為避免一次按鍵產生多次外部中斷,需要在每次中斷後進行一定延時處理,確保本次按鍵已經釋放

實現:電路圖設計為:

程式設計為:

#includesbit led=p1^0;

// 主函式

void main(void)

//外部中斷0服務程式

void eirq0(void) interrupt 0

現要求編制程式,並設計相關外部電路,使p1.1管腳上連線led,並在外部中斷int0連線按鍵。設微控制器晶振頻率‎fosc=12mhz。

1.利用定時器t0使得達到定時值後引起中斷,在中斷服務程式中,使led燈狀態發生反轉,並持續500ms。

2.若微控制器被外部中斷int0中斷,則在中斷服務程式中使得led等的狀態進行500ms每次的閃爍(亮500ms,滅500ms)反覆5次,期間可被定時器中斷,5次以後重新回到int0中斷前狀態。

微控制器及微控制器系統

微控制器及微控制器系統 1 什麼是微控制器?微控制器是將 處理器 cpu 隨機儲存器 ram 唯讀儲存器 rom或eprom 定時器晶元和一些輸入 輸出介面電路整合在乙個晶元上的微控制器 microcontroller 處理器包括運算器 控制器和暫存器3個主要部分,是微控制器的核心。儲存器按工作方式...

微控制器中斷系統

微控制器中斷系統的優點 1 實現實時處理。2 實現分時操作。3 進行故障處理。4 待機狀態的喚醒。微控制器嵌入式系統的應用中,為了減少電源的功耗,當系統不處理任何事物,處於待機狀態時,可以讓微控制器工作在休眠的低功耗方式。通常,恢復到正常工作方式往往也是利用中斷訊號來喚醒。中斷處理過程 中斷系統中,...

微控制器中斷的應用

51微控制器 p3.2 引腳為int0 中斷 p3.3引腳為int1 中斷 按鈕 p3.2 p3.3 按鈕低電平觸發 while pb0 0 delay include define seg p0 定義七節顯示器接至port 0 sbit led p2 0 定義led燈接至p2.0 sbit com...