第六章 中斷系統_第1頁
第六章 中斷系統_第2頁
第六章 中斷系統_第3頁
第六章 中斷系統_第4頁
第六章 中斷系統_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、概述 LPC1700系列ARM具有4路外部中斷,可以設置為2種類型: 邊沿觸發: 上升沿觸發 下降沿觸發 電平觸發: 高電平觸發 低電平觸發 中斷信號下降沿觸發 邊沿觸發中斷 下降沿觸發類型中斷的請求和清除時序。 T1T2 T1時刻,中斷信號有下降沿產生,中斷控制器向CPU 發出中斷請求。 1 T2時刻,CPU執行完成中斷控制器的中斷服務程序, 清除中斷,中斷信號回復到高電平。 2 中斷信號低電平觸發 電平觸發中斷 低電平觸發類型中斷的請求和清除時序。 T1T3 T1時刻,中斷信號開始由高電平轉為低電平。 1 T2時刻,中斷控制器確認中斷信號是低電平后,將向 CUP發出中斷請求。 2 T2 T

2、3時刻,CPU執行完成中斷控制器的中斷服務程序, 清除中斷,中斷信號回復到高電平。 3 外部中斷源34 (EINT0) 外部中斷源35 (EINT1) 外部中斷源36 (EINT2) 外部中斷源37 (EINT3) ARM 處理器核 嵌套 向量 中斷 控制 器 (NVIC) 外部中斷輸入 外部中斷源 LPC1700系列微控制器幾乎所有的外設部件都可以 產生中斷。其中外部中斷含有4個獨立的中斷輸入。 系統控制模塊功能匯總 名稱描述訪問復位值 EXTINT外部中斷標志寄存器R/W0 EXTMODE外部中斷方式寄存器R/W0 EXTPOLAR外部中斷極性寄存器R/W0 寄存器匯總 外部中斷輸入 寄存

3、器匯總 可以通過設置PINSELx寄存器選擇對應引腳為外部中 斷輸入引腳。 1 可以通過設置EXTPOLAR和EXTMODE確定外部中斷 的觸發信號。 2 可以控制把CPU從掉電模式喚醒。 3 有效中斷信號設置中斷標志。 4 管腳 連接控制 外部中斷 極性控制 外部中斷 方式控制 中斷標志 PINSELx EXTPOLAREXTMODEEXTINT CPU 其它部件 1 2 3 外部中斷 極性控制 外部中斷 方式控制 掉電 喚醒控制 中斷標志 EXTPOLAREXTMODE EXTINT EXTWAKE 管腳 連接控制 PINSELx CPU 其它部件 寄存器匯總 中斷相關寄存器 EXTINT

4、EINT0 7 : 40 EINT1 1 EINT2 2 EINT3 3 若引腳上出現了符合要求的信號,EXTINT寄存器中對應的中斷標志 將被置位。向該寄存器的EINT0EINT3位寫入1,可將其清零。 外部中斷標志寄存器(EXTINT): 注意:在電平觸發方式下,清除中斷標志只有在引腳處于無效狀態時才可 實現。比如設置為低電平中斷,則只有在中斷引腳恢復為高電平后才能清 除中斷標志。 設置該寄存器允許相應的外部中斷將處理器從掉電模式喚醒。實現掉 電喚醒不需要在向量中斷控制器(VIC)中使能相應的中斷。該寄存器的 低四位(EXTWAKE3:0)分別對應外部中斷30。 外部中斷喚醒寄存器(EXT

5、WAKE): 控制寄存器 EXTWAKEEXTWAKE0 7 : 40 EXTWAKE1 1 EXTWAKE2 2 EXTWAKE3 3 外部中斷方式控制寄存器(EXTMODE): 該寄存器控制著外部中斷輸入信號的有效觸發方式,低四位分別對應 外部中斷30。對應位為0時,電平觸發外部中斷;對應位為1時,邊沿 觸發外部中斷。 控制寄存器 EXTMODEEXTMODE0 7 : 40 EXTMODE1 1 EXTMODE2 2 EXTMODE3 3 外部中斷極性控制寄存器(EXTPOLAR): 電平觸發方式下:對應位為0時,低電平觸發外部中斷;對應位為1時, 高電平觸發外部中斷。邊沿觸發方式下:對

