欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
430F5XXX單片機中斷按鍵不能用的問題
[打印本頁]
作者:
510487675
時間:
2018-8-14 21:23
標題:
430F5XXX單片機中斷按鍵不能用的問題
/*
P1.5 0 K5
P1.7 0 K6
P2.0 0 K1
P2.2 0 K2
P2.3 0 K3
P2.5 0 K4
P4.2 1 LED0 1
P4.3 1 LED2 2
P4.4 1 LED3 3
P4.5 1 LED5 4
P4.6 1 LED6 5
P4.7 1 LED8 6
*/
typedef unsigned char uchar;
typedef unsigned int uint;
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR &= ~(BIT7+BIT5); //P1.7 P1.5設置為輸入
P1IFG &= ~(BIT7+BIT5); //P1.7 P1.5初始化清空中斷標志位
P1IE |= (BIT7+BIT5); //P1.7 P1.5中斷使能
P1IES |= (BIT7+BIT5); //P1.7 P1.5下降沿產生中斷
P1OUT |= (BIT7+BIT5); //P1.7,P1.5設置輸出為高
P1REN |= (BIT7+BIT5); //P1.7,P1.5設置為上拉電阻
P2DIR &= ~(BIT0+BIT2+BIT3+BIT5); //P2.0 P2.2 P2.3 P2.5設置為輸入
P2IFG &= ~(BIT0+BIT2+BIT3+BIT5); //初始化清空中斷標志位
P2IE |= (BIT0+BIT2+BIT3+BIT5); //P2.0 P2.2 P2.3 P2.5中斷使能
P2IES |= (BIT0+BIT2+BIT3+BIT5); //P2.0 P2.2 P2.3 P2.5下降沿產生中斷
P2OUT |= (BIT0+BIT2+BIT3+BIT5); //P2.0 P2.2 P2.3 P2.5設置為上拉電阻:OUT = 1; REN = 1;
P2REN |= (BIT0+BIT2+BIT3+BIT5);
P4DIR|=0xfc; //led輸出
P4OUT =0x00; //初始化輸出值,
__enable_interrupt();
while(1);
}
#pragma vector = PORT1_VECTOR //固定格式,聲明中斷向量地址,不能變
__interrupt void LED(void) //函數名,可以任意定義
{
switch(__even_in_range(P1IV,18))
{
case 0x10:
if ((P1IN & BIT7) == 0) //P1 BIT7 K6 正常
P4OUT ^= BIT7; //P2 BIT7 LED6
break;
case 0x80:
if ((P1IN & BIT5) == 0) //P1 BIT5 K5 不能用
P4OUT ^= BIT6; //P4 BIT6 LED5
break;
default:
//P4OUT |=~(BIT6+BIT7);
break;
}
}
#pragma vector = PORT2_VECTOR //固定格式,聲明中斷
__interrupt void fuck430(void) //函數名,可以任意定義
{
switch(__even_in_range(P2IV,18))
{
case 0x01:
if ((P2IN & BIT0) == 0) //P2 BIT0 K1 不能用
P4OUT ^= BIT2; //P4 BIT2 LED1
break;
case 0x04:
if ((P2IN & BIT2) == 0) //P2 BIT2 K2 不能用
P4OUT ^= BIT3; //P4 BIT3 LED2
break;
case 0x08:
if ((P2IN & BIT3) == 0) //P2 BIT3 K3 有效
P4OUT ^= BIT4; //P4 BIT4 LED3
break;
case 0x20:
if ((P2IN & BIT5) == 0) //P2 BIT5 K4 不能用
P4OUT ^= BIT5; //P4 BIT5 LED4
break;
default:
break;
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1