msp430中斷定時器_第1頁
msp430中斷定時器_第2頁
msp430中斷定時器_第3頁
msp430中斷定時器_第4頁
msp430中斷定時器_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、MSP430G2開發(fā)板 系列培訓之 中斷 中斷 2021-8-9 1、中斷定義 CPU在執(zhí)行一個程序時,對系統(tǒng)發(fā)生的某個事件(程序自身或外 界的原因)作出的一種反應(yīng):CPU暫停正在執(zhí)行的程序,保留現(xiàn) 場后自動轉(zhuǎn)去處理相應(yīng)的事件,處理完該事件后,到適當?shù)臅r候 返回斷點,繼續(xù)完成被打斷的程序。(如有必要,被中斷的程序 可以在后來某時間恢復(fù),繼續(xù)執(zhí)行。) 事件:如讀盤,盤有問題,無法讀,產(chǎn)生中斷,解決后,程序恢 復(fù),軟件錯誤也會中斷。 特點: 1) 中斷隨機的 2) 中斷是可恢復(fù)的 3) 中斷是自動進行處理的 單片機中斷的簡單應(yīng)用:按鍵中斷控制小燈亮滅 2021-8-9 (1)中斷源:中斷請求信號的

2、來源。 (2)中斷響應(yīng)與返回:CPU采集到中斷請求信號,怎 樣轉(zhuǎn)向特定的中斷服務(wù)子程序,并在執(zhí)行完之后返回被中斷 程序繼續(xù)執(zhí)行。期間涉及到CPU響應(yīng)中斷的條件,現(xiàn)場保 護,現(xiàn)場恢復(fù)。 (3)優(yōu)先級控制:中斷優(yōu)先級的控制就形成了中斷嵌套 ,同一個優(yōu)先級的中斷,還存在優(yōu)先權(quán)的高低。優(yōu)先級是可 以編程的,而優(yōu)先權(quán)是固定的。 單片機的中斷系統(tǒng) 中斷優(yōu)先級是固定的并且由圖中斷優(yōu)先級是固定的并且由圖 2-32-3中顯示的連接鏈中的中顯示的連接鏈中的 模塊安排來定義。模塊安排來定義。 距離距離 CPU/NMIRS CPU/NMIRS 越近的模塊,越近的模塊, 其其 優(yōu)先級越高。中斷優(yōu)先級確定當多于一個中斷在

3、同時等優(yōu)先級越高。中斷優(yōu)先級確定當多于一個中斷在同時等 待時,采用哪一個中斷。待時,采用哪一個中斷。 中斷有三個類型:中斷有三個類型: 系統(tǒng)復(fù)位系統(tǒng)復(fù)位 不可屏蔽不可屏蔽 NMINMI 可屏蔽可屏蔽( (我們重點學習我們重點學習) ) 2021-8-9 中斷矢量和加電起動地址位于地址范圍中斷矢量和加電起動地址位于地址范圍 0FFFFh 至至 0FFC0h 內(nèi),與表內(nèi),與表 2-1中描述的相同。中描述的相同。 一個矢量由用一個矢量由用 戶使用相應(yīng)中斷處理例程的戶使用相應(yīng)中斷處理例程的 16 位地址進行編輯。位地址進行編輯。 完完 整中斷矢量列表請參與器件專用數(shù)據(jù)表。整中斷矢量列表請參與器件專用數(shù)

4、據(jù)表。 建議為每個分配給一個模塊的中斷矢量提供一個中斷處建議為每個分配給一個模塊的中斷矢量提供一個中斷處 理例程。理例程。 包含 RETI指 令,并且?guī)讉€中斷矢量可指向它。 2021-8-9 以下摘自以下摘自MP430g2553.h u表示unsigned long /* * Interrupt Vectors (offset from 0 xFFE0) */ #define VECTOR_NAME(name) name#_ptr #define EMIT_PRAGMA(x) _Pragma(#x) #define CREATE_VECTOR(name) void (* const VECTO

