中断使能主要有四个步骤:

(1)使.EA 位为 1,开中断。
(2)设置寄存器 IEN0、IEN1和IEN2中相应中断使能位为1。
(3)如果需要,则设置P0、P1、P2各引脚对应的各中断使能位为1。(4)最后在寄存器 PICTL中设置中断是上升沿还是下降沿触发。

首先对需要控制的led灯进行初始化

P0SEL&=~0x02;//对P0_1进行功能选择
P0DIR|=0x02;//配置led2输出

然后对需要按键配置的按键进行中断初始化

  EA=1;//总中断开启IEN2|=0x10;//对应引脚中断使能,P0脚用IEN1,P1脚用IEN2P1IEN|=0x02;//配置P1_1为中断PICTL|=0x02;//下降沿触发

然后完整带码如下:

#include "iocc2530.h"
void delay()
{int i,j;for(i=0;i<1000;i++){for(j=0;j<30;j++); }
}
void Init()
{P0SEL&=~0x02;P0DIR|=0x02;//配置led2输出EA=1;//总中断开启IEN2|=0x10;//对应引脚中断使能,P0脚用IEN1,P1脚用IEN2P1IEN|=0x02;//配置P1_1为中断PICTL|=0x02;//下降沿触发
}
#pragma vector=P1INT_VECTOR
__interrupt void fun(void)
{if(P1IFG&0x02){delay();if(P1_1==0){P0_1=~P0_1;}}P1IFG=0;IEN2|=0x00;
}
void main()
{Init();while(1){}}

部分原理图如下:

CC2530的中断操作----按键控制led灯亮灭相关推荐

  1. 用51单片机实现按键控制LED灯亮灭

    用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...

  2. STM32按键控制LED灯亮灭(四)

    编程要点: 1)使能GPIO端口时钟: 2)初始化GPIO目标引脚为输入模式(浮空输入): 3)编写简单测试程序,检测按键的状态,实现按键控制LED灯: bsp_led.h文件 #ifndef T_L ...

  3. 【tiny4412】按键控制led灯亮灭

    前言:使用友善之臂tiny4412进行嵌入式学习,对于初学者而言并不是一件轻松事情,即使该平台已经存在很多年,网上也有很多分享,但由于官方文档相对还是不够全面,导致很多初学者遇到问题不知如何下手,如果 ...

  4. ZYNQ学习笔记(五)---按键控制LED灯亮灭实验

    这个实验其实很早就做了,但是由于这段时间自己一直在忙一些其他的事所以没有及时更新.今天抽出个空来更新一下.本次实验是关于按键控制LED亮灭.其中涉及到的内容有计数器.按键消抖以及一些简单的逻辑. 1. ...

  5. 按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题

    本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑 4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭.因为我们很多都是按完按键,松开手LED才亮. ...

  6. 中断函数实现按键控制LED灯亮灭

    #include <REGX51.H> int0()interrupt 0//中断函数 {P0=~P0;//led取反 } main() {//一共有5个中断IT0=1;EX0=1;EA= ...

  7. 按键控制led灯亮灭c语言实验报告,通过按键控制LED灯的实验

    通过查看开发板的核心电路原理图,加上查阅SUMSANG 2440的datasheed得知四个按键K1,K2,K3,K4对应GPF中的GPF1,GPF4,GPF2,GPF0.将这四个引脚配置为输入模式, ...

  8. 3.按键控制LED灯亮灭

    实验现象:本实验通过一个按键来控制一个发光二极管的亮灭.按键按一下LED点亮.再按一下LED熄灭. 理论学习: 该实验主要难点: 如何扫描按键的状态? 如何防抖动?  原理讲解: 按键检测原理:通过把 ...

  9. 五项按键控制LED灯亮灭

    实验需要:CubeMXkeil5STM32F051K8开发板 一.查看实物 1.点灯的引脚配置与文章[使用 CubeMX+Keil5+STM32F051K8 开发实现点亮一盏LED实验] (https ...

最新文章

  1. 2021年大数据ELK(二十一):Logstash简介和安装
  2. Tomcat 跨域问题的解决
  3. python 报错 Missing dependencies for SOCKS support 解决方法
  4. 最直接的解决服务器宕机的方法
  5. 【VS2005】error LNK2001: unresolved external symbol _main 正确解决办法
  6. firefox+android+平板,Firefox模拟手机浏览器(iOS+Android) – UserAgent Switcher使用方法...
  7. ASP.NET Aries JSAPI 文档说明:AR.DataGrid、AR.Dictionary
  8. Invalid signature file digest for Manifest main attributes
  9. Intel 64 and IA-32 Architectures Instruction Format 指令格式
  10. Leetcode 124.二叉树中的最大路径和
  11. idea项目工程里面自动生成的.iml文件无法删除的解决方法
  12. android studio: 让项目通过阿里云 maven jcenter 下载依赖资源
  13. 【VMware vSAN 7.0】5.4.2 创建 vSAN 集群—我们有软硬件解决方案
  14. ATAT-mcsqs- 运行后出现报错:段错误(吐核/core dumped)
  15. C语言——简单三子棋
  16. socket编程之addrinfo结构体和getaddrinfo()
  17. 基于ELMO Composer的MAXON RE40电机增益调节
  18. openfoam一些报错的原因(持续更新)
  19. 腾讯云手游安全MTP怎么样?腾讯云手游安全MTP值得入手吗?
  20. java Date.getDay()

热门文章

  1. 【实战技能】不做绑架公司的技术团队成员
  2. STM32遥控小车下位机及硬件连接部分(Keil MDK5平台的C++编程)
  3. 七夕界的浪漫之光,向你安利程序员的表白方式
  4. 【iOS开发-39】为什么按钮点击时背景图片颜色灰蒙蒙的?与按钮的Type属性有关
  5. MySQL系列:ES数据同步
  6. linux终端删除文件命令_如何在Linux终端中删除文件和目录
  7. Graph Representation Learning via Graphical Mutual Information Maximization
  8. 用LoopBack接口配置EBGP邻居
  9. 自然生长不含咖啡碱的茶树新品种--T三有机可可茶
  10. 筛法打印质数表【附:100000以内质数表】