⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p0中断.c

📁 应用于利而达MSP430-TEST42X板的液晶屏测试代码
💻 C
字号:
//=========================================//
//BEIJING LSD MCU TECH CO.,LTD
//P1.0口做外部中断的设置,做成多任务以便扩展
//                MSP430FXXX
//             -----------------
//         /|\|              XIN|- /|\
//          | |                 |   |
//          --|RST          XOUT|-  |
//            |                 |  1MΩ
//            |             P1.0|<--|
//                                 0.1uF
//                                  |
//                                 \|/
#include <msp430x41x.h>
unsigned char ISR_Symbol=0;                //任务标志
void Iint_Port1(void);                     //函数声明
void main(void)
{  WDTCTL=WDTPW+WDTHOLD;                   //关闭看门狗
   Iint_Port1();                           //初始化p1.0
   _EINT();                                //开总中断允许
   while(1)
   {
    LPM3;                                 //进入低功耗模式3,I/O口中断可将其唤醒
    if((ISR_Symbol&BIT0)==BIT0)      {ISR_Symbol&=~BIT0;}    //中断服务程序
    else if((ISR_Symbol&BIT1)==BIT1) {ISR_Symbol&=~BIT1;}    //其他任务
   }
}
interrupt[PORT1_VECTOR] void P1_ISR(void)
{   P1IFG=0;                              //多源中断,需靠软件清除P1IFG
    ISR_Symbol|=BIT0;                     //置任务标志
    _BIC_SR_IRQ(LPM3_bits);                    //将CPU从睡眠模式唤醒
}
void Iint_Port1(void)
{   P1DIR&=~BIT0;                         //设置为输入方向
    P1SEL&=~BIT0;                         //设置为普通I/O口功能
    P1IES|=BIT0;                          //选择下降沿触发
    P1IE|=BIT0;                           //打开中断允许
    P1IFG=0;                              //P1IES的切换可能使P1IFG置位,需清除
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -