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

一、原理分析

二、思维导图

三、示例框架

#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循环,等待按键释放,即等待按键不再处于按下状态。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Flink 集群部署模式

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

Rust学习02:推荐一本入门书,免费的

都说Rust的学习曲线很陡峭,试过才知雀实不容易。 先说我的基础,非科班,自学Python,写过几个小程序。 我买书从来不扣扣嗖嗖的,所以先啃了几本Rust的入门书,包括: Tim McNamara的《Rust实战》&am…

javaEE——线程的等待和结束

文章目录 Thread 类及常见方法启动一个线程中断一个线程变量型中断调用 interrupt() 方法来通知观察标志位是否被清除 等待一个线程获取当前线程引用休眠当前线程 线程的状态观察线程的所有状态观察 1: 关注 NEW 、 RUNNABLE 、 TERMINATED 状态的切换 多线程带来的风险为什么会…

基于SpringBoot框架实现的B2B平台的医疗病历交互系统

采用技术 基于SpringBoot框架实现的B2B平台的医疗病历交互系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员角色 医院管理 医院注册 医院文…

pytorch 入门基础知识一(Pytorch 01)

一 深度学习基础相关 深度学习三个主要的方向:计算机视觉,自然语言,语音识别。 机器学习核心组件:1 数据集(data),2 前向传播的model(net),3 目标函数(loss), 4 调整模型参数和优化函数的算法…

C#混淆心得

C#混淆心得 近期遇到混淆C#代码的需求,在网上找了很多办法,在此记录一下。 混淆的本质就是让代码变丑,让别人看不懂。 为什么要混淆: 1.保护核心代码 可以在一定程度上避免别人偷代码,从而保护重要的部分&#xf…

vscode jupyter 如何关闭声音

网上之前搜的zen模式失败 仅仅降低sound失败 #以下是成功方式: 首先确保user和remote的声音都是0: 然后把user和remote的以下设置都设置为off就行了! 具体操作参考 https://stackoverflow.com/questions/54173462/how-to-turn-off-or-on-so…

传输层/UDP/TCP协议

再谈端口号 TCP/IP协议用“源IP”,“源端口号”,“目的IP”,“目的端口号”,“协议号”,这样一个五元组来标识一个通信(可以用netstat -n来查看)。 端口号的划分和知名端口号 我们之前就说过&am…

综合知识篇05-设计模式考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

【Java】容器|Set、List、Map及常用API

目录 一、概述 二、List 1、List的常用API 2、ArrayList 3、List遍历 三、Set 1、Set的常用方法: 2、HashSet 3、遍历集合: 四、Map 1、Map常用API 2、HashMap 3、遍历Map 五、迭代器 一、概述 在Java中所有的容器都属于Collection接口下的内容 1…

如何监控用户对网站的操作行为?

需求: 1、对所有用户的操作进行监控,包括用户行为的录制 2、通过用户操作热度地图,来监控每个功能的使用频率,从而来决策产品的下一步迭代 一、浏览器自带的录频方法 MediaDevices.getUserMedia() 二、html2canvas页面截屏方法 …

2022年安徽省职业院校技能大赛 (高职组)“云计算”赛项样卷

#需要资源或有问题的,可私博主!!! #需要资源或有问题的,可私博主!!! #需要资源或有问题的,可私博主!!! 第一场次:私有云(5…

cool 中的Midway ----node.js的TypeORM的使用

1.介绍 TypeORM | Midway TypeORM 是 node.js 现有社区最成熟的对象关系映射器(ORM )。本文介绍如何在 Midway 中使用 TypeORM 相关信息: 描述可用于标准项目✅可用于 Serverless✅可用于一体化✅包含独立主框架❌包含独立日志❌ 和老写…

展开说说:Android之SharedPreferences

SharedPreferences 是一种轻量级的数据持久化存储机制。以key/value键值对形式存储在xml文件,用于保存一些应用程序数据。保存在 /data/data/PACKAGE_NAME/shared_prefs/xxx.Xml文件。 SharedPreferences 只能存储string,int,float&#xff…

F5怎么样?保障AI服务的安全性和交付

伴随着人工智能时代的快速发展,AI已成为企业数字化转型的得力工具,比如为用户提供更好的服务,降低企业成本等。与此同时,AI技术的应用也会带来应用安全等方面的新风险,可见其有着双刃剑效应。作为一家提供多云应用安全…

【时事篇-05-03】20240316 一笔145元拆分成3笔存款存入(排除有相似性的十位数字)

背景需求 前文提到,每笔都存一样的数目,容易被银行识别违法, 【时事篇-05-01】20240112 150元存46只货币基金-CSDN博客文章浏览阅读580次,点赞15次,收藏11次。【时事篇-05-01】20240112 150元存46只货币基金https://…

LCD屏的应用

一、LCD屏应用 Linux下一切皆文件,我们的LCD屏再系统中也是一个文件,设备文件:/dev/fb0。 如果要在LCD屏显示数据,那我们就可以把数据写入LCD屏的设备文件。 1.显示颜色块 LCD屏分辨:800*480 像素 32位:说明一个像…

创新指南|制药行业如何拥抱生成式AI在新药发现与开发中突破获益

生成式AI在药物发现中的应用可加速药物研发过程,并可能降低成本。通过利用GenAI,制药公司能在早期药物发现和开发中实现更快的成果,这包括从目标识别、验证,到优化的多个环节。 AI有潜力在药物筛选和优先排序、目标识别及验证、药…

书客护眼落地灯销量火爆,售罄、补货、又断货、再补货!又成断货王!

今日,备受关注的书客Sun护眼大路灯在市场上掀起了一股抢购热潮,作为近年来照明领域中最大的黑马品牌,始终坚持并最求技术创新的书客品牌,在近日发布全新系列落地护眼台灯后,不仅备受消费者青睐,更是成为了新…

spacy进行简单的自然语言处理的学习

自然语言处理基本概念 概念:自然语言处理,是让机器理解人的语言的过程。 作用:通过使用自然语言处理,机器可以理解人的语言,从而进行语义分析,例如:从一句话中判断喜怒哀乐;从一段文…