6、應位為0時,下降沿觸發外部中 斷;對應位為1時,上升沿觸發中斷。 控制寄存器 EXTPOLAREXTPOLAR0 7 : 40 EXTPOLAR1 1 EXTPOLAR2 2 EXTPOLAR3 3 設置說明 相應位設置值 信號波形 極性控制寄存器 (EXTPOLAR) 方式控制寄存器 (EXTMODE) 低電平觸發0(低)0(電平) 高電平觸發1(高)0(電平) 下降沿觸發0(下降)1(邊沿) 上升沿觸發1(上升)1(邊沿) 中斷信號波形與設置方式 外部中斷輸入 外部中斷的設置 LPC1700系列ARM的電平中斷可以設置為電平中斷和 邊沿中斷。 當EXTMODE0 = 0時,外部中斷0設置為

7、電平觸發。 當EXTMODE0 = 1時,外部中斷0設置為邊沿觸發。 注意:這里僅以EINT0為例來進行講解,EINT1EINT3與之類似,此處不再重復。 低電平 高電平 EINT0 0 EXTMODE0 = 0 EXTPOLAR0 高電平中斷 低電平中斷 上升沿中斷 下降沿中斷 邊沿 中斷 VIC 外 部 中 斷 0 0 1 1 0 1 電平 中斷 外部中斷輸入 外部中斷的設置 LPC1700系列ARM的電平中斷可以設置為電平中斷和 邊沿中斷。 當EXTMODE0 = 0時,外部中斷0設置為電平觸發。 當EXTMODE0 = 1時,外部中斷0設置為邊沿觸發。 注意:這里僅以EINT0為例來進

8、行講解,EINT1EINT3與之類似,此處不再重復。 EINT0 0 EXTMODE0 = 1 EXTPOLAR0 高電平中斷 低電平中斷 上升沿中斷 下降沿中斷 電平 中斷 VIC 外 部 中 斷 0 0 1 1 0 1 下降沿 上升沿 邊沿 中斷 外部中斷輸入 電平中斷設置 低電平 注意:這里僅以EINT0為例來進行講解,EINT1EINT3與之類似,此處不再重復。 LPC1700系列ARM的電平中斷可以設置為高電平觸發和 低電平觸發。 當EXTPOLAR0 = 0時,外部中斷0設置為低電平觸發。 當EXTPOLAR0 = 1時,外部中斷0設置為高電平觸發。 EINT0 0 EXTMODE

9、0 = 0 EXTPOLAR0 = 0 高電平中斷 低電平中斷 上升沿中斷 下降沿中斷 電平 中斷 邊沿 中斷 VIC 外 部 中 斷 0 0 1 1 0 1 外部中斷輸入 電平中斷設置 EINT0 0 EXTMODE0 = 0 EXTPOLAR0 = 1 高電平中斷 低電平中斷 上升沿中斷 下降沿中斷 電平 中斷 邊沿 中斷 VIC 外 部 中 斷 0 0 1 1 0 1 注意:這里僅以EINT0為例來進行講解,EINT1EINT3與之類似,此處不再重復。 LPC1700系列ARM的電平中斷可以設置為高電平觸發和 低電平觸發。 當EXTPOLAR0 = 0時,外部中斷0設置為低電平觸發。 當

10、EXTPOLAR0 = 1時,外部中斷0設置為高電平觸發。 高電平 外部中斷輸入 邊沿中斷設置 EINT0 0 EXTMODE0 = 1 EXTPOLAR0 = 0 高電平中斷 低電平中斷 上升沿中斷 下降沿中斷 電平 中斷 邊沿 中斷 VIC 外 部 中 斷 0 0 1 1 0 1 注意:這里僅以EINT0為例來進行講解,EINT1EINT3與之類似,此處不再重復。 LPC1700系列ARM的邊沿中斷可以設置為上升沿觸發和 下降沿觸發。 當EXTPOLAR0 = 0時,外部中斷0設置為下降沿觸發。 當EXTPOLAR0 = 1時,外部中斷0設置為上升沿觸發。 下降沿 外部中斷輸入 邊沿中斷設

