#include <msp430.h>
void delay_ms(int Time);
/**
* main.c
*/
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
P1SEL &= ~(BIT2 | BIT3 | BIT5 | BIT6); //~0x4C // P1.2/P1.3/P1.5/P1.6 as GPIO
P1SEL2 &= ~(BIT2 | BIT3 | BIT5 | BIT6); //~0x4C // P1.2/P1.3/P1.5/P1.6 as GPIO
P1DIR &= ~(BIT2 | BIT3); //P1.2/P1.3 as INPUT
P1DIR |= (BIT5 | BIT6); //P1.5/P1.6 as OUTPUT
P1REN |= (BIT2 | BIT3); //P1.2/P1.3上下拉使能
P1OUT |= (BIT2 | BIT3); //P1.2/P1.3上拉
P1OUT &= ~(BIT5 | BIT6); //P1.5/P1.6对应的LED熄灭
P1IE |= (BIT2 | BIT3); //P1.2/P1.3中断使能
P1IES |= (BIT2 | BIT3); //P1.2/P1.3下降沿有效
P1IFG &= ~(BIT2 | BIT3); //清除P1.2/P1.3中断标志位
_enable_interrupts(); //开全局中断
while(1)
;
// return 0;
}
#pragma vector = PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
if(P1IFG & BIT2) //判断中断源为P1.2
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载