中断方式控制LED灯

简介: 中断方式控制LED灯宏定义初始化中断函数主函数


宏定义



#include "ioCC2530.h"  // 引用头文件,包含对CC2530的寄存器、中断向量等的定义
/********************************************************************/
#define LED1 P1_0     // P1_0定义为P1.0
#define SW1  P1_2     // P1_2定义为SW1


初始化



/*********************************************************************
 * 函数名称:init
 * 功    能:初始化系统IO,使得P1_2引脚能接受并处理中断
 * 入口参数:无
 * 出口参数:无
 * 返 回 值:无
 ********************************************************************/
void init()
{    //P1SEL &=~0x3D;     // 设置LED1、SW1为普通IO口
     P1DIR |= 0x39 ;    // 设置LED1为输出
     P1DIR &= ~0x04;  //Sw1按键在 P1.2,设定为输入
     P1 &= ~0x39 ;        
     PICTL &= ~0x02;  //配置P1口的中断边沿为上升沿产生中断
     P1IEN |= 0x04;  //使能P1.2中断
     IEN2 |= 0x10;  //使能P1口中断    
     EA = 1;   //使能全局中断
}


中断函数



/*********************************************************************
 * 函数名称:EINT_ISR
 * 功    能:外部中断服务函数
 * 入口参数:无
 * 出口参数:无
 * 返 回 值:无
 ********************************************************************/
#pragma vector=P1INT_VECTOR
__interrupt void P1_INT(void)
{
    EA = 0;           // 关闭全局中断
   /* 若是P1.2产生的中断 */
    if(P1IFG & 0x04)
    { 
      LED1=!LED1;
      P1IFG &= ~0x04;   // 清除P1.2中断标志      
    }
    EA = 1;          // 使能全局中断 
}


主函数



/*********************************************************************
 * 函数名称:main
 * 功    能:main函数入口
 * 入口参数:无
 * 出口参数:无
 * 返 回 值:无
 ********************************************************************/
void main(void)
{  
   init();   //调用初始化函数
   while(1) 
   {
   }
}


相关文章
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
447 2
|
3月前
|
机器人 异构计算 SoC
实例2:树莓派GPIO控制外部LED灯闪烁
本文是一个关于使用树莓派GPIO控制外部LED灯闪烁的实验教程,介绍了树莓派的基本概念、GPIO接口的使用、RPi.GPIO库的基本操作,以及通过Python编程实现LED灯周期性闪烁的详细步骤和代码示例。
96 1
实例2:树莓派GPIO控制外部LED灯闪烁
|
3月前
|
机器人 Linux 异构计算
实例1:控制树莓派板载LED灯闪烁
本文是一个关于如何使用Python编程控制树莓派板载LED灯闪烁的实验教程,涵盖了树莓派的基本概念、LED控制文件的读写操作、Python `open()` 和 `sleep()` 函数的使用方法,以及具体的实验步骤和代码实现,目的是让读者通过实践熟悉树莓派操作和Linux文件读写。
81 1
实例1:控制树莓派板载LED灯闪烁
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
|
6月前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
|
C语言
单片机控制LED灯
单片机控制LED灯
273 0
51单片机--利用独立按键控制LED
51单片机--利用独立按键控制LED
293 0
单片机开关控制LED的点亮及闪烁
单片机开关控制LED的点亮及闪烁
345 0
单片机——按钮控制LED的不同效果电亮
单片机——按钮控制LED的不同效果电亮
183 0