蓝桥杯单片机快速开发笔记——独立键盘

一、原理分析

二、思维导图

三、示例框架

#include "reg52.h"  

sbit S7 = P3^0;        

sbit S6 = P3^1;        

sbit S5 = P3^2;        

sbit S4 = P3^3; 

void ScanKeys()

{

        if(S7 == 0)

        {

                Delay(500);

                if(S7 == 0)

                {

                        while(S7 == 0);

                }

        }

        if(S6 == 0)

        {

                Delay(500);

                if(S6 == 0)

                {

                        while(S6 == 0);

                }

        }

        if(S5 == 0)

        {

                Delay(500);

                if(S5 == 0)

                {

                        while(S5 == 0);

                       

                }

        }

        if(S4 == 0)

        {

                Delay(500);

                if(S4 == 0)

                {

                        while(S4 == 0);

                       

                }

        }

}
  1. 定义了四个位控制变量sbit,分别对应P3口的不同引脚,用于检测四个按键的状态。

  2. ScanKeys()函数用于扫描四个按键的状态,具体实现如下:

    • 首先检测按键S7是否被按下,如果被按下,则进行延时500个单位,并再次检测按键状态,确保按键稳定按下。
    • 类似地,对按键S6、S5、S4依次进行相同的检测流程,包括延时和稳定按下检测。
  3. 在每个按键被检测到按下后,进入一个while循环,等待按键释放,即等待按键不再处于按下状态。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GaN HEMTs在电力电子应用中的交叉耦合与基板电容分析与建模

