小蜜蜂笔记
嵌入式开发与物联网应用教育践行者

【CC2530应用开发09】外部中断控制灯光开关

教学内容与重难点

【内容01】外部中断初始化函数的设计。
【内容02】外部中断服务函数的逻辑处理。
【内容03】完成实训项目:外部中断控制灯光开关。
——–学生实践实操,老师讲解演示。
【内容04】专创融合专题。

【重点】实训项目:外部中断控制灯光开关。
【难点】外部中断服务函数的逻辑处理。

教学单元核心内容与学习资源

实训案例:外部中断控制灯光开关

新建工程,编写代码,在XMF09B/XMF09C开发套件上,完成以下任务:
1-设计端口初始化函数,配置4个LED灯。
2-初始化SW2按键,即P0_1引脚为外部中断,下降沿触发。
3-设计中断服务函数,外部中断响应后,将D5灯的开关状态翻转。
4-在主函数中,D4灯循环闪烁,其他三个LED灯熄灭。

/*=======================外部中断初始化函数====================*/
void Init_INTP0()
{
  //1-使能P0端口组的外部中断
  P0IE = 1;
  //2-使能P0_1引脚的外部中断
  P0IEN |= 0x02;
  //3-设置外部中断信号为下降沿触发
  PICTL |= 0x01;
  //4-打开总中断
  EA = 1;
}
/*=======================外部中断服务函数======================*/
#pragma vector = P0INT_VECTOR
__interrupt void Service_INTP0()
{
  //判断P0端口组中断触发信号的具体引脚
  if((P0IFG & 0x02) == 0x02)
  {
    D5 = ~D5;               //切换D5灯的开关状态
  }
  
  P0IFG = 0;                //先清除引脚的中断标志
  P0IF = 0;                 //再清除端口组的中断标志
}

【视频教程】: 外部中断控制灯光开关

赞(7)
未经允许不得转载:小蜜蜂笔记 » 【CC2530应用开发09】外部中断控制灯光开关

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

小蜜蜂笔记 更专业 更方便 更高效

联系我们精品小店