
CC2530按键控制LED灯开关
发布日期:2021-05-07 18:15:54
浏览次数:12
分类:技术文章
本文共 1119 字,大约阅读时间需要 3 分钟。
文章目录:
实验要求
代码实现
#include "ioCC2530.h"#define D3 P1_0#define D4 P1_1#define D5 P1_3#define D6 P1_4//两个按键#define SW1 P1_2#define SW0 P0_1//延迟函数void Delay(unsigned int t){ while(t--);}//端口初始化函数void Init_Prot(){//配置4个LED灯的引擎 //选择端口的功能 P1SEL &=~0x1B;//设置通用io端口 //配置端口的方向 P1DIR |=0x1B; //配置SW1按键引脚 P1SEL &=~0x04; P1DIR &=0x04;//输入模式 清零 //将输入模式设置为上拉模式 P1INP &=~0x04; P2INP &=~0x40; //第6位清零//配置SW2按键引脚 P0SEL &=~0x02; P0DIR &=0x02;//输入模式 清零 //将输入模式设置为上拉模式 P0INP &=~0x02; P2INP &=~0x20; //第5位清零 //第7位对应的是P2端口 //第6位对应的是P1端口 //第5位对应的是P0端口}//灯光检测函数void LED_Check(){ D3=1; D4=1; D5=1; D6=1; Delay(60000); Delay(60000); D3=0; D4=0; D5=0; D6=0;}//按键扫描函数void Scan_Keys(){ //按键1 if(SW1 == 0)//可能有按键按下,那么进行去抖动操作 { Delay(200); if(SW1 == 0)//那么就是按键触发的信号 { //按键处理程序 while(SW1 == 0);//低电平、按下状态 D4=~D4; } } //按键2 if(SW0 == 0)//可能有按键按下,那么进行去抖动操作 { Delay(200); if(SW0 == 0)//那么就是按键触发的信号 { //按键处理程序 while(SW0 == 0);//低电平、按下状态 D6=~D6; } }}void main(void){ //端口初始化 Init_Prot(); LED_Check(); while(1) { Scan_Keys(); }}
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月23日 01时08分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
jQuery练习t81
2019-03-03
四、js的深浅拷贝(2021/4/24)
2019-03-04
使用async、await改善异步代码
2019-03-04
零基础入门JavaScript 这一篇笔记就够了
2019-03-04
MySQL_安全管理、表单传值、php操作
2019-03-04
B1021 个位数统计 (15 分)
2019-03-04
java中的字符串
2019-03-04
Idiot 的间谍网络
2019-03-04
MySql索引及使用、实现的数据结构
2019-03-04
初探SSRF漏洞
2019-03-04
pythonBug入门——从零开始学python
2019-03-04
js-禁止右键菜单代码、禁止复制粘贴代码
2019-03-04
SpringBoot中使用Mybatis访问MySQL数据库(使用xml方式)
2019-03-04
$set的使用(视图不能实时更新)
2019-03-04
【SSL】1072砝码称重
2019-03-04
SSLOJ1692 USACO 3.2 Magic Squares 魔板&P2730
2019-03-04
暴打算法:王者级数据结构与LeetCode笔记,一路绿灯杀进字节Java岗
2019-03-04
限时开源!公布半小时下载量达10W:阿里大牛出品「MyCat笔记」
2019-03-04
数组--Go语言学习笔记
2019-03-04
Redis (三)——Linux 上安装 Redis
2019-03-04