所有课程见此链接:

zigbee CC2530 系列教程 0 课程介绍

4.3按键控制LED实验

4.3.1 实验目的

了解使用按键方法,使用按键切换LED的状态。

4.3.2 实验讲解

首先根据开发板硬件原理图确定LED与CC2530芯片的连接引脚,如图4-3所示。

图4-3开发板LED和按键原理图

可以看到开发板上的D3连接在芯片的P10引脚,按键S3连接在芯片的P04引脚,按照4.1节点亮单个LED的说明,我们分别对P10配置为输出,对按键引脚P04配置为输入,由于外部连接有上拉电阻所以不需要配置引脚的内部上拉。

具体程序如下:

#include <ioCC2530.h>#define uint unsigned int#define uchar unsigned char//定义控制LED灯的端口#define LED1 P1_0      // D3(LED1)为P10口控制#define KEY1 P0_4     //S3(KEY1)为P04口控制//函数声明void Delayms(uint);     //延时函数void InitLed(void);      //初始化D3(LED1)void KeyInit();         //按键初始化uchar KeyScan();       //按键扫描程序/****************************延时函数*****************************/void Delayms(uint xms)  //i=xms 即延时i毫秒{uint i,j;for(i=xms;i>0;i--)for(j=587;j>0;j--);}/****************************LED初始化函数*****************************/void InitLed(void){P1DIR |= 0x01;  //P10定义为输出LED1 = 1;      // D3(LED1)灯熄灭     }/****************************按键初始化函数*****************************/void InitKey(){P0SEL &= ~0X10;   //设置P04为普通IO口  P0DIR &= ~0X10;   //按键在P04口,设置为输入模式P0INP &= ~0x10;    //打开P04上拉电阻,不影响}/****************************按键检测函数*****************************/uchar KeyScan(void){if(KEY1==0){   Delayms(10);if(KEY1==0){while(!KEY1);  //松手检测return 1;       //有按键按下}}return 0;             //无按键按下}/***************************主函数***************************/void main(void){InitLed(); //调用初始化函数InitKey();while(1){if(KeyScan())   //按键改变LED状态{LED1=~LED1;  }}}

4.1.3 实验效果

按下开发板按键S3(KEY1)控制D3(LED1)的亮和灭。

扫码关注公众号,输入zigbee。即可获得源码 + 全套开发视频

zigbee CC2530 系列教程 4 按键控制LED实验相关推荐

  1. zigbee CC2530 系列教程 15 温湿度传感器DHT11实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.12温湿度传感器DHT11实验 4.12.1 实验目的 学习使用温湿度传感器DHT11,并在串口显示温湿度数据. 4.12. ...

  2. zigbee CC2530 系列教程 7 串口数据收发实验

    4.6串口数据收发实验 4.6.1 实验目的 1.了解串口通信的相关知识: 2.学习CC2530单片机串口相关寄存器配置,实现串口通信功能: 4.6.2 实验讲解 CC2530芯片有两个串行接口UAR ...

  3. zigbee CC2530 系列教程 0 课程介绍

    本课程主要是CC2530的系列课程,并附上源码. 课程内容大体安排如下: 理论课程: 第一章:ZigBee简介 第二章:ZigBee软件开发平台的搭建 zigbee CC2530 系列教程 3 点亮1 ...

  4. zigbee CC2530 系列教程 3 点亮1个LED实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.1点亮1个LED实验 4.1.1 实验目的 了解芯片IO的基本配置方法,点亮1个LED. 4.1.2 实验讲解 首先根据开发 ...

  5. zigbee CC2530 系列教程 5 外部中断实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.4外部中断实验 4.4.1 实验目的 了解使用外部中断的方法,在中断处理函数中切换LED的状态. 4.4.2 实验讲解 首先 ...

  6. zigbee CC2530 系列教程 10 看门狗实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.9看门狗实验 4.9.1 实验目的 1.学习CC2530看门狗的工作方式: 2.学习看门狗功能在系统中的运行机制: 4.9. ...

  7. zigbee CC2530 系列教程 2 软件开发平台的搭建

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 IAR集成开发环境搭建及程序下载调试 相信物联网在近几年的电子产品领域大家都有所耳闻,而zigbee作为无线传输领域中的佼佼者, ...

  8. zigbee CC2530 系列教程 13 烟雾传感器实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.13烟雾传感器实验 4.13.1 实验目的 学习使用烟雾传感器. 4.13.2 实验讲解 首先根据开发板硬件原理图确定烟雾传 ...

  9. 【ZYNQ】从入门到秃头05 LED闪烁实验 按键控制LED实验Verilog(PL)

    文章目录 LED闪烁实验Verilog(PL) 硬件设计 程序设计 创建Verilog HDL文件 编写Verilog 添加管脚约束 添加时序约束 生成BIT文件 Vivado仿真 下载 按键控制LE ...

最新文章

  1. [svn] 分支开发
  2. 推荐:常见NLP模型的代码实现(基于TensorFlow和PyTorch)
  3. 看麻了!35岁奥地利总理辞职当码农
  4. c++ 读文件_第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...
  5. SpringBoot解决ajax跨域问题
  6. java 关于JDBC和DAO模式使用
  7. win10卸载db2_如何在Linux下干净卸载db2数据库
  8. asp.net 页面缓存、数据缓存
  9. jira 6.x 日期设置
  10. I,P,B帧和PTS,DTS的关系,GOP相关
  11. 计算机桌面任务栏窗口对话框菜单的功能,电脑下方的任务栏不显示怎么办 在任务栏和开始菜单属性对话框...
  12. 大型架构学习——美团猫眼模块化实践
  13. 世上本没有坏人,实际上也无所谓坏人与好人
  14. Oracle的深入学习
  15. 于博士Cadence教程视频地址以及目录
  16. 基于springboot vue的记账本源码
  17. app跨平台开发框架以及技术选型如何选择?
  18. GKCTF EZ三剑客-EzWeb 题目分析总结
  19. 什么是角色建模?3D角色建模简介
  20. 六、MSP432飞控软件框架分析

热门文章

  1. CEfSharp下载文件 弹出保存框 IDownloadHandler,WINfrom嵌入网页导出功能响应
  2. 如何下载广安门外街道卫星地图高清版大图
  3. 酒店预订小程序开发的特色优势
  4. Python闭包(closure)详解
  5. 思否这个哥们的文章,真是太香了!!
  6. RabbitMQ总结(一)--消息队列RabbitMQ应答模式(自动、手动)
  7. 写了一个UUE编码的类.
  8. vuejs笔记(初学,有错请指出)
  9. 手板是什么?产品设计为什么要做手板?干货满满!!!
  10. ios dat 文件读写_Xilisoft iPad Magic Platinum for Mac(ios设备文件传输和转换工具)_资源共享论坛...