51单片机-独立按键模块

1. 独立按键控制LED状态

轻触按键实现原理:按下时,接通,通过金属弹片受力弹动来实现接通和断开。

松开按键
在这里插入图片描述
按下之后:就会被连接
在这里插入图片描述
在这里插入图片描述
同时按下K1和K2时,P2_0,接口所连LED灯才亮。

#include <REGX52.H>
void main()
{while(1){if(P3_1==0 && P3_0==0){P2_0=0;}else{P2_0=1;}}
}

对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动
在这里插入图片描述
通过延时20ms可以,逃避按键抖动带来的影响:

#include <REGX52.H>
void Delay(unsigned int xms)	//@12.000MHz
{unsigned char data i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}
void main()
{while(1){if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);P2_0=~P2_0;}}
}

2.独立按键控制LED显示二进制

默认P2=FF

#include <REGX52.H>
void Delay(int ms)	//@12.000MHz
{unsigned char data i, j;while(ms){i = 2;j = 239;do{while (--j);} while (--i);ms--;}
}void main()
{unsigned char LEDNum=0;while(1){if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);LEDNum++;P2=~LEDNum;}}
}

3.独立按键控制LED移位

#include <REGX52.H>
void Delay(int ms)	//@12.000MHz
{unsigned char data i, j;while(ms--){i = 2;j = 239;do{while (--j);} while (--i);
}
}
unsigned char LEDNum;
void main()
{P2=~0x01;while(1){if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);LEDNum++;if (LEDNum==8)LEDNum=0;P2=~(0x01<<LEDNum);}if(P3_0==0){Delay(20);while(P3_0==0);Delay(20);if (LEDNum==0)LEDNum=7;elseLEDNum--;P2=~(0x01<<LEDNum);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/619706.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux学习:目录检索

目录 目录 api 例子 目录 Linux 中的目录并不是一种容器&#xff0c;而仅仅是一个文件索引表 Linux 中目录就是一组由文件名和索引号组成的索引表&#xff0c;目录下的文件的真正内容存储 在分区中的数据域区域。目录中索引表的每一项被称为“目录项”&#xff0c;里面至少…

力扣HOT100 - 240. 搜索二维矩阵 II

解题思路&#xff1a; 从左下角开始&#xff0c;根据条件删除行和列。 class Solution {public boolean searchMatrix(int[][] matrix, int target) {int row matrix.length - 1;int col matrix[0].length - 1;int l 0;while (row > 0 && l < col) {if (targ…

MR鼻祖呼吁不要滥用孟德尔随机化法,多数文章没有意义

孟德尔随机化,Mendilian Randomization&#xff0c;简写为MR&#xff0c;是一种在流行病学领域应用广泛的一种实验设计方法&#xff0c;利用公开数据库就能轻装上阵写文章&#xff0c;甚至是高质量的论文。 近几年绝对是发文利器呀&#xff01; 但&#xff0c;最近MR鼻祖&#…

MBTI入侵职场,题目都用大模型生成了?!

宝子们&#xff0c;MBTI测过吗&#xff1f; 什么是MBTI呢&#xff1f;它是一个深入抽丝剥茧的性格测试&#xff0c;它的全称是Myers-Briggs Type Indicator&#xff08;迈尔斯-布里格斯性格指标&#xff09;&#xff0c;它会从四个维度上分析你的行为、喜好和思考方式&#xf…

Eigen库从入门到放弃(2. Getting Started)

Eigen的头文件定义了多种类型&#xff0c;但是对于简单的来说&#xff0c;使用MatrixXd就足够了&#xff0c;MatrixXd表示任意尺寸的矩阵&#xff0c;但是要注意数据类型是double的。Eigen/Dense的头文件定义了所有MatrixXd和相关类型的成员函数。所有头文件中定义的函数都是在…

【论文阅读——SplitFed: When Federated Learning Meets Split Learning】

级别CCFA 1.摘要 联邦学习&#xff08;FL&#xff09;和分割学习&#xff08;SL&#xff09;是两种流行的分布式机器学习方法。两者都采用了模型对数据的场景&#xff1b;客户端在不共享原始数据的情况下训练和测试机器学习模型。由于机器学习模型的架构在客户端和服务器之间…

高中数学:三角函数-4个解题妙招

一、对偶式 1、针对题型 同角三角函数的问题 2、方法定义 对于形如下方的式子&#xff0c;就可以用对偶式方法解 3、练习 例题1 例题2 二、巧用三角函数定义 1、针对题型 没有给出具体三角函数值的问题 2、方法定义 3、练习 例题1 三、诱导公式 1、针对题型 锐…

深圳比创达电子EMC|什么是人体静电

当人体与衣物或其他物体发生相互摩擦时&#xff0c;由于各种材料对电子的束缚能力不同&#xff0c;导致电子从一种物质转移到另一种物质。这种电子的转移现象使得人体带上了静电。 如果我们无法及时有效地释放身上积聚的电荷&#xff0c;静电就会在人体表面积聚。这通常发生在…

基于 Operator 部署 Prometheus 监控 k8s 集群

目录 一、环境准备 1.1 选择版本 1.2 过滤镜像 1.3 修改 yaml 镜像 1.4 移动 *networkPolicy*.yaml 1.5 修改 service 文件 1.6 提前下载镜像并推送到私有镜像仓库 1.7 修改镜像&#xff08;可选&#xff09; 二、执行创建 三、查看 pod 状态 四、访问 prometheus、…

视频编辑软件pitivi基本功之安装篇

视频编辑软件pitivi基本功之安装篇 台式机的系统是openSUSE-Leap-15.5-DVD-x86_64 应用程序——工具——终端&#xff0c;切换到root用户 ruhonglocalhost:~> su - 密码&#xff1a; localhost:~ # zypper search pitivi localhost:~ # zypper install pitivi ruhonglocalho…

Python爬虫-京东商品评论数据

前言 本文是该专栏的第68篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,笔者有详细介绍京东滑块验证码的解决方法,感兴趣的同学,可以直接翻阅文章《Python如何解决“京东滑块验证码”(5)》进行查看。 而本文,笔者以京东商品详情页的评论数据为例,通过…

第一节:什么是操作系统

什么是操作系统 一、一台计算机的组成部分1、计算机能干啥2、谈谈计算机硬件 二、什么是操作系统三、学习操作系统的层次 一、一台计算机的组成部分 如下图所示&#xff1a; 这就是就是构成一台计算机的组成部分 1、计算机能干啥 ∙ \bullet ∙计算机是我们专业吃饭的家伙&a…