51_蓝桥杯_独立按键

一 电路

注意:J5跳帽接到2~3引脚,使按键S4-S5四个按键的另外一端接地,从而成为4个独立按键。

二 独立按键工作原理

三 代码

代码1:按下S7点亮L1指示灯,松开按键,指示灯熄灭,按下S6点亮L2指示灯,按下S5点亮L3指示灯,按下S4点亮L4指示灯。

#include "reg52.h"void Delay(unsignde int t)
{while(t--);
}//实现延时功能的函数void InitHC138(unsigned char n)
{switch (n){ case 4;HC138_C = 1;HC138_B = 0;HC138_A = 0;//输出Y4break;case 5;HC138_C = 1;HC138_B = 0;HC138_A = 1;//输出Y5break;
case 4;HC138_C = 1;HC138_B = 1;HC138_A = 0;//输出Y6break;case 5;HC138_C = 1;HC138_B = 1;HC138_A = 1;//输出Y7break;}
}//锁存器选择void dulianjian()
{if(S7 == 0){Delay(100);if(S7 == 0){L1 = 0;while(S7 == 0)L1 = 1;}}if(S6 == 0){Delay(100);if(S6 == 0){L2 = 0;while(S5 == 0)L2 = 1;}}if(S5 == 0){Delay(100);if(S5 == 0){L3 = 0;while(S5 == 0)L3 = 1;}}if(S4 == 0){Delay(100);if(S4 == 0){L4 = 0;while(S4 == 0)L4 = 1;}}
}void main()
{InitHC138(4);while(1){dulianjian();}
}

代码2 :  S7点亮L1时,S6不可执行操作,S5点亮L3,S4点亮L4;

S6点亮L2时,S7不可执行操作,S5点亮L5,S4点亮L6;

L1,L2均未被点亮时,S5,S4均不可执行操作。

#include "reg52.h"void Delay(unsignde int t)
{while(t--);
}//实现延时功能的函数void InitHC138(unsigned char n)
{switch (n){ case 4;HC138_C = 1;HC138_B = 0;HC138_A = 0;//输出Y4break;case 5;HC138_C = 1;HC138_B = 0;HC138_A = 1;//输出Y5break;
case 4;HC138_C = 1;HC138_B = 1;HC138_A = 0;//输出Y6break;case 5;HC138_C = 1;HC138_B = 1;HC138_A = 1;//输出Y7break;}
}//锁存器选择unsigned char stat_k = 0;
void dulianjian()
{if(S7 == 0){Delay(100);if(stat_k == 0){L1 = 0;stat_k = 1;}else if(stat_k = 1)L1 = 1;stat_k = 0;}}if(S6 == 0){Delay(100);if(stat_k == 0){L2 = 0;stat_k = 2;}else if(stat_k = 2)L2 = 1;stat_k = 0;}}if(S5 == 0){Delay(100);if(stat_k == 1){L3 = 0;while(S5 == 0);L3 = 1;}else if(stat_k = 2)L5 = 0;while(S5 == 0);L5 = 1;}}if(S4 == 0){Delay(100);if(stat_k == 1){L4 = 0;while(S5 == 0);L4 = 1;}else if(stat_k = 2)L6 = 0;while(S5 == 0);L6 = 1;}}
}void main()
{InitHC138(4);while(1){dulianjian();}
}

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

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

相关文章

Spring Boot与LiteFlow:轻量级流程引擎的集成与应用含完整过程

点击下载《Spring Boot与LiteFlow:轻量级流程引擎的集成与应用含完整过程》 1. 前言 本文旨在介绍Spring Boot与LiteFlow的集成方法,详细阐述LiteFlow的原理、使用流程、步骤以及代码注释。通过本文,读者将能够了解LiteFlow的特点&#xff…

【动态规划】【字符串】2167移除所有载有违禁货物车厢所需的最少时间

作者推荐 【深度优先搜索】【树】【有向图】【推荐】685. 冗余连接 II 本文涉及知识点 动态规划汇总 LeetCode2167移除所有载有违禁货物车厢所需的最少时间 给你一个下标从 0 开始的二进制字符串 s ,表示一个列车车厢序列。s[i] ‘0’ 表示第 i 节车厢 不 含违…

前端|Day2:列表、表格、表单(黑马笔记)

Day2:列表、表格、表单 目录 Day2:列表、表格、表单一、列表1.无序列表2.有序列表3. 定义列表 二、表格1.基本使用2. 表格结构标签(了解)3.合并单元格 三、表单1.input 标签2.input 标签占位文本3.单选框4.上传文件5.多选框6.下拉菜单7.文本域8.label 标…

DS:循环队列的实现

创作不易,给个三连吧!! 一、前言 对于循环队列,博主也是源自于一道力扣的OJ题 力扣:循环队列的设置 后来我在网上查过,这个循环队列是有自己的应用场景的!!并不是出题者为了出题…

【数据分享】2014-2024年全国监测站点的逐时空气质量数据(15个指标\Excel\Shp格式)

空气质量的好坏反映了空气的污染程度,在各项涉及城市环境的研究中,空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时的空气质量数据&…

Java+SpringBoot:农业疾病防治新选择

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

stm32 DCMI的知识点

1.DCMI的简介 DCMI全称Digital camera interface(数字摄像头接口),是一种可以采集摄像头数据的一种接口。此接口适用于黑白摄像头、X24 和 X5 摄像头,并可以假定所有预处理(如调整大小)都可以在该摄像头模…

初识小程序

一、小程序的页面布局 1、小程序组件(标签) view:代表块级区块 html中的div text:代表行内区块 html中的span 2、样式选择器 --- 类选择器、标签选择器、后代选择器 3、组成页面的4种文件类型 .wxml:页面结构和内容 …

Ubuntu 20.04.1 共享samba给windows 10

通过ssh登录ubuntu,修改/etc/下的smb配置文件, uidq4932hzh57415u:/work$ cat /etc/samba/smb.conf [global] security ads realm V01.NET workgroup V01 idmap uid 10000-20000 idmap gid 10000-20000 winbind enum users yes winbind enum grou…

若依不分离版本部署流程

一、分离与不分离的区别 参考博客:前后端分离与不分离的本质区别!_前后端分离本质-CSDN博客 概念适用场景前后端不分离前端页面看到的效果都是由后端控制,由后端渲染页面或重定向适合纯网页应用前后端分离后端仅返回前端所需的数据&#xf…

MySQL--SQL解析顺序

前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了。 本文将从MySQL总体架构—>查询执行流程—>语句执行顺序来探讨一下其中的知识。 一、MySQL架构总览&a…

算法沉淀——BFS 解决拓扑排序(leetcode真题剖析)

算法沉淀——BFS 解决拓扑排序 01.课程表02.课程表 II03.火星词典 Breadth-First Search (BFS) 在拓扑排序中的应用主要是用来解决有向无环图(DAG)的拓扑排序问题。拓扑排序是对有向图中所有节点的一种线性排序,使得对于每一条有向边 (u, v)&…