day06 51单片机-点阵led

1 点阵LED

1.1 需求描述

本案例介绍如何使用点阵LED显示一排由左上到右下的斜线。

1.2 硬件设计

1.2.1 硬件原理图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点阵内部的原理图:

在这里插入图片描述

点阵LED的原理也非常简单,就是LED点灯。例如,我们想要让13列(阳极端)9行(阴极端)的LED点亮,需要13为高电平,9为低电平。注意对于我们的硬件原理图,阳极端通过74HC595芯片驱动,阴极端接P00-P07。

如果想让点阵LED显示我们想要的图案,要采用“逐行扫描”的思路:通过74HC595芯片,依次激活每一行的阳极,再通过P0端口选择该行想点亮的LED即可。

1.2.2 点阵LED工作流程

在这里插入图片描述

1.2.3 74HC595工作原理

74HC595我们总共接入了以下3个引脚:

引脚作用
SER(网络名称P36)数据输入端(IO线)
RCK(网络名称P35)输出存储器锁存时钟端(数据寄存器时钟)
SCK(网络名称P34)数据输入时钟端(位移寄存器时钟)

在这里插入图片描述

1.3 软件设计

1)Int_MatrixLED.h

在Int中新建Int_MatrixLED.h,写入以下内容:

#ifndef __INT_MATRIXLED_H__
#define __INT_MATRIXLED_H__
#include <STC89C5xRC.H>
#include "Util.h"/**
* @brief 点阵LED初始化函数
*
*/
void Int_MatrixLED_Init();/**
* @brief 设置点阵现实图像的函数
*
* @param pic 要显示的图像,数组长度必须为8
*/
void Int_MatrixLED_SetPic(u8 *pic);/**
* @brief 需要不断调用下面的函数刷新点阵LED
*
*/
void Int_MatrixLED_Refresh();#endif // __LED_MATRIX_H__

2)Int_MatrixLED.c

在Int中新建Int_MatrixLED.c,写入以下内容:

#include "Int_MatrixLED.h"#define SER P36
#define SCK P34
#define RCK P35// 设置缓存,每个字节代表点阵的一行,单行中每个bit,1为亮,0为灭
static u8 s_led_buff[8];void Int_MatrixLED_Init()
{u8 i;for (i = 0; i < 8

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

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

相关文章

【Git】git revert 命令(撤销 commit 改动)

基本语法 Git revert命令用于通过创建一个新的commit来撤销一个或多个之前的commit。这样做的好处是保持了项目历史的完整性&#xff0c;并且可以将撤销的改动应用到其他分支。 撤销单个commit&#xff1a;如果你只想撤销一个commit&#xff0c;你可以使用以下命令 git revert…

Oracle进阶(3)——索引、权限、角色管理、分区表

一、索引 在 Oracle 数据库中&#xff0c;索引是一种数据结构&#xff0c;用于加快数据库表的数据检索速度。索引存储着表中一个或多个列的值以及对应的行的物理地址或指针。通过使用索引&#xff0c;数据库可以更快地定位到符合特定条件的行&#xff0c;而不必扫描整个表。索引…

logback添加日志行号

logback打印行号 全量配置如下 在包名后面添加\(%F:%L\\)这样打印的日志是带类名加行号&#xff0c;支持 ide 点击跳转(xxx.main.java:18)精简配置如下 打印全量类占用显示位置去掉主类名直接打印行号%clr(%4.4L{4})这样打印的日志只是加行号解释&#xff1a;%4&#xff1a;这…

【源码】Spring validation参数校验之分组序列校验@GroupSequenceProvider、@GroupSequence的实现原理

Spring validation参数校验系列 1、Spring validation参数校验基本使用 2、Spring validation参数校验之自定义校验规则及编程式校验等进阶篇 3、Spring validation参数校验原理解析之Controller控制器参数校验中RequestBody参数校验实现原理 4、Spring validation参数校验…

苍穹外卖day8(2)用户下单、微信支付

文章目录 前言一、用户下单1. 业务流程2. 接口设计3. 数据库设计3.1 订单表orders3.2 订单明细表 order_detail 4. 代码实现 二、订单支付 前言 用户下单 因为订单信息中包含了其他业务中的数据&#xff0c;在逻辑处理中涉及了多个其他业务&#xff0c;比如要判断地址簿、购物…

描述一下PHP与HTML和CSS的关系

描述一下PHP与HTML和CSS的关系 PHP、HTML和CSS在Web开发中各自扮演着不同的角色&#xff0c;它们之间的关系密切而互补&#xff0c;共同构建了一个完整且富有动态性的Web应用程序。下面我将详细阐述PHP与HTML和CSS之间的关系。 首先&#xff0c;HTML&#xff08;HyperText Ma…

面试复习基础题目-c#相关

面试复习基础题目 c#相关问题 delegate和event的区别是什么&#xff1f; Delegate用来声明委托类型&#xff0c;event用来声明委托对象&#xff1b; 事件是委托的一种应用&#xff0c;事件是带有event关键词的委托对象&#xff0c;对委托对象进行了封装&#xff0c;本质就是委…

聚类与分类的区别

聚类和分类是机器学习中的两个基本概念&#xff0c;两者的主要区别在于用于分类的数据已经预先标记好类别&#xff0c;而用于聚类的数据则没有预先标记的类别。以下是详细介绍&#xff1a; 目的不同。聚类的目的是发现数据中的自然分组&#xff0c;将相似或相关的对象组织在一…

基于SSM+Vue的护工预约服务小程序和后台管理系统

1、系统演示视频&#xff08;演示视频&#xff09; 2、需要请联系

虚拟化+Docker基本管理

一、虚拟化简介 1、云端 华为云、谷歌云、腾讯云、阿里云、亚马逊、百度云、移动云、天翼云、西部数码云等 1.国内云 华为云、阿里云、腾讯云、天翼云(私有云) 2.国外云 谷歌云、亚马逊 2、云计算的服务模式是分层的 IaaS&#xff1a;Infrastructure&#xff08;基础设…

计算机网络【CN】Ch3 数据链路层

目录 数据链路层的功能 【※】VLAN 三种划分VLAN的方法&#xff1a; 【※】MAC帧格式 【※】三种可靠传输机制 ​编辑 【※】介质访问控制 信道划分介质访问控制 随机介质访问控制 CSMA CSMA/CD【有线】 CSMA/CA【无线】 信道利用率技巧 循环冗余校验CRC 以太网[802.3] 以太网…

项目实战 | 责任链模式 (下)

案例二&#xff1a;工作流&#xff0c;费用报销审核流程 同事小贾最近刚出差回来&#xff0c;她迫不及待的就提交了费用报销的流程。根据金额不同&#xff0c;分为以下几种审核流程。报销金额低于1000元&#xff0c;三级部门管理者审批即可&#xff0c;1000到5000元除了三级部…

【k8s】(五)kubernetes1.29.4离线部署之-初始化第一个控制平面

备注&#xff1a; 完整版请参阅 【k8s】Kubernetes 1.29.4离线安装部署&#xff08;总&#xff09; 执行命令初始化第一个控制平面节点 在上节的安装过程中&#xff0c;实际以及包含了初始化第一个控制平面的脚本&#xff0c;由于其重要性&#xff0c;这里单独提出来详细说明。…

RK平台HDMI和喇叭同时出声

多屏时&#xff0c;未接入hdmi默认speaker音频输出&#xff0c;检测到接入hdmi时切换到hdmi音频输出。此时有个问题&#xff0c;如果接入hdmi的屏没有speaker会就导致没有声音输出了&#xff0c;所以需要默认hdmi和speaker同时出声。 /frameworks/base/services/core/java/com…

智己汽车数据驱动中心PMO高级经理张晶女士受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 智己汽车科技有限公司数据驱动中心PMO高级经理张晶女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“规模化敏捷落地实践”。大会将于5月25-26日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 2…

【Java学习笔记】9.5 Java中的Lambda表达式

Lambda表达式是从Java8版本开始增加的语法。Lambda表达式有利于实现函数式编程&#xff0c;简化开发。 9.5.1 Lambda表达式入门 Lambda表达式由三部分组成&#xff1a;参数列表、箭头(->),及一个表达式或语句块。其完整的语法格式如下&#xff1a; (Type 1 param1 , Type…

hcip实验 — 路由策略实验

目录 实验拓扑 实验要求 实验思路 实验步骤 1.配置接口及环回ip 2.配置ospf协议及rip协议 3.在R2上进行路由引入 4.在R2上进行路由过滤 5.在R4上进行路由过滤&#xff08;地址前缀列表&#xff09; 6.在R2 RIP进程上配置静默接口使RIP报文无法进入OSPF区域 实验拓扑 …

Linux默认shell简介、查看和更改

在Linux环境中&#xff0c;用户的“默认shell”是指他们登录系统后自动启动的命令行解释器或交互式shell。这个shell用于处理用户在命令行界面输入的命令和操作。每个用户都拥有一个特定的默认shell。 Linux系统中常见的默认shell包括以下几种&#xff1a; Bash&#xff08;B…

HCF-Net:用于红外小目标检测的分层上下文融合网络

摘要 红外小目标检测是一项重要的计算机视觉任务&#xff0c;涉及在红外图像中识别和定位微小物体&#xff0c;这些物体通常仅包含几个像素。然而&#xff0c;由于物体尺寸极小以及红外图像中通常复杂的背景&#xff0c;这项任务面临困难。在本文中&#xff0c;我们提出了一种…

[leetcode] 264. 丑数 II

给你一个整数 n &#xff0c;请你找出并返回第 n 个 丑数 。 丑数 就是质因子只包含 2、3 和 5 的正整数。 示例 1&#xff1a; 输入&#xff1a;n 10 输出&#xff1a;12 解释&#xff1a;[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2&#xff1…