蓝桥杯单片机备战——关于573问题的填坑

一、遇到的问题

还记得我前面在封装继电器外设的时候遇到的这个问题嘛,当时我怀疑的是138译码器在切换通道的时候会出现其他暂态导致已经锁定的573解锁。
其实不然,之所以会这样还是因为代码问题,也可以说是573反应时间太快了。下面我就分析一下为什么会这样!
在这里插入图片描述

二、问题分析

假设我们要先操作LED,再操作继电器,那么按照我之前的写法会是这样:先写001解锁LED,再写000锁存。然后写101解锁继电器,再写000锁存。好,问题就出在最后一步,当P25=0时,P26还等于0,P27还等于1,这个短暂的瞬间组成了001刚好就会解锁LED。所以这就是为什么我当时用110去锁存继电器就不会解锁LED了。

总结一下就是:在操作138去解锁锁存573的时候一定要用整个IO端口操作,不能像我这样图简单方便用单独位操作!
在这里插入图片描述
在这里插入图片描述
正确写法:

void select_573(u8 x)
{if(x==0) P2 &=0x1F; //锁存else if(x==4) P2 |=0x80; //解锁LED所在573else if(x==5) P2 |=0xA0; //解锁继电器所在573else if(x==6) P2 |=0xC0; //解锁数码管位码所在573else if(x==7) P2 |=0xE0; //解锁数码管段码所在573else;//踩坑提示:一定要采用整个端口操作,不能单独位操作!!!
}
u8 Led_Status=0xFF; //初始关闭void Set_Led(unsigned char Leds)
{//选中LED所在573,此时输出跟随输入变化select_573(4); //74HC138-->Y4=0,else=1-->Y4C=1,else=0P0=Leds;Led_Status=Leds; //记录LED状态//锁存LED所在573select_573(0); //74HC138-->Y1=0,else=1
}/**********Set_Leds**************
*	location: operate which led
*	status:1 ON,0 OFF
********************************/
void Set_Leds(u8 location,u8 status)
{//选中LED所在573,此时输出跟随输入变化select_573(4); //74HC138-->Y4=0,else=1-->Y4C=1,else=0P0 = Led_Status;	//防止解锁时LED状态改变P0 |= 0x01<<(location-1); //清除对应位P0 &= ~(status <<(location-1)); //设置对应位Led_Status=P0;	//记录所有LED灯状态//锁存LED所在573select_573(0); //74HC138-->Y1=0,else=1
}

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

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

相关文章

SpringBoot自定义starter开发:使用属性配置设置功能参数

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,计算机系列(火速更新中) 💭 格言:种一棵树最好的时间是十年前,其次是现在 🏡动动小手,点个关注不迷路,…

麒麟系统中使用nginx发布项目

1. 安装Nginx sudo apt-get update #进行所有安装操作前都要执行这一句 sudo apt install nginx #出现询问就Yes参考具体 Nginx—在linux的ubuntu系统上的安装使用 2. 修改发布文件 将打包好的dist文件夹中的所有文件覆盖下面这个文件夹中的所有文件 如果出现没有权限替…

openEuler 22.03(华为欧拉)一键安装 Oracle 19C RAC(19.22) 数据库

前言 Oracle 一键安装脚本&#xff0c;演示 openEuler 22.03 一键安装 Oracle 19C RAC 过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;Shell脚本安装Oracle数据库…

OPPO案例 | Alluxio在DataAI湖仓一体的实践

分享嘉宾&#xff1a; 付庆午-OPPO数据架构组大数据架构师 在OPPO的实际应用中&#xff0c;我们将自研的Shuttle与Alluxio完美结合&#xff0c;使得整个Shuttle Service的性能得到显著提升&#xff0c;基本上实现了性能翻倍的效果。通过这一优化&#xff0c;我们成功降低了约一…

搭建自己的chatgpt-web(nextchat)

参考&#xff1a; 【好玩儿的Docker项目】任何地方无障碍快速访问&#xff01;ChatGPT Next Web——一键免费部署你的私人 ChatGPT 网页应用 | 爱玩实验室

BetterDisplay Pro:让屏幕管理更高效、更便捷

BetterDisplay Pro是一款功能强大的显示器管理软件&#xff0c;适用于Windows和Mac操作系统。其主要功能包括显示器校准、自动校准、多种预设模式、手动校准以及可视化数据等。 具体而言&#xff0c;这款软件可以根据用户的需求和环境条件调整显示器的颜色、亮度和对比度等参数…

C++面向对象:const的使用

目录 常变量 常量指针与指针常量 常量与引用 常量返回值 常数据成员 常变量 在C中&#xff0c;推荐使用const对象或 enum class 定义常量&#xff0c;而不使用#define预处理器。 &#xff08;1&#xff09;类型安全 #define宏定义只是一个简单的文本替换&#xff0c;不携…

