CC2530之按键与LED

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

接下来,先查看与LED(P1_0)配置相关的寄存器。
1. 端口1功能选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。

2. 端口1方向选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。

3. 端口1输入模式寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为上拉/下拉模式,若设置为1,则将相关引脚设为三态模式,其中P1_0和P1_1没有上拉/下拉功能,可以不用配置,默认值都为0。

再来看看与按键S1(P0_1)配置相关的寄存器
1. 端口1功能选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。

2. 端口1方向选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。

3. 端口1输入模式寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为上拉/下拉模式,若设置为1,则将相关引脚设为三态模式,其中P1_0和P1_1没有上拉/下拉功能,可以不用配置,默认值都为0。

/*
本实验效果,每按一次按键,LED效果翻转一次
*/
#include <ioCC2530.h>typedef unsigned char uchar;
typedef unsigned int uint;#define LED1 P1_0
#define KEY1 P0_1void delay_ms(uint ms)
{uint i,j;for(i=0;i<ms;i++)for(j=0;j<555;j++);
}void LEDInit(void)
{P1SEL &= ~0x01;  //设置P1_0为普通IOP1DIR |= 0X01;  //设置P1_0为输出模式
}void KEYInit(void)
{P0SEL &= ~0x02; //设置P0_1为普通IOP0DIR &= ~0x02; //设置P0_1为输入模式P0INP &= ~0x02; //设置P0_1为上拉模式
}/*扫描按键是否按下*/
uchar KEYScan(void)
{if(KEY1 == 0){delay_ms(10);if(KEY1 == 0){while(!KEY1);return 1;}}return 0;
}void main(void)
{LEDInit();KEYInit();while(1){if(KEYScan())LED1 = ~LED1;}
}

CC2530之按键与LED相关推荐

  1. CC2530:按键控制LED亮灭

    #include <ioCC2530.h>typedef unsigned char uchar; typedef unsigned int uint;#define LED1 P1_0 ...

  2. zigbee CC2530 系列教程 4 按键控制LED实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.3按键控制LED实验 4.3.1 实验目的 了解使用按键方法,使用按键切换LED的状态. 4.3.2 实验讲解 首先根据开发 ...

  3. 按键控制LED亮灭(CC2530)

    一.实验目的 通过按键实现LED灯的开关控制,实现人机交互 二.实验相关电路图 按键接子啊P0_1接口上,P0端口的第一位P0_1为低电平时说明按键被按下,P0_1为高电平时说明为抬起状态. 三.实验 ...

  4. cc2530按键控制LED灯

    我平多多买的板子商家没给我原理图,我很无语,然后今天学按键控制终于找到了一个原理图: 不知道你们是否遇到寄存器设置值的事情,设置某位为输入或输出,通用IO或外部IO以及上拉电阻等等,我总结的方法可能很 ...

  5. CC2530开发-----按键控制流水灯暂停

    CC2530开发-按键控制流水灯 今天所要实现的效果如下 一.导入CC2530的包以及定义按键和LED的位置 #include "iocc2530.h" #define D3 P1 ...

  6. FPGA(1)基础入门 -- 按键控制led灯

    目录 效果说明 1.配置输入输出变量 2.变量赋值 3.配置引脚(输入输出变量) 代码 效果说明 key1按键按下,led1被点亮. key2按键按下,led2被点亮. 1.配置输入输出变量 inpu ...

  7. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  8. STM32按键控制led四种方法

    文章目录 回顾按键电路 按照之前文章方法在工程文件下加入Hardware中的key.c和key.h 打开固件库用户手册查询io读取相关的函数 第一种方式实现按键控制 第二种方式实现按键控制led 第三 ...

  9. 8个独立按键控制LED

    8个独立按键控制LED

最新文章

  1. python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别
  2. python加号换行,Python字符串拼接六种方法介绍
  3. lvs+keepalived简单配置
  4. 一条批处理语句ping局域网内的所有机器
  5. 现任明教教主共享胖AP与WLC安全配置录像.上半部分
  6. 手把手教你实现Java发送邮件(1)-发送简单的文本
  7. 井通swtc能不能涨到2元_买一支2块到3块之间的股票,买几十万股吗?这样操作效果怎么样?...
  8. requirejs加载顺序_前端模块化之AMD — Requirejs的使用
  9. 【图像处理-直方图】
  10. java 反射api_个人编程学习网 - Java-操作反射其他的API
  11. 通过计算机名访问linux
  12. windows 安装Rabbit MQ
  13. 在python中print表示的数据类型是_在python中自己写的数据类型使用print无法输出每个元素...
  14. 将ip电话注册到服务器上,华为IP电话配置步骤.doc
  15. 计算机中振荡器作用,振荡器工作原理介绍
  16. 502 Bad Gateway错误
  17. java excel 批注_Java 添加、读取和删除 Excel 批注
  18. ESP8266-Arduino编程实例-MLX90614红外测温传感器驱动
  19. 计算机专业必须用英语口语要求,哪些专业需要英语口语考试
  20. ZABBIX 4.2 安装(VMWARE)

热门文章

  1. Webmin与CSF的安装与配置
  2. 最难的IB课程为什么含金量最高?
  3. 北忘山的网站合集-免费壁纸网站-免费导航网站
  4. php套件包 5.3,PHP套件FastCGI版
  5. [大数据开发]什么是堡垒机?带你了解堡垒机!
  6. 自学Java多久才能找到一份15K的工作?干货都说了,能不能就业看你自己了!
  7. 自定义QQ和微信分享卡片
  8. 笔记 二叉树性质的证明
  9. Datawhale---动手学数据分析---第二章:第二章:数据清洗及特征处理(泰坦尼克的任务)
  10. PPP助力有望消除资金瓶颈 智慧城市将迎发展热潮