蓝桥杯_LED模块

devtools/2025/3/16 22:55:49/

一 前言

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

二 锁存器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

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


http://www.ppmy.cn/devtools/167664.html

相关文章

css梯形tab

效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Tab 示例</…

【go】函数类型的作用

Go 语言函数类型的巧妙应用 函数类型在 Go 语言中非常强大&#xff0c;允许将函数作为值进行传递和操作。下面详细介绍函数类型的各种妙用&#xff1a; 1. 回调函数 // 定义一个函数类型 type Callback func(int) int// 接受回调函数的函数 func processData(data []int, ca…

算力服务器主要是指什么?

随着科技的快速发展&#xff0c;人工智能也逐渐兴起&#xff0c;算力服务器也受到了各个企业的重视&#xff0c;本文就来为大家介绍一下算力服务器主要都是指什么吧&#xff01; 算力服务器对于人工智能领域来说&#xff0c;在深度学习模型的训练和推理过程中扮演着非常重要的角…

ngx_conf_read_token

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_read_token-CSDN博客 static ngx_int_t ngx_conf_read_token(ngx_conf_t *cf) {u_char *start, ch, *src, *dst;off_t file_size;size_t len;ssize_t n, size;ngx_uint_t found, need_space, last_space…

时序约束整理

输入输出约束 FPGA整体概念 (1) Tdin为从FPGA的IO口到FPGA内部寄存器输入端的延时; (2) Tclk为从FPGA的IO口到FPGA内部寄存器时钟端的延时; (3) Tus/Th为FPGA内部寄存器的建立时间和保持时间; (4) Tco为FPGA内部寄存器传输时间; (5) Tout为从FPGA寄存器输出…

Python 实现的采集诸葛灵签

Python 实现的采集诸葛灵签 项目介绍 这是一个基于 Python 开发的诸葛灵签数据采集和展示项目。通过爬虫技术获取诸葛神签的签文和解签内容&#xff0c;并提供数据存储和查询功能。 项目结构 zhuge/├── zhuge_scraper.py # 爬虫主程序├── zhuge_pages/ # 数据存储目录…

Linux练级宝典->多线程

目录 Linux线程概念 什么是线程 二级页表 线程的优点 线程的缺点 线程异常 线程用途 Linux进程和线程 线程共享资源 线程和进程的关系图 Linux线程控制 POSIX线程库 线程创建 线程等待 线程终止 线程分离 Linux线程概念 什么是线程 在一个程序里的一个执行流叫做…

什么是 slot-scope?怎么理解。

1. 什么是 slot-scope&#xff1f; slot-scope 是 Vue 2 中用于作用域插槽的语法。它的作用是让子组件可以把一些数据传递给父组件&#xff0c;父组件可以根据这些数据自定义渲染内容。 简单来说&#xff1a; 子组件&#xff1a;负责提供数据。 父组件&#xff1a;负责根据数…