来源:Analysis and Modeling of Cross-Coupling and Substrate Capacitances in GaN HEMTs for Power-Electronic Applications( TED 17年) 摘要 本文提出了一种考虑了基板电容与场板之间交叉耦合效应的场板AlGaN/GaN高电子迁移率晶体管(HE…

TOP-K问题

TOP-K问题:即求数据结合中前K个最大的元素或者最小的元素,一情况下数据量都比较大。 比如:专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。 对于Top-K问题,能想到的最简单直接的方式就是排序,但是&#x…

Python-sklearn-diabetes项目实战

目录 1 下载数据集和预处理 1.1 加载/下载数据集 1.2 数据可视化 1.3 数据清洗 1.4 特征工程 1.5 构建特征集和标签集 1.6 拆分训练集和测试集 2 训练模型 2.1 选择算法和确定模型 2.2 训练拟合模型 3 评估并优化模型性能 本文以糖尿病数据集diabetes为基础进行线性…

掌握高级设计原则:Java中的过滤器模式解析与实战演练,构建灵活且可扩展的系统架构

过滤器模式是一种结构型设计模式,它允许开发者使用不同的标准来过滤一组对象,并通过逻辑运算以解耦的方式将它们联系起来。 过滤器模式的核心在于提供了一个处理对象的机制,这个机制可以根据一个或多个标准来决定哪些对象应该被接受、哪些应…

数据指标体系方法—OSM模型

了解 OSM 模型 OSM 模型,全称为 Object-Strategy-Measure 模型。 O 代表业务目标,不仅仅是指公司战略级别的目标,也包含了产品中某个功能的目的,某场活动的目标等。S 代表业务策略,这里指的是要实现 O 需要采用的策略…

【Linux】从零开始认识进程 — 前篇

我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。。——山本耀司 从零开始认识进程 1 认识冯诺依曼体系2 操作系统3 进程3.1 什么是进程???3.2 进程管理PCB 3.3 Linux中的进程深入理解 3.4 进程创建总结 送给…

Flink 集群部署模式

文章目录 前言一、会话模式(Session Mode)二、单作业模式(Per-Job Mode)三、应用模式(Application Mode) 前言 Flink支持多种集群部署模式,以满足不同场景和需求。以下是Flink的主要集群部署模…

计算机网络(5)-----网络层

目录 一.网络层的功能和概述 二.转发相关 1.网络层协议 (1)IP协议 •IP数据报格式: •IP数据报分片: •IP地址: •IP地址的分类: •网络地址转换NAT: •子网划分: •无分…

拼多多获得搜索词统计 API 返回值说明

拼多多获得搜索词统计的API返回值通常包含与搜索词相关的统计数据和信息。 item_search_data-获得搜索词统计获取调用详情链接 pinduoduo.item_search_data 公共参数 响应参数 - 请求示例 url 默认请求参数已经URL编码处理 curl -i "https://api-gw-xxx.cn/pinduoduo/it…

F. Chat Screenshots

思路:拓扑排序,如果存在满足所有截图的顺序,那么这个图中就会存在拓扑排序,这意味着图中不会存在循环。因此,我们的目标就是检查图的非循环性。 代码: int b[200010], vis[200010], edge[200010]; vector&…

云备份项目2

云备份项目 文章目录 云备份项目4. 服务端代码设计4.1 服务端工具类实现4.1.1 文件实用工具类设计4.1.2 Json实用工具类设计 4.2 服务端配置信息模块实现4.2.1 系统配置信息4.2.2 单例文件配置类设计 4.3 服务端数据管理模块实现4.3.1 备份数据类的实现4.3.2 数据管理类的设计 …

关于数据通信知识的补充——第二篇

目录 四.二层交换机 5.实现不同vlan通信的原理 方法一:路由器网关 方法二:单臂路由 方法三:三层交换机 五.三层路由技术 (1)直连路由 (2)静态路由 (3)动态路由 …

HJXH-E1/U静态信号继电器 面板安装 辅助电源220VDC 启动电压220VDC JOSEF约瑟

HJXH系列静态信号继电器 HJXH-61/U静态信号继电器; HJXH-61/I静态信号继电器; HJXH-62/U静态信号继电器; HJXH-62/I静态信号继电器; HJXH-E1/U静态信号继电器; HJXH-E1/I静态信号继电器; HJXH-E2/U静态信号…

增量式PID恒压供水控制框图

1、SMART PLC增量式PID完整供水和算法介绍请参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/125767636https://rxxw-control.blog.csdn.net/article/details/125767636 2、SMART PLC增量式PID温度控制系统框图(PWM) https://rxxw-control.blog.csd…

02、字面量与变量

二、字面量与变量 文章目录 二、字面量与变量1、字面量字面量类型扩展:特殊字符 2、变量进制转换 3、数据类型 1、字面量 字面量又叫做常量,字面值常量,告诉程序员数据在程序中的书写格式。 字面量类型 整数类型(int):不带小数点…

【Vue3】源码解析-Runtime

文章目录 系列文章packages/runtime-dom/src/index.ts初始化创建renderermount \src\runtime-core\component.jsh.tspackages/runtime-core/src/renderer.ts挂载及卸载DOM节点render packages/runtime-dom/src/nodeOps.tspackages/runtime-core/src/apiCreateApp.ts创建appmoun…

【蓝桥杯选拔赛真题67】python奇偶数位相乘 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python奇偶数位相乘 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python奇偶数位相乘 第十五届蓝桥杯青少年组python比赛选拔赛真题 一…

FFT-相干采样和绘制信号被采样后的频谱方法

1.相干采样:要保证后一个输入信号周期内被采样的点和前一个周期的点有一点差别,避免只采到每个周期内一样点从而掩盖了真实性能。所以需要fs/finM/N为无理数,并且为了尽可能多的采到不同值,fs/fin取大些。例如fs/fin5Ghz/570Mhz50…

ChatGPT编程—实现小工具软件(文件查找和筛选)

ChatGPT编程—实现小工具软件(文件查找和筛选) 今天借助[小蜜蜂AI][https://zglg.work]网站的ChatGPT编程实现一个功能:根据特定需求结合通配符和其他条件来进行文件查找和筛选。在这个例子中,我们将创建一个函数find_files,它接受用户输入的…

机器学习-04-分类算法-03KNN算法

总结 本系列是机器学习课程的系列课程,主要介绍机器学习中分类算法,本篇为分类算法与knn算法部分。 本门课程的目标 完成一个特定行业的算法应用全过程: 懂业务会选择合适的算法数据处理算法训练算法调优算法融合 算法评估持续调优工程化…