当前位置: 首页 > news >正文

51单片机 02 独立按键

一、独立按键控制LED亮灭

轻触按键:相当于是一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。

#include <STC89C5xRC.H>
void main()
{
//	P2=0xFE;while(1){if(P31==0){P20=0;}else P20=1;}
}

二、独立按键控制LED状态 

对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。 

#include <STC89C5xRC.H>
void delay(unsigned int x)		//@11.0592MHz
{unsigned char i, j;while(x){i = 2;j = 199;do{while (--j);} while (--i);x--;}
}void main()
{while(1){if(P31==0){delay(20); //Eliminating jitter through delaywhile(P31==0); // 监测松手(松按键)delay(20);P20=~P20;}}
}

三、独立按键控制LED显示二进制

#include <STC89C5xRC.H>
void Delay(unsigned int x)		//@11.0592MHz
{unsigned char i, j;while(x--){i = 2;j = 199;do{while (--j);} while (--i);}
}void main()
{while(1){if(P31==0){Delay(20);while(P31==0);Delay(20);P2--;}}
}

四、独立按键控制LED流水线

#include <STC89C5xRC.H>
void Delay(unsigned int x)		//@11.0592MHz
{unsigned char i, j;while(x--){i = 2;j = 199;do{while (--j);} while (--i);}
}
void main()
{unsigned char pattern=0xFE;while(1){if(P31==0){Delay(20);while(P31==0);Delay(20);P2=pattern;pattern=(pattern<<1)|0x01;if(pattern==0xFF) pattern=0xFE;}}
}
#include <STC89C5xRC.H>
void Delay(unsigned int x)		//@11.0592MHz
{unsigned char i, j;while(x--){i = 2;j = 199;do{while (--j);} while (--i);}
}
void main()
{unsigned char pattern=0xFE;P2=pattern;while(1){if(P31==0){Delay(20);while(P31==0);Delay(20);pattern=(pattern<<1)|0x01;if(pattern==0xFF) pattern=0xFE;P2=pattern;}if(P30==0){Delay(20);while(P30==0);Delay(20);pattern=(pattern>>1)|0x80;if(pattern==0xFF) pattern=0x7F;P2=pattern;}}
}

相关文章:

51单片机 02 独立按键

一、独立按键控制LED亮灭 轻触按键&#xff1a;相当于是一种电子开关&#xff0c;按下时开关接通&#xff0c;松开时开关断开&#xff0c;实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。 #include <STC89C5xRC.H> void main() { // P20xFE;while(1){…...

2021.3.1的android studio版本就很好用

使用最新版的studio有个问题就是gradle版本也比较高&#xff0c;这样就容易出现之前项目不兼容问题&#xff0c;配置gradle可能会出现很多问题比较烦&#xff0c;所以干脆就用老版本的studio...

CSV数据分析智能工具(基于OpenAI API和streamlit)

utils.py&#xff1a; from langchain_openai import ChatOpenAI from langchain_experimental.agents.agent_toolkits import create_csv_agent import jsonPROMPT_TEMPLATE """你是一位数据分析助手&#xff0c;你的回应内容取决于用户的请求内容。1. 对于文…...

移除元素-双指针(下标)

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&#xff1a…...

蓝桥杯备赛题目练习(一)

目录 一. 口算练习题 代码如下 代码解读&#xff08;简略重点&#xff09;&#xff1a; 代码解读&#xff08;详细&#xff09;&#xff1a; 二. 小乐乐改数字 代码&#xff08;1&#xff09;&#xff1a;当做整数读取 代码&#xff08;2&#xff09;&#xff1a;当做字符…...

FortiOS 存在身份验证绕过导致命令执行漏洞(CVE-2024-55591)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

【多线程】线程池核心数到底如何配置?

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 前置回顾2. 动态线程池2.1 JMX 的介绍2.1.1 MBeans 介绍 2.2 使用 JMX jconsole 实现动态修改线程池2.2.…...

Windows图形界面(GUI)-QT-C/C++ - Qt Combo Box

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 一、概述 1.1 基本概念 1.2 应用场景对比 二、核心属性详解 2.1 行为控制 2.2 显示配置 三、数据操作与访问 3.1 基础数据管理 3.2 高级数据访问 四、用户交互处理 4.1 信号处…...

开源AI智能名片2 + 1链动模式S2B2C商城小程序:内容价值创造与传播新引擎

摘要&#xff1a;本文聚焦于信息爆炸时代下&#xff0c;内容价值的创造与传播。随着用户角色的转变&#xff0c;其在内容生产与传播中的价值日益凸显。同时&#xff0c;深入探讨开源AI智能名片2 1链动模式S2B2C商城小程序这一创新商业模式&#xff0c;如何借助用户创造内容并传…...

python读取excel工具:openpyxl | AI应用开发

python读取excel工具&#xff1a;openpyxl | AI应用开发 openpyxl 是一个 Python 库&#xff0c;专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具&#xff0c;可以让你在不需要安装 Excel 软件的情况下&#xff0c;对 Excel 文件进行创建、…...

堆的基本概念

1.1 堆的基本概念 虚拟机所在目录 E:\ctf\pwn-self 进入虚拟机的pwndocker环境 holyeyesubuntu:~$ pwd /home/holyeyes holyeyesubuntu:~$ sudo ./1run.sh IDA分析 int __fastcall main(int argc, const char **argv, const char **envp) { void *v4; // [rsp20h] [rbp-1…...

Android车机DIY开发之软件篇(九) NXP AutomotiveOS编译

Android车机DIY开发之软件篇(十一) NXP AutomotiveOS编译 Google 在汽车上也提供了用于汽车的 Google 汽车服务&#xff08;GAS&#xff0c;Google Automotive Service&#xff09;&#xff0c;包含有 Google 地图、应用市场、Google 汽车助理等等。Google 汽车服务同样没有开…...

嵌入式工程师必学(143):模拟信号链基础

概述: 我们每天使用的许多电子设备,以及我们赖以生存的电子设备,如果不使用电子工程师设计的实际输入信号,就无法运行。 模拟信号链由四个主要元件组成:传感器、放大器、滤波器和模数转换器 (ADC)。这些传感器用于检测、调节模拟信号并将其转换为适合由微控制器或其他数…...

《LLM大语言模型深度探索与实践:构建智能应用的新范式,融合代理与数据库的高级整合》

文章目录 Langchain的定义Langchain的组成三个核心组件实现整个核心组成部分 为什么要使用LangchainLangchain的底层原理Langchain实战操作LangSmithLangChain调用LLM安装openAI库-国内镜像源代码运行结果小结 使用Langchain的提示模板部署Langchain程序安装langserve代码请求格…...

e2studio开发RA2E1(5)----GPIO输入检测

e2studio开发RA2E1.5--GPIO输入检测 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置GPIO口配置按键口配置按键口&Led配置R_IOPORT_PortRead()函数原型R_IOPORT_PinRead()函数原型代码 概述 本篇文章主要介绍如何…...

Spring @Lazy:延迟初始化,为应用减负

在Spring框架中&#xff0c;Lazy注解的作用非常直观&#xff0c;它就是用来告诉Spring容器&#xff1a;“嘿&#xff0c;这个Bean嘛&#xff0c;先别急着创建和初始化&#xff0c;等到真正需要用到的时候再弄吧&#xff01;” 默认情况下&#xff0c;Spring容器在启动时会立即创…...

将OneDrive上的文件定期备份到移动硬盘

背景&#xff1a; 我在oneDrive上存了很多文件&#xff0c;分布在多个文件夹中&#xff0c;也有套了好几层文件夹的情况。我希望每隔一段时间&#xff0c;将oneDrive上的所有文件向移动硬盘上拷贝一份&#xff0c;但是我只想将距离上一次向移动硬盘拷贝的文件相比&#xff0c;发…...

从0开始,来看看怎么去linux排查Java程序故障

一&#xff0c;前提准备 最基本前提&#xff1a;你需要有liunx环境&#xff0c;如果没有请参考其它文献在自己得到local建立一个虚拟机去进行测试。 有了虚拟机之后&#xff0c;你还需要安装jdk和配置环境变量 1. 安装JDK&#xff08;以OpenJDK 17为例&#xff09; 下载JDK…...

DeepSeek-V3:开源多模态大模型的突破与未来

目录 引言 一、DeepSeek-V3 的概述 1.1 什么是 DeepSeek-V3&#xff1f; 1.2 DeepSeek-V3 的定位 二、DeepSeek-V3 的核心特性 2.1 多模态能力 2.2 开源与可扩展性 2.3 高性能与高效训练 2.4 多语言支持 2.5 安全与伦理 三、DeepSeek-V3 的技术架构 3.1 模型架构 3…...

Deep Sleep 96小时:一场没有硝烟的科技保卫战

2025年1月28日凌晨3点&#xff0c;当大多数人还沉浸在梦乡时&#xff0c;一场没有硝烟的战争悄然打响。代号“Deep Sleep”的服务器突遭海量数据洪流冲击&#xff0c;警报声响彻机房&#xff0c;一场针对中国关键信息基础设施的网络攻击来势汹汹&#xff01; 面对美国发起的这场…...

μSR技术中的双量子Rabi振荡优化与应用

1. 实验背景与核心原理 在量子物理和凝聚态物理研究中&#xff0c;μ子自旋共振&#xff08;μSR&#xff09;技术是一种独特的探测手段。这项技术利用正μ子&#xff08;μ&#xff09;作为微观探针&#xff0c;通过观测其自旋极化行为来研究材料的局部磁环境。当μ子注入样品…...

轻量级协作平台设计:集成Git与敏捷开发的项目管理实践

1. 项目概述与核心价值最近在团队协作和项目管理工具选型上&#xff0c;又和几个技术负责人聊了一圈。大家普遍的感受是&#xff0c;市面上的工具要么太重&#xff0c;像Jira、Confluence&#xff0c;配置复杂&#xff0c;学习成本高&#xff0c;小团队用起来像“杀鸡用牛刀”&…...

ESP32边缘AI部署实战:从模型量化到嵌入式推理全流程解析

1. 项目概述&#xff1a;当ESP32遇见AI&#xff0c;边缘智能的微型革命最近在捣鼓一个挺有意思的开源项目&#xff0c;叫wangzongming/esp-ai。光看名字&#xff0c;你可能觉得这又是一个把AI模型塞进微控制器的尝试&#xff0c;但实际深入后&#xff0c;我发现它的野心和实现方…...

小红书自动化工具xhs-skill:接口逆向与数据采集实战指南

1. 项目概述&#xff1a;一个面向小红书内容创作的效率工具箱最近在逛GitHub的时候&#xff0c;发现了一个挺有意思的项目&#xff0c;叫PengJiyuan/xhs-skill。光看名字&#xff0c;你大概能猜到它和小红书有关&#xff0c;但具体是做什么的&#xff0c;可能有点模糊。作为一个…...

提示工程实战:从核心模式到高级技巧的AI交互优化指南

1. 项目概述&#xff1a;从代码仓库到提示工程实战指南最近在GitHub上看到一个名为“SKY-lv/prompt-engineer”的仓库&#xff0c;点进去一看&#xff0c;发现这不仅仅是一个简单的代码集合&#xff0c;更像是一位资深从业者&#xff08;SKY-lv&#xff09;精心整理的提示工程实…...

2025届毕业生推荐的AI学术平台推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术写作范畴之内&#xff0c;怎样迅速、精确地给论文确定一个既契合规范又能够切实有效吸…...

告别SD卡!用Ubuntu主机给Jetson Orin Nano刷机,保姆级避坑指南(SDK Manager篇)

告别SD卡&#xff01;用Ubuntu主机给Jetson Orin Nano刷机&#xff0c;保姆级避坑指南&#xff08;SDK Manager篇&#xff09; 当第一次拿到Jetson Orin Nano Developer Kit时&#xff0c;很多开发者会本能地选择SD卡刷机方案——毕竟这是最"傻瓜式"的操作。但经历过…...

BLDC电机与锂离子电池集成设计关键技术解析

1. BLDC电机与锂离子电池集成设计概述在电动工具、小型电动车等便携式设备领域&#xff0c;无刷直流电机(BLDC)与锂离子电池的组合已成为行业标配。这种搭配带来了显著的性能提升&#xff1a;BLDC电机相比传统有刷电机效率提升150%以上&#xff0c;而锂离子电池的能量密度是镍镉…...

Linux网络运维实战:从ifconfig、ethtool到网络状态深度诊断

1. 从ifconfig开始&#xff1a;你的网络诊断第一课 刚接手一台Linux服务器时&#xff0c;我习惯性敲下的第一个命令永远是ifconfig。这个看似简单的命令就像汽车仪表盘&#xff0c;能快速告诉你当前网络接口的基本状态。记得有次凌晨处理线上故障&#xff0c;就是通过ifconfig…...

深度解析DS4Windows:让PS4手柄在Windows平台重获新生

深度解析DS4Windows&#xff1a;让PS4手柄在Windows平台重获新生 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否曾经为PS4手柄在PC上的兼容性问题而烦恼&#xff1f;游戏无法识别、…...