5、R_NAME(name)(void) = 2021-8-9 PLACE_VECTOR(VECTOR_NAME(func), offset) #define PORT1_VECTOR (2 * 1u) /* 0 xFFE4 Port 1 */ #define PORT2_VECTOR (3 * 1u) /* 0 xFFE6 Port 2 */ #define ADC10_VECTOR (5 * 1u) /* 0 xFFEA ADC10 */ #define USCIAB0TX_VECTOR (6 * 1u) /* 0 xFFEC USCI A0/B0 Transmit */ #define US

6、CIAB0RX_VECTOR (7 * 1u) /* 0 xFFEE USCI A0/B0 Receive */ #define TIMER0_A1_VECTOR (8 * 1u) /* 0 xFFF0 Timer0)A CC1, TA0 */ #define TIMER0_A0_VECTOR (9 * 1u) /* 0 xFFF2 Timer0_A CC0 */ #define WDT_VECTOR (10 * 1u) /* 0 xFFF4 Watchdog Timer */ #define COMPARATORA_VECTOR (11 * 1u) /* 0 xFFF6 Comparator

7、 A */ #define TIMER1_A1_VECTOR (12 * 1u) /* 0 xFFF8 Timer1_A CC1-4, TA1 */ #define TIMER1_A0_VECTOR (13 * 1u) /* 0 xFFFA Timer1_A CC0 */ #define NMI_VECTOR (14 * 1u) /* 0 xFFFC Non-maskable */ #define RESET_VECTOR (15 * 1u) /* 0 xFFFE Reset Highest Priority */ 2021-8-9 2021-8-9 MSP430單片機的IO輸入中斷 一些高級

8、的單片機的全部IO口都帶外部中斷功能,比如 ARM系列。MSP430 單片機只有P1和P2口帶外部中斷功能。 寄存器配置步驟: 1.通過PxDIR將IO方向設(shè)置為輸 入 2.通過PxIES配置中斷邊沿 3.通過PxREN配置上下拉電阻 4.配置PxIE開啟中斷 輸入中斷一般為IO口給出高電平,通過外部動作使電平跳 變?yōu)榈碗娖?,并以此作為中斷?最后還要注意開啟總中斷。 2021-8-9 Vcc IO S 上下拉電阻原理簡化模型 上拉保持高電平穩(wěn)定 下拉保持低電平穩(wěn)定 通過按鍵產(chǎn)生下降沿觸 發(fā)中斷 2021-8-9 中斷服務(wù)子函數(shù) #pragma vector = XXXX_VECTOR/定時器

9、定時器TA中斷服務(wù)函數(shù)中斷服務(wù)函數(shù) _interrupt void XXXXX(void) 這是MSP430單片機的中斷向量的通用格式 P1口的中斷向量口的中斷向量 #pragma vector = PORT1_VECTOR/定時器定時器TA中中 斷服務(wù)函數(shù)斷服務(wù)函數(shù) _interrupt void PORT1_ISR(void) 再說下再說下IO口中斷(以下摘自用戶手冊)口中斷(以下摘自用戶手冊) 2021-8-9 超鏈接至程序代碼 2021-8-9 按鍵抖動的問題 通常的按鍵所用開關(guān)為機械彈性開關(guān),當機械觸點斷開 、閉合時,由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合 時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而 在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這 種現(xiàn)象而作的措施就是按鍵消抖。 解決方法: 1.可以采用柔軟的硅膠按鍵等 有效減少按鍵抖動的產(chǎn)生 2.軟件消抖。人按動機械按鍵 時產(chǎn)生的抖動大約為20毫秒 ,通過延時檢測可有效消除 抖動。 2021-8-9 實驗一:運用按鍵中斷的方法控制小燈的亮滅 導(dǎo)入例程:點擊File-Import-Code Composer Studio-CCS Projects-B

溫馨提示

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

評論

0/150

提交評論