新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430程序---P1.0口外部中斷

MSP430程序---P1.0口外部中斷

作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
在中斷中加入相應(yīng)的代碼,可以完成計(jì)數(shù)

//P1.0口外部中斷的設(shè)置,做成多任務(wù)以便擴(kuò)展

本文引用地址:http://m.butianyuan.cn/article/201611/316465.htm

#include <msp430x41x.h>

unsigned char ISR_Symbol=0;//任務(wù)標(biāo)志

void Iint_Port1(void)

{

P1DIR&=~BIT0;//設(shè)置為輸入方向

P1SEL&=~BIT0;//設(shè)置為普通I/O口功能

P1IES|=BIT0;//選擇下降沿觸發(fā)

P1IE|=BIT0; //打開中斷允許

P1IFG=0; //P1IES的切換可能使P1IFG置位,需清除

}

void main(void)

{

WDTCTL=WDTPW+WDTHOLD; //關(guān)閉看門狗

Iint_Port1(); //初始化p1.0

_EINT(); //開總中斷允許

while(1)

{

LPM3; //低功耗模式3,I/O口中斷可將其喚醒

if((ISR_Symbol&BIT0)==BIT0)

{

ISR_Symbol&=~BIT0;//中斷服務(wù)程序

}

else if((ISR_Symbol&BIT1)==BIT1)

{

ISR_Symbol&=~BIT1;//其他任務(wù)

}

}

}

interrupt[PORT1_VECTOR] void P1_ISR(void)

{

P1IFG=0;//多源中斷,需靠軟件清除P1IFG

ISR_Symbol|=BIT0; //置任務(wù)標(biāo)志

_BIC_SR_IRQ(LPM3_bits);//將CPU從睡眠模式喚醒

}



關(guān)鍵詞: MSP430P1.0口外部中

評論


技術(shù)專區(qū)

關(guān)閉