六、外部中断控制LED灯开关
外部中断控制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灯开关相关推荐
- STM32cubeIDE学习汇总(二)----外部中断控制LED和流水灯
基于上篇我们已经基本了解了软件界面和如何创建一个项目了 接着我们看如何利用外部按键来控制LED灯的亮灭,即外部中断. (本文讲述的是外部中断控制led取反以及如何实现流水灯) (如果想了解外部中断如何 ...
- CC2530基础实验:(2)外部中断控制LED亮灭
目录 前言 一.实验相关电路图 二.实验相关理论与寄存器 1.中断相关的基础概念 2.CC2530 的中断系统 3.CC2530 的中断处理函数编写方法 4.CC2530 的外部中断 三.源码分析 前 ...
- [stm32] Start Tour-利用外部中断控制LED亮灭
如果觉得不错就点个赞吧~ 目录 一 元件相关 二 面包板上的连线 三 具体代码 传感器驱动代码(跟独立按键那个差不多) 中断函数代码(外部中断) main.c 四 最终效果 效果图: 一 元件相 ...
- STM32中断控制LED灯亮灭
目录 一.中断介绍 1.中断分类 硬件中断(Hardware Interrupt) 软件中断(Software Interrupt) 2.中断优先级 3.中断源种类 4.中断响应原则 二.新建项目 1 ...
- 用51单片机中断控制LED灯亮灭
用51单片机中断控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k3=P3^2;//位定义按键 void dela ...
- 定时器中断控制LED闪烁(每隔1s)---普中科技开发仪
定时器中断o,利用中断控制LED闪烁每隔1s闪烁一次(精确的1s) notes: (1)工作方式寄存器TMOD ,低四位用于To,高四位用于T1,(GATE,C/T- ,M1,M0) 一般让GATE ...
- STM32之中断控制LED灯
STM32中断控制LED灯 一.中断 1. 中断地址 2. 中断优先级 3. 中断响应过程 二.新建工程 三.编写代码 四.运行结果 五.总结 参考 一.中断 在处理器中,中断是一个过程,即CPU在正 ...
- 利用 Andorid 手机连接 Arduino 并控制 LED灯开关
利用 Andorid 手机连接 Arduino 并控制 LED灯开关 ***首先,将 Arduino 断电***,然后按着蓝牙模块上的黑色按钮,再让 Arduino 通电,如果蓝牙模块指示灯按2秒的频 ...
- 使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关
上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断 ...
- 【物联网(IoT)开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关
上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断 ...
最新文章
- numpy.sum详解
- java听课笔记(十五)之 网络编程
- Can you answer these queries V SPOJ - GSS5 (分类讨论+线段树维护区间最大子段和)
- HTML 链接 强制打开“另存为...”弹出式文本链接打开HTML
- 程序猿|上班累了么?点进来,开心一夏!
- Java计算两日期相差天数源码
- 1.5万人!京东面向2021届高校毕业生开启最大规模校招
- 直连AIX服务器,对接AIX链路问题
- Python的张量运算
- 敏捷工具:用户故事地图梳理需求全景
- casue usb kb 找不到驱动程序_手把手教你安装喷墨打印机驱动程序
- CMYK与有什么RGB区别?
- dbf文件怎么还原到oracle中,oracle dbf文件恢复数据
- 社交媒体与社会网络分析,深度分析社交网络问题
- 做了7年新媒体人,现在才懂的精细化运营增粉变现秘诀!黎想
- 股市里赚钱最快的是什么股?有些股票的机会来了!
- c++实现atoi()和itoa()函数(字符串和整数转化)
- ProgressDialog在线程里下载图片
- 我的择偶标准(丫咧,看清楚了啊)
- Mathtype7安装包
热门文章
- windows+cmd关闭伽卡他卡学生端
- Java EE|File类的常用方法和InputStream, OutputStream 的用法
- 腾讯计算机安全实验室,TRP-AI反病毒引擎创新:腾讯安全最新成果入围顶级学术会议...
- 【折半查找二叉判定树】
- import.os 文件操作
- 滑雪计时系统|滑雪计时计分|2019国际冬季运动(北京)博览会
- 手写数字数据集MNIST
- nvme1.3 Feature - Telemetry
- ps在当前的图片添加一张图片进来
- 一个上海同济大学教师的工资单(zt tianya)