在本次学习中,主要通过外部中断来控制LED的亮灭。
首先,先查看相关电路图。由图可知,当CC2530端口1的1号引脚输出低电平时,LED3将被点亮,当按键31按下时,端口1的1号引脚将为低电平,抬起时为高电平。

1、 端口1功能选择寄存器(P1SEL)。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0

2、打开总中断EA,EA是非常重要的中断位,位于IEN0.EA,将其设置为1,否则,没有中断使能

3、设置触发方式,把P1这一组配置成下降沿触发,这里配置为  P1IEN |=0X02

4、使能寄存器相应的中断使能位,p1对应的中断使能位位于LEN2寄存器

5、中断处理函数,使用按键挂载在P1端口,所以我们得使用中断1的中断服务函数。

#pragma vector=P1INT_VECTOR
__interrupt void fsdfas()

通过中断标志位去判断按键是否按下,由于按键为机械按键,需要消抖,需要用到延时函数,延时的时间按实际需求设置,通过按键按下,中断标志位(P1IFG)对应的位置1,通过判断中断标志位是否为1去控制LED灯的状态。

中断标志位和中断标志(P1IF)在使用完需要清除标志位,否则一直执行中断服务函数

#include<iocc2530.h>
void delay()
{int i,j;for(i=0;i<1000;i++)for(j=0;j<30;j++);
}void LED_Init()
{P0SEL &=~0X10;P0DIR |=0X10;//配置P1_0位输出
}void NVIC_Init()
{EA=1;//打开总=中断PICTL |=0x02;//把P0这一组配置成下降沿触发///IEN2 |=0x10;//设置寄存器相应的位使能P1IEN |=0X02;//设置引脚的中断使能
}
void main()
{ LED_Init();NVIC_Init();while(1);
}#pragma vector=P1INT_VECTOR
__interrupt void fsdfas()
{if(P1IFG & 0X02){delay();if(0==P1_1){P0_4 ^=1;//异或操作}}P1IFG=0; IEN2|=0;
}

cc2530 按键中断实验——按键控制LED灯的亮灭相关推荐

  1. 红外控制LED灯的亮灭———Arduino

    Arduino的中文社区:https://www.arduino.cn/ \黑脸,今天烧坏一个二极管. 原因:正负极没反,没接电阻. 把自己头打烂了- 1. 所需硬件 开发板,led灯(多个),遥控器 ...

  2. 单片机基础:开关控制LED灯的亮灭

    (一) 单片机的初级运用.通过两个开关来控制LED灯的亮灭.首先要使用Proteus来绘制电路原理图.图中的LED灯为共阴接法.如图: (二)当单片机P3口做输入时,首要让其端口输出1.如图中的P3^ ...

  3. Java 通过GPIO控制LED灯的亮灭(一)

    Java 通过GPIO控制LED灯的亮灭(Firefly-RK3399)(一) Note: 为Android 开发,开发工具AndroidStudio 什么是 GPIO ,(General-purpo ...

  4. 嵌入式STM32—第三天按键中断key实现控制led灯

    1.软件及工程环境搭建 就不介绍了,可以直接用现成的 链接:https://pan.baidu.com/s/1GaSYpNm6yh-lZZmqRdXxvQ 提取码:dy63 相关库文件 链接:http ...

  5. 串口接收字符/字符串/定向printf串口发送/用串口控制led灯的亮灭

    ##usart.h//串口头文件 #include "stm32f10x.h" #include <stdio.h> void usart_init(); void U ...

  6. 嵌入式开发控制LED灯的亮灭

    目录 一.创建项目 背景: 1.选好自己需要的开发板(这里使用的STM32F103C8T6的开发板) 2.引脚配置 3.EXIT配置 4.配置SYS 5.配置GPIO 6.项目配置 二.Keil配置 ...

  7. 按钮控制LED灯的亮灭

    实验通过主板自带的小灯泡和按钮实现通过按钮来控制小灯泡的亮灭. 对按钮的输入次数进行判断从而进行控制灯的亮灭. volatile int b1; volatile int b2; volatile i ...

  8. 【补作业】msp430单片机(一)控制LED灯的亮灭

    硬件描述 两个LED灯: P1.0接LED1(红),P4.7接LED2(绿). IO口输出高电平时,LED亮 IO口输出低电平时,LED灭 点亮红灯 (ccs中的c语言代码,用430进行调试) P1口 ...

  9. 【Arduino基础】倾斜开关控制led灯的亮灭

    实验现象 手拿着面包板,当倾斜到一定程度时,LED被点亮:没有倾斜时,led不亮. 理论学习 当开关一端低于水平位置倾斜,开关导通,模拟口电压值为5V左右 (数字二进制表示为1023),点亮led灯. ...

最新文章

  1. 基于点云的3D深度学习主干网络进展综述
  2. 三层架构—实践篇(.Net登录实例)
  3. java 文件下载详解_Java 从网上下载文件的几种方式实例代码详解
  4. 十分钟看懂什么是VoLTE【包学包会,否则退款】
  5. 【干货】300余份数字化资料包免费下载(报告、白皮书、方案、政策等)
  6. 高校学生管理系统(课设毕设有源码)
  7. 加油站管理系统前五排行榜
  8. JSON和API接口初识
  9. ]物体受力分析的方法
  10. 2021-05-20
  11. 水体浮游植物叶绿素a含量的测定
  12. 【MySQL】数据库基础_frank_fuckppt
  13. 阿里云部署视频点播:学习文档使用Java程序部署视频点播基础用法之入门
  14. 单像后方交会、pnp问题迭代计算的数学原理
  15. 锚点链接点击锚点后不改变url的方法
  16. 嵌入式软件工程师岗位,要具备哪些能力??
  17. 《Photoshop修色圣典——PPW专业照片修正流程与技巧》—第1章PPW流程
  18. 144Hz风冷旗舰:红魔5G游戏手机“比快更快”
  19. 遮挡人脸识别:基于Python3.8+Tensorflow2.2人脸遮挡情况的人脸识别
  20. vue+zrender实现医院体温单

热门文章

  1. win 10 显示未识别网络的 一种解决办法
  2. android动态开场,Android 开场动画
  3. 七夕界的浪漫之光,向你安利程序员的表白方式
  4. Pandas之skew,求偏度
  5. python精通能赚钱吗_月入3千到月入10万,精通数据分析的人到底有多赚?
  6. 40万奖金 | 阿里云天池第三届数据库性能大赛,广邀英才挑战创新上云
  7. 【已解】英雄联盟lol撸啊撸“寻找对局”按钮无法点击,开不了赛解决方法
  8. word2013设置封面,摘要,正文不同的页码格式
  9. Dango 之认证组件Auth模块
  10. 你的灯还亮着吗?--走出问题的乌托邦