53、简述GCN、NIR、FMIR技术在脑机BCI的发展调查[什么?你咋也叫王富贵?]

最近在搞GCN处理EEG&#xff0c;调查了十几篇文献&#xff0c;总结了一些东西&#xff0c;和学生分享一下&#xff0c;此处只分享一些较为浅显的知识。如下&#xff1a; GCN在其他领域的应用&#xff1a; 1、计算机视觉&#xff1a; 图卷积神经网络在计算机视觉中的应用包括图…

好用的客服快捷回复软件推荐

在当今快节奏的商业环境中&#xff0c;客户服务的效率和质量已经成为企业成功的关键因素之一。对于客服工作人员来说&#xff0c;面对海量的客户咨询和问题解答&#xff0c;如何快速而准确地回复&#xff0c;成为了他们日常工作中的一大挑战。选择一款好用的快捷回复工具是非常…

刷题DAY30 | LeetCode 332-重新安排行程 51-N皇后 37-解数独

332 重新安排行程&#xff08;hard&#xff09; 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&…

SSC9211_USB-CAM解决方案

一、方案描述 SSC9211是一种用于USB-CAM应用程序跟场景的高度集成的SOC产品。平台本身基于ARM层-A7双核&#xff0c;内置16位&#xff0c;64M的DDR2&#xff0c;集成了图像传感器接口、高级ISP、高性能JPEG编码器和其他丰富的外设接口。支持单&#xff0c;双 MIPI sensor方案&…

目标检测——植物病害数据集

植物病害是植物正常状态的偏离&#xff0c;会破坏或改变其生命功能。植物病害会导致严重的产量损失&#xff0c;全球潜在损失估计高达16%。因此&#xff0c;研究植物病害以及开发诊断和治疗它们的方法是植物病理学领域的重要研究内容。 有效识别植物病害对于采取有效的控制措施…

Go语言学习Day1:什么是Go?

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、走近Go①Go语言的Logo②Go语言的创始人③Go语…

八大排序算法之希尔排序

希尔排序是插入排序的进阶版本&#xff0c;他多次调用插入排序&#xff0c;在插入排序上进行了改造&#xff0c;使其处理无序的数据时候更快 核心思想&#xff1a;1.分组 2.直接插入排序&#xff1a;越有序越快 算法思想&#xff1a; 间隔式分组&#xff0c;利用直接插入排序…

【Python】Python中装饰器和魔法方法的区别

在Python中&#xff0c;装饰器&#xff08;Decorators&#xff09;和魔法方法&#xff08;Magic Methods&#xff09;是两种不同的高级特性&#xff0c;分别服务于不同的目的。 装饰器 (Decorators) 装饰器是一种强大的工具&#xff0c;它可以修改或增强函数、方法或类的行为…

IoT物联网可以带来什么?——青创智通

工业物联网解决方案-工业IOT-青创智通 随着科技的飞速发展&#xff0c;IoT物联网已逐渐渗透到我们生活的方方面面&#xff0c;它以其独特的方式&#xff0c;将各种设备、系统和人连接起来&#xff0c;为我们带来了前所未有的便利和惊喜。那么&#xff0c;IoT物联网究竟可以为我…

linux下docker容器的使用

1、根据已有镜像images创建容器 1.1、查看镜像 如果是接手的别人的项目&#xff0c;需要从以往的images镜像中创建新容器&#xff0c;使用命令查看当前机器上的docker镜像&#xff1a; docker images1.2、创建容器 使用docker run 根据images镜像名创建容器&#xff0c;命令…

江南布衣的新商业主义

全球正经历一次商业伦理迭代&#xff0c;从以效率、创新、竞争、公平交易、优胜劣汰等为关键词的旧商业主义&#xff0c;转向商业主义和社会主义兼顾的新商业主义。 联合国全球契约组织于2004年提出的ESG正是这一商业伦理转向的产物&#xff0c;与传统以利润为企业考核核心指标…

Android 静默安装二(无障碍服务版)

近期开发上线一个常驻app&#xff0c;项目已上线&#xff0c;今天随笔记录一下静默安装相关内容。我分三篇静默安装&#xff08;root版&#xff09;、静默安装&#xff08;无障碍版&#xff09;、监听系统更新、卸载、安装。 先说说我的项目需求&#xff1a;要求app一直运行&am…

数字科技优化金融供给,内外协同激活新质生产力

来源 | 镭射财经&#xff08;leishecaijing&#xff09; 新一轮产业变革悄然发生&#xff0c;决定产业高度和竞争格局的底层生产力&#xff0c;也正在经历一场从量变到质变的跃迁。新质生产力则是这场跃迁后的最新呈现。 站在新质生产力爆发的时代拐点&#xff0c;金融业达成…