蓝桥杯_LED模块

ops/2025/3/17 4:18:18/

一 前言

还有四十多天将要进行蓝桥杯的比赛,接下来一个多月我将进行我的知识点的复习,争取在蓝桥杯提交一个满意的答卷

二 锁存器M74HC753M1R

在我这一年并没有进行在csdn上发布任何文章,这一年我学了stm32、51,还有部分理论知识数电模电,我发现曾经学单片机的时候,并没有学到锁存器这个东西,只是简单的将外设和单片机对应的引脚相连,锁存器简直就是闪烁着人类智慧的光芒。

1 RS锁存器

这个锁存器是所有锁存器的基础,我们先了解这个东西

有个印象就行,最后我们要学的是标题的这个东西,是由这个RS锁存器推过来的,他所对应的真值表是:

只需要记住R和S不可以同时为1

2 D锁存器

这个锁存器只是在后面接一个RS锁存器,其实这上面的两个锁存器并不太重要,了解即可~

3 M74HC753M1R(蓝桥杯官方提供的板子的锁存器)

左侧这个东西就是锁存器,具体原理先不说,只需要知道就是要看Y4C这个东西决定着这个LED流水灯的锁存器开不开,那么什么东西呢,也就是接下来要说的译码器

三 译码器 74HC138

蓝桥杯官方提供的原理图中,译码器长这样:

只有让G1是高电平或G2是低电平,这个译码器才能有效。

根据图,我就告诉你结论是什么,决定着Y几的,就是P27、P26、P25引脚对应的数值,直接记结论,这个很重要,记住Y几对应的是什么:

译码器
P27P26P25
LEDY4100
数码管-位Y6110
数码管-段Y7111
外设Y5101

四 代码模板

我们需要建立相关模块,过程暂不写

五相关代码

1 dsp_init.c

我们的目的是要让灯去亮,那么为了减少其他外设的影响,所以我们需要将其他的外设(例如:蜂鸣器)关闭,则需建立dsp_init目的是减少外设的影响

#include "dsp_init.h"
#include <STC15F2K60S2.H>//关闭外设的初始化函数
//将LED、蜂鸣器和继电器全部关闭
void Cls_Peripheral(void)
{P0 = 0xFF;				P2 = P2 & 0x1F | 0x80;		//0x80选通Y4,将数据透传过去,将LED关闭P2 &= 0x1F;				//将锁存器关闭P0 = 0;P2 = P2 & 0x1F | 0xA0;		//0xA0选通Y5,将外设(蜂鸣器)处理掉P2 &= 0x1F;				//将锁存器关闭	}

以上这个代码可以背下来,比较常用,尤其是要记住:0x80是选通Y4(LED),0xA0选通Y5(外设),其中在关闭外设的时候要将P0赋值成0

2 dsp_led.c

通过观察这个原理图:

我们发现只有让P01等透传过去0才可以将灯点亮,记住,在写led的底层函数的时候要加个取反~,背下来

#include "dsp_led.h"
#include "STC15F2K60S2.H"void Led_Disp(unsigned char ucLed)
{P0 = ~ucLed;		//将输入数据取反,1为亮,0为灭		P2 = P2 & 0x1F | 0x80;		//0x80选通Y4,将数据透传过去,将LED关闭P2 &= 0x1F;				//将锁存器关闭}

3 mian.c

这个函数没有那么的严格,因题目和想法不同最后实现的代码也不一样,可以多尝试写一写

文章来源:https://blog.csdn.net/2301_81650162/article/details/146211106
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/ops/166393.html

相关文章

Devops CI/CD

Devops CI/CD DevOps 中的 CI/CD&#xff1a;持续集成与持续部署的深度解析一、CI/CD 基本概念&#xff08;一&#xff09;持续集成&#xff08;二&#xff09;持续部署 二、CI/CD 实施步骤&#xff08;一&#xff09;版本控制&#xff08;二&#xff09;自动化构建&#xff08…

【Unity网络同步框架 - Nakama研究(三)】

文章目录 【Unity网络同步框架 - Nakama研究(三)】准备工作前言Unity部分连接服务器创建并进入房间创建人物人物移动和同步 【Unity网络同步框架 - Nakama研究(三)】 以下部分需要有一定的Unity基础&#xff0c;在官方的案例Pirate Panic基础上进行修改而成。如果没有下载并熟悉…

宇数科技激光雷达L2

使用的ubuntu18.04ROS-melodic 官网找到L2系列的产品 SDK下载&#xff1a;下载中心 L2 - 宇树科技 激光雷达使用 下载unilidar_sdk2-2.0.4.zip&#xff0c;解压只用到unitree_lidar_sdkunitree_lidar_ros&#xff08;ROS1&#xff09;。 L2有两个工作模式&#xff1a;网口…

Linux 下 MySQL 8 搭建教程

一、下载 你可以从 MySQL 官方下载地址 下载所需的 MySQL 安装包。 二、环境准备 1. 查看 MySQL 是否存在 使用以下命令查看系统中是否已经安装了 MySQL&#xff1a; rpm -qa|grep -i mysql2. 清空 /etc/ 目录下的 my.cnf 执行以下命令删除 my.cnf 文件&#xff1a; [roo…

Docker配置代理,以保证可以快速拉取镜像

序言 本来不想写了&#xff0c;然后记笔记了&#xff0c;但是今天遇到这个问题了再一次&#xff0c;还是写一写吧&#xff0c;加深一下印象 因为Docker被墙了&#xff0c;所以拉取Docker镜像的时候&#xff0c;需要通过代理的方式 xxxxxxxxxx,此处省略十几个字&#xff0c;然…

解决启动Vue项目时遇到的 error:0308010C:digital envelope routines::unsupported 错误

问题描述 最近&#xff0c;在启动一个遗留前端(Vue)项目时&#xff0c;遇到了error:0308010C:digital envelope routines::unsupported错误。 95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope routines::unsupported Error: error:0308010C:d…

手势调控屏幕亮度:Python + OpenCV + Mediapipe 打造智能交互体验

前言 你有没有遇到过这样的情况? 夜晚玩电脑,屏幕亮得像个小太阳,晃得眼泪直流,想调暗一点,却在键盘上盲摸半天,结果误触关机键,直接黑屏;白天屏幕暗得像熄火的煤油灯,想调亮点,鼠标点来点去,调节条藏得像猫一样不见踪影。这年头,我们的设备都快能听懂人话了,怎…

系统分析师论文《论系统运维方法及其应用》

【摘要】 2022年4月&#xff0c;我公司承接了某大型国有企业"智能办公自动化系统"的运维优化项目&#xff0c;我担任系统分析师并负责运维体系建设工作。该系统涉及流程审批、数据报表、移动端接入等核心功能模块&#xff0c;支撑1300余名员工的日常办公。由于历史遗…