11、置 EINT0 0 EXTMODE0 = 0 EXTPOLAR0 = 1 高電平中斷 低電平中斷 上升沿中斷 下降沿中斷 電平 中斷 邊沿 中斷 VIC 外 部 中 斷 0 0 1 1 0 1 注意:這里僅以EINT0為例來進行講解,EINT1EINT3與之類似,此處不再重復。 LPC1700系列ARM的邊沿中斷可以設置為上升沿觸發和 下降沿觸發。 當EXTPOLAR0 = 0時,外部中斷0設置為下降沿觸發。 當EXTPOLAR0 = 1時,外部中斷0設置為上升沿觸發。 上升沿 外部中斷輸入 外部中斷的設置中斷標志 EXTINT0 EXTINT1 EXTINT2 EXTINT3 觸發外部中斷0

12、 觸發外部中斷1 觸發外部中斷2 觸發外部中斷3 外部中斷標志寄存器 EXTINT 注意:外部中斷標志寫“1”清零。 外部中斷輸入 外部中斷應用示例 初始化EINT0(P2.10)為電平中斷: 初始化EINT0為下降沿中斷: 清除所有外部中斷標志: LPC_PINCON-PINSEL4 = (LPC_PINCON- PINSEL4 LPC_SC- EXTINT = 0 x0F; LPC_PINCON- PINSEL4 = (LPC_PINCON- PINSEL4 LPC_SC- EXTPOLAR = LPC_SC- EXTPOLAR 控制寄存器 狀態寄存器 端口P0和P2引腳還具有中斷功能。G

13、PIO管腳的中斷 寄存器可分為兩組:控制寄存器和狀態寄存器。 沒有電平中斷 上升沿中斷使能寄存 器 IO0/2IntEnR 上升沿中斷狀態寄存 器 IO0/2IntStatR 下降沿中斷使能寄存 器 IO0/2IntEnF 下降沿中斷狀態寄存 器 IO0/2IntStatF 中斷標志清零寄存器 IO0/2IntClr 整體中斷狀態寄存器 IOIntStatus 上升沿中斷狀態寄存器 IO0/2IntStatF P0/P2+ 下降沿中斷 上升沿中斷 IO0/2IntStatR IOIntStatus IO0/2IntEnR IO0/2IntEnF IO0/2IntClr 上升沿中斷使能寄存器 下

14、降沿中斷使能寄存器 中斷標志清零寄存器 下降沿中斷狀態寄存器整體中斷狀態寄存器 IO0/2IntEnF IO0/2IntEnR P0/P2+ IO0/2IntClr IOIntStatus IO0/2IntStatF IO0/2IntStatR 設置中斷觸發模式 1 等待中 斷 IOIntStatus IO0/2IntStatF IO0/2IntStatR 清除中斷標志 2 設置下降沿中斷使 能 下降沿中斷 上升沿中斷 操作示例設置P0.0下降沿中斷 PINSEL0 IO0IntEnF |= 0 x01; NVIC_EnableIRQ(EINT3_IRQn); void EINT3_IRQHa

15、ndler (void) if(IO0IntStatF . 設置引腳連接模塊 設置下降沿中斷 判斷是否為P0.0下降沿中斷 清除中斷標志 用戶其它代碼 使能GPIO中斷 GPIO中斷只有邊沿觸發方式,而外部中斷具有邊沿觸發 和電平觸發兩種方式; GPIO的中斷與外部中斷3占用一個中斷通道,也就是說如 果使用GPIO中斷的話,外部中斷3就無法使用; GPIO中斷的引腳數目多,PORT0和PORT2兩個端口的 有效引腳都可以作為中斷使用,而外部中斷只有四個引腳: P2.10、P2.11、P2.12和P2.13; P2.10、P2.11、P2.12和P2.13這四個引腳既可以作為外 部中斷引腳,也可以作為GPIO中斷引腳,二者只能選其一; 小結:外部中斷和GPIO中斷的區別 外部中斷都

溫馨提示

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

評論

0/150

提交評論