外部中断控制LED灯开关

【1】启动后,D4灯循环闪烁,其他三个LED灯熄灭。(其实就是在模拟主程序的执行过程)
【2】SW1按键,即P1_2引脚外部中断设置为下降沿触发。
【3】设计中断服务函数,外部中断响应后,将D5灯的开关状态翻转。

#include"ioCC2530.h" //引入头文件之后才能使用其中定义的一些寄存器的名称
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
#define SW1 P1_2
void delay(unsigned int t)
{while(t--);
}
void Init_Port() //端口初始化函数。
{                //配置LED引脚P1SEL&=~0X1B;//0001 1011。将其设为通用I/O端口P1DIR|=0X1B; //0001 1011。设置端口的方向为输出P1&=~0X1B;   //先关闭全部LED灯,后面需要用到哪个灯到时候打开就行了。
}
//----------------------------------------本次重点
void Init_INTP1()//外部中断引脚初始化
{P1IFG=0X00;P1IF=0X00;//开始中断前先将与P1有关的所有的中断标志位清零EA=1;      //打开使能总中断 IEN2|=0X10;//0001 0000  在INE2寄存器中,开启P1端口组的中断P1IEN |=0X04;//0000 0100 开启P1具体引脚(按键SW1的引脚P1_2)的中断PICTL |=0X02;//选择外部中断的触发类型为下降沿触发
}
#pragma vector =P1INT_VECTOR   //每一个中断函数之前都要加上的起始语句。中断向量名称(点开ioCC2530.h文件可查)
__interrupt void service_INTP1(void)
{//P1端口组中的任何引脚产生中断都会引起中断服务函数的执行,需要判断到底是哪个引脚引脚的if(P1IFG&0X04==0X04)//XXXX X1XX&0000 0100 只有第二位为1的情况下才能使得结果为0X04{                   //用来判断是否是P1_2引起的外部中断D5=~D5;}P1IFG=0;P1IF=0; //在中断服务函数中将所有P1的标志位清零
}
//--------------------------------------到此为止
void main ()
{Init_Port();Init_INTP1();while(1){D4=1;delay(60000);D4=0;   delay(60000);}
}

六、外部中断控制LED灯开关相关推荐

  1. STM32cubeIDE学习汇总(二)----外部中断控制LED和流水灯

    基于上篇我们已经基本了解了软件界面和如何创建一个项目了 接着我们看如何利用外部按键来控制LED灯的亮灭,即外部中断. (本文讲述的是外部中断控制led取反以及如何实现流水灯) (如果想了解外部中断如何 ...

  2. CC2530基础实验:(2)外部中断控制LED亮灭

    目录 前言 一.实验相关电路图 二.实验相关理论与寄存器 1.中断相关的基础概念 2.CC2530 的中断系统 3.CC2530 的中断处理函数编写方法 4.CC2530 的外部中断 三.源码分析 前 ...

  3. [stm32] Start Tour-利用外部中断控制LED亮灭

    如果觉得不错就点个赞吧~ 目录 一  元件相关 二 面包板上的连线 三 具体代码 传感器驱动代码(跟独立按键那个差不多) 中断函数代码(外部中断) main.c 四  最终效果 效果图: 一  元件相 ...

  4. STM32中断控制LED灯亮灭

    目录 一.中断介绍 1.中断分类 硬件中断(Hardware Interrupt) 软件中断(Software Interrupt) 2.中断优先级 3.中断源种类 4.中断响应原则 二.新建项目 1 ...

  5. 用51单片机中断控制LED灯亮灭

    用51单片机中断控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k3=P3^2;//位定义按键 void dela ...

  6. 定时器中断控制LED闪烁(每隔1s)---普中科技开发仪

    定时器中断o,利用中断控制LED闪烁每隔1s闪烁一次(精确的1s) notes: (1)工作方式寄存器TMOD ,低四位用于To,高四位用于T1,(GATE,C/T- ,M1,M0) 一般让GATE ...

  7. STM32之中断控制LED灯

    STM32中断控制LED灯 一.中断 1. 中断地址 2. 中断优先级 3. 中断响应过程 二.新建工程 三.编写代码 四.运行结果 五.总结 参考 一.中断 在处理器中,中断是一个过程,即CPU在正 ...

  8. 利用 Andorid 手机连接 Arduino 并控制 LED灯开关

    利用 Andorid 手机连接 Arduino 并控制 LED灯开关 ***首先,将 Arduino 断电***,然后按着蓝牙模块上的黑色按钮,再让 Arduino 通电,如果蓝牙模块指示灯按2秒的频 ...

  9. 使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关

    上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断 ...

  10. 【物联网(IoT)开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关

    上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断 ...

最新文章

  1. numpy.sum详解
  2. java听课笔记(十五)之 网络编程
  3. Can you answer these queries V SPOJ - GSS5 (分类讨论+线段树维护区间最大子段和)
  4. HTML 链接 强制打开“另存为...”弹出式文本链接打开HTML
  5. 程序猿|上班累了么?点进来,开心一夏!
  6. Java计算两日期相差天数源码
  7. 1.5万人!京东面向2021届高校毕业生开启最大规模校招
  8. 直连AIX服务器,对接AIX链路问题
  9. Python的张量运算
  10. 敏捷工具:用户故事地图梳理需求全景
  11. casue usb kb 找不到驱动程序_手把手教你安装喷墨打印机驱动程序
  12. CMYK与有什么RGB区别?
  13. dbf文件怎么还原到oracle中,oracle dbf文件恢复数据
  14. 社交媒体与社会网络分析,深度分析社交网络问题
  15. 做了7年新媒体人,现在才懂的精细化运营增粉变现秘诀!黎想
  16. 股市里赚钱最快的是什么股?有些股票的机会来了!
  17. c++实现atoi()和itoa()函数(字符串和整数转化)
  18. ProgressDialog在线程里下载图片
  19. 我的择偶标准(丫咧,看清楚了啊)
  20. Mathtype7安装包

热门文章

  1. windows+cmd关闭伽卡他卡学生端
  2. Java EE|File类的常用方法和InputStream, OutputStream 的用法
  3. 腾讯计算机安全实验室,TRP-AI反病毒引擎创新:腾讯安全最新成果入围顶级学术会议...
  4. 【折半查找二叉判定树】
  5. import.os 文件操作
  6. 滑雪计时系统|滑雪计时计分|2019国际冬季运动(北京)博览会
  7. 手写数字数据集MNIST
  8. nvme1.3 Feature - Telemetry
  9. ps在当前的图片添加一张图片进来
  10. 一个上海同济大学教师的工资单(zt tianya)