CC2530的中断操作----按键控制led灯亮灭
中断使能主要有四个步骤:
(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灯亮灭相关推荐
- 用51单片机实现按键控制LED灯亮灭
用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...
- STM32按键控制LED灯亮灭(四)
编程要点: 1)使能GPIO端口时钟: 2)初始化GPIO目标引脚为输入模式(浮空输入): 3)编写简单测试程序,检测按键的状态,实现按键控制LED灯: bsp_led.h文件 #ifndef T_L ...
- 【tiny4412】按键控制led灯亮灭
前言:使用友善之臂tiny4412进行嵌入式学习,对于初学者而言并不是一件轻松事情,即使该平台已经存在很多年,网上也有很多分享,但由于官方文档相对还是不够全面,导致很多初学者遇到问题不知如何下手,如果 ...
- ZYNQ学习笔记(五)---按键控制LED灯亮灭实验
这个实验其实很早就做了,但是由于这段时间自己一直在忙一些其他的事所以没有及时更新.今天抽出个空来更新一下.本次实验是关于按键控制LED亮灭.其中涉及到的内容有计数器.按键消抖以及一些简单的逻辑. 1. ...
- 按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题
本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑 4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭.因为我们很多都是按完按键,松开手LED才亮. ...
- 中断函数实现按键控制LED灯亮灭
#include <REGX51.H> int0()interrupt 0//中断函数 {P0=~P0;//led取反 } main() {//一共有5个中断IT0=1;EX0=1;EA= ...
- 按键控制led灯亮灭c语言实验报告,通过按键控制LED灯的实验
通过查看开发板的核心电路原理图,加上查阅SUMSANG 2440的datasheed得知四个按键K1,K2,K3,K4对应GPF中的GPF1,GPF4,GPF2,GPF0.将这四个引脚配置为输入模式, ...
- 3.按键控制LED灯亮灭
实验现象:本实验通过一个按键来控制一个发光二极管的亮灭.按键按一下LED点亮.再按一下LED熄灭. 理论学习: 该实验主要难点: 如何扫描按键的状态? 如何防抖动? 原理讲解: 按键检测原理:通过把 ...
- 五项按键控制LED灯亮灭
实验需要:CubeMXkeil5STM32F051K8开发板 一.查看实物 1.点灯的引脚配置与文章[使用 CubeMX+Keil5+STM32F051K8 开发实现点亮一盏LED实验] (https ...
最新文章
- 2021年大数据ELK(二十一):Logstash简介和安装
- Tomcat 跨域问题的解决
- python 报错 Missing dependencies for SOCKS support 解决方法
- 最直接的解决服务器宕机的方法
- 【VS2005】error LNK2001: unresolved external symbol _main 正确解决办法
- firefox+android+平板,Firefox模拟手机浏览器(iOS+Android) – UserAgent Switcher使用方法...
- ASP.NET Aries JSAPI 文档说明:AR.DataGrid、AR.Dictionary
- Invalid signature file digest for Manifest main attributes
- Intel 64 and IA-32 Architectures Instruction Format 指令格式
- Leetcode 124.二叉树中的最大路径和
- idea项目工程里面自动生成的.iml文件无法删除的解决方法
- android studio: 让项目通过阿里云 maven jcenter 下载依赖资源
- 【VMware vSAN 7.0】5.4.2 创建 vSAN 集群—我们有软硬件解决方案
- ATAT-mcsqs- 运行后出现报错:段错误(吐核/core dumped)
- C语言——简单三子棋
- socket编程之addrinfo结构体和getaddrinfo()
- 基于ELMO Composer的MAXON RE40电机增益调节
- openfoam一些报错的原因(持续更新)
- 腾讯云手游安全MTP怎么样?腾讯云手游安全MTP值得入手吗?
- java Date.getDay()
热门文章
- 【实战技能】不做绑架公司的技术团队成员
- STM32遥控小车下位机及硬件连接部分(Keil MDK5平台的C++编程)
- 七夕界的浪漫之光,向你安利程序员的表白方式
- 【iOS开发-39】为什么按钮点击时背景图片颜色灰蒙蒙的?与按钮的Type属性有关
- MySQL系列:ES数据同步
- linux终端删除文件命令_如何在Linux终端中删除文件和目录
- Graph Representation Learning via Graphical Mutual Information Maximization
- 用LoopBack接口配置EBGP邻居
- 自然生长不含咖啡碱的茶树新品种--T三有机可可茶
- 筛法打印质数表【附:100000以内质数表】