如何打開MCU中斷
在51個微控制器中,還有另外五個常見的中斷源,即INT0,INT1,T0,T1和串行端口中斷。這五個中斷就像五個鍵一樣,為了讓微控制器發揮應有的作用,我們必須熟練使用它們。
對于這五個中斷源,最簡單的中斷源是INT0 / INT1。他們兩個只打斷工作。
他們更現實。與T0 / T1相比,它們的功能更強大,并且可以執行多項任務。
。然后是串行端口中斷,屬于精神分裂癥類型。
它包含兩個中斷以控制一個中斷源。但是,它僅進行通信,不關心其他人。
因此,如果柿子不得不捏一點,他們將首先執行INT0 / INT1。我們之前討論過一個生活中的案例,那就是看電視,然后水滾滾,關掉水,然后又回來看電視。
水流聲是觸發我們暫停電視的信號。那么在程序中,我們要在什么條件下暫停主程序并輸入中斷信號?首先看一下微控制器的端口。
在端口上,您可以找到兩個定義為INT0 / INT1的引腳。在上圖中,我們可以在一幅圖中看到所有中斷。
P3.0 / RXD為通訊寫端口,內部對應為寫中斷RX,P3.1 / TXD為通訊發送端口,內部對應為發送中斷TX。 ,P3.2 / INT0,外部中斷0,P3.3 / INT1,外部中斷1,P3.4 / T0,中斷0,P3.5 / T1,中斷1顯然有用。
從手冊中我們可以知道,當P3.2 / INT0引腳為低電平時,它將觸發INT0中斷程序。真的是這樣嗎?只有一個真理,那就是它有多簡單。
盡管我們已經找到了觸發端口,但是我們也可以給它一個低觸發電位,但是程序響應仍然需要做很多工作。這是中斷的難點,需要配置中斷。
就像我聽到水沸騰了一樣,但是如何使水停止沸騰需要先有人教我,否則我只能站在水壺旁看著它沸騰,無助。那么我們如何使用這個中斷呢?關于使用外部中斷,必須遵循以下步驟,否則將不使用它。
首先討論步驟,然后詳細介紹每個步驟的設置方法。使用INT0:1,打開總中斷開關。
2.打開INT0中斷開關。 3.配置INT0中斷的觸發模式。
4.設置中斷響應程序。開始之前,我們必須首先了解一些中斷配置信息,這些信息必須基于數據手冊。
可以通過STC官方網站直接下載89C52數據表。如有必要,您還可以留言或私人留言,我將分別發送給您。
這與打擾的優先級有關,也就是說,當我們處理打擾時,要有一個順序,否則,當水灑滿時門鈴響了,一個人又怎么能開門和關門?程序是一樣的。為了避免同時發生中斷時的尷尬場面,請為每個中斷設置優先級。
INT0和INT1同時觸發中斷,然后將首先處理INT0的程序,并在處理完燈泡后處理INT1的程序。 。
這樣可以確保程序穩定有序。這還不夠。
首先,我們需要打開中斷的主開關。我們可以通過這種方式了解中斷的操作過程。
讓我用電路圖來解釋。如果中斷信號要觸發中斷程序,則需要首先打開主開關,打開INT0專用開關,設置觸發模式,然后正確輸入中斷程序以完成中斷。
如何設置總中斷開關?查找表,您可以看到主交換機為EA,主交換機為EA = 1。然后,打開外部中斷0(INT0)的開關為EX0,EX0 = 1。
如果斷開連接,則必須設置觸發模式。觸發模式在另一個表中。
繼續檢查表。查找表以了解需要設置IT0。
設置為0時,當引腳為低電平時,即電位變為0V時,將觸發中斷,并輸入中斷響應。設置為1時,當引腳的輸入電平從高電平變為低電平時,將觸發中斷。
為什么有兩種方法?實際上,它們都是可能的,但是我們需要知道,當我們使用穩定的信號作為觸發信號時,會出現這種情況,即,當高電勢變為低電勢時,。
