新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430入門教程專題(五)——IO中斷檢測

MSP430入門教程專題(五)——IO中斷檢測

作者: 時間:2016-11-26 來源:網絡 收藏
MSP430入門教程專題(五)——IO中斷檢測

//MSP430F14-IO口中斷演示程序

//以下是結合MC430F14開發(fā)板來實現的按鍵檢處理程序實驗.
//設置P2.0為中斷口,通過對IO的下邊沿觸發(fā),使其中斷,并將板上的D2 LED取反.
//應用目標板: MC430F14x開發(fā)板

#include <msp430x14x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD;// 停止看門狗
P1DIR |= BIT1;// 設P1.1為輸出

P2IE |= BIT0;// P2.0中斷使能
P2IES |= BIT0;// P2.0 IO口邊沿中斷觸發(fā)模式,下邊沿有效
P2IFG &= ~BIT0;// P2.0 清IO中斷標志位

_EINT();//開總中斷允許
LPM4;//進入低功耗模式4,此時單片機功耗最低.
}

//*************************************************************************
// P2口中斷服務程序
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
P1OUT ^= BIT1;// P1.1取反
P2IFG &= ~0x01;// P2.0清除相應中斷標志位
}
//*************************************************************************
//使IO中斷時新手們要了解以下幾點:
//1- MSP430的IO中,只有P1,P2才有IO中斷功能.
//2- P1,P2每組IO是多源中斷源,P1IG0-P1IG7或P2IG0-P2IG7是共一個中斷源的,用戶可以
//通過查房方式來得到是那個IO產生了中斷.
//3- 改變P1IES或P2IES中的位可能會引起相應中斷標志位置位,與引腳電平有關.
//PxIES.xPxIN.xPxIFG.x
//0->10不變
//0->11可能置位
//1->00可能置位
//1->01不變
//所以,改變P1IES或P2IES后,根據需要清除相關的PxIG.x位.
//4- PxIFG.x所有中斷標志位在置位后是需要人為清除的.硬件不會自動清除該標位.

本文引用地址:http://2s4d.com/article/201611/321918.htm


評論


技術專區(qū)

關閉