51单片机13(动态数码管实验)

news2024/9/24 1:25:41

一、数码管动态显示原理

1、动态显示是利用减少段选线,分开位选线,利用位选线不同时选择通断,改变段选数据来实现的。

(1)多位数码管依然可以进行静态的一个显示,那么在前面我们介绍静态数码管的时候,我们像A2到A4的这个板载是没有单独的一个静态数码管的,那我们就可以从动态数码管上面进行静态的一个显示,它是可以的,但是显示时候,要么就是只能显示一位数码管,要么就是多位同时进行显示相同的内容。

(2)当多位数码管应用某个系统的时候,我们的位选是可独立进行控制的,而段选是连在一起的,我们可以通过位选信号来控制哪一个数码管进行显示,而在同一时刻,那么位选选通的所有数码管上面显示的数字呢始终都是一样的。因为它们的段选是连接在一起的,这个是根据他们的一个硬件连接方式所影响。

(3)那么输入所有的数码管的这个段信号,都是相同的,所以它们显示的数字必定是一样的,那么这种显示方式叫做静态显示。

(4)而动态显示就是减少段选线,分开位选线,因为动态显示,它的这个段选,几个数码管的一个段选全部是B连在一起,A跟A连,B跟B连,以此类推,而利用位选线不同来选择不同数码管的一个通断,那么改变这个位段选数据来实现它的一个动态的一个显示。

二、74HC245和74HC138芯片介绍

1、74HC245芯片介绍

(1)

(2)首先我们先看一下74HC245芯片,通过前面的介绍,我们知道要使单片机能控制开发板上两位一体,这个两个四位一体的这个工艺数码管来进行显示,那么光靠单片机的IO口来驱动它是不行的,这里就需要增加一个外部的驱动芯片,那我们开发板上使用的是74HC245芯片,那么这个芯片可以增加我们的IO口的一个输出电流,那么我们通过这个芯片就可以驱动我们的八个数码管,那么,我们可以看到,在这个芯片的这个管脚当中,我们可以看一下这个74HC245芯片,它是一种三态输出,八路信号收发器,主要呢应用于一些大屏的显示以及其他的消费类电子产品中,作为一个驱动的这种芯片来使用,那么它的一个主要特性,大家可以看一下我们的这个芯片手册。

2、74HC138芯片简介

(1)

(2)

(3)

(4)

a、L:0;H:1

三、硬件设计

1、

2、这两张是针对我们两种类型的一个产品,首先第一张电路图在介绍静态数码管的显示实验提过,这是对应A2到A4的产品,它的一个电路图。

(1)这个电路图里面我们可以看到这个控制管脚都是一个固定,比如我们数码管的段选数据是由P0口来控制,不可以更改,然后呢,位选是通过3-8译码器来进行控制的,输入脚是由P22,P23和P24三个管教来控制,这也是固定不可更改,这是我们的一个A2到A4产品的一个电路图。

(2)要让我们对应的数码管进行点亮,首先我们要让对应的这个数码管的位选有效,因为我们采用的的是共阴的一个数码管,那么共阴的数码管它的阴级,要给它低电平,公共级要给它低电平,因此,我们让P22,P23,P24这三个脚控制它对应的这个脚位的输出有效。

(3)假设我这个P22,P23,P24高电平,那它的YLED8也就是Y7输出是有效的,那么根据这个网络标号LED8,它是连接在这里,所以这里有效就是这个管脚,这个数码管点亮,那么再给这个P0口赋值对应的断码数据,那就可以让这个数码管给显示对应的数据,这是我们的这个电路,那么动态显示的这个电路,前面其实我们已经分析了,它的公共端,段选是并联在一起,像A连A,B连B,C连C,以此类推,这是我们A2到A4的这个电路图,它是已经固定的管脚不可更改。

3、接下来,我们看一下我们A5到A7产品对应的一个数码管的一个动态的一个电路。

(1)那我们从这个电路其实跟前面的这个电路是完全一样的,只不过我们把这个控制脚全部引出来,前面我们说过,在我们的A5到A7的开发板,它都是各个模块都是独立的,要让它独立是不是它的控制脚都要引出来,由我们用户自己去定义连接在哪里.

(2)所以这里都引出来了,然后对应的这个连接3-8译码器,这里3-8译码器的这个地方连到这里,那3-8译码器的输入,也是通过我们的管脚引出来,由我们的单片机任意的IO口,可以进行一个控制,那这部分的电路是完全一样的。

(3)唯一不同的就是在这一块,在我们的A5到A7的板子,我们在这个输入端就是25的,这个输入端进行了下拉,这是为什么呢,当我们的假设连到了P0口,我对它不进行输出的时候,因为我们的P0口,它有上拉电阻默认,它会有高电平,那这样一来,它就会进行点亮,假设我对它进行不输出,由我们的这个电阻进行下拉,下拉就防止其他电平的一个干扰,默认就是00的话,那这样一来,我的这个数码管是不是就是不显示。断码就是没有,没有它就不会显示,所以这里不接这个控制管脚,我这里已经默认给它下拉了,它不会显示这个,然后呢,我们A2到A3,A2到A4这里呢就没有我们省去了这两个排阻,省去了这两个排阻。这是我们两种电路的一个差别。

四、软件设计

1、本章所要实现的功能是:控制动态数码管从左至右显示数字0-7。

2、

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

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

相关文章

VTK源码分析:Type System

作为一款开源跨平台的数据可视化代码库,VTK以其清晰的流水线工作方式、丰富的后处理算法、异种渲染/交互方式,而被众多CAx软件选作后处理实施方案。而异种渲染/交互方式的实现,主要是倚重于VTK的类型系统,因此,有必要对…

visio保存一部分图/emf图片打开很模糊/emf插入到word或ppt中很模糊

本文主要解决三个问题 visio保存一部分图 需求描述:在一个visio文件中画了很多个图,但我只想把其中一部分保存成某种图片格式,比如jpg emf png之类的,以便做后续的处理。 方法:超级容易。 选中希望保存的这部分图&…

免费【2024】springboot 爱看漫画小程序的设计与实现

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

分布式搜索之Elasticsearch入门

Elasticsearch 是什么 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。 Elastic Stack 又是什么呢&a…

使用docker swarm搭建ruoyi集群环境

整体目标 项目背景 领导给到了我一个客户,客户商业模式为成本制作,成本核算。其中涉及到大量涉密数据,且与我们现有产品几乎没有兼容点(我们是一套低代码的框架,客户有很多业务二开) 测试环境给到了我6台…

黑马微服务拆分2 (路由 登录 配置)

会利用微服务网关做请求路由 会利用微服务网关做登录身份校验 会利用Nacos实现统一配置管理 会利用Nacos实现配置热更新 今天粗略的完成了黑马笔记里边的代码实现 其实本身黑马商城的源码就写的逻辑有漏洞,加上对业务没有仔细分析 导致出现的bug调试了很久 这…

如何判断自己的数据格式适合使用json还是Excel的形式存入neo4j数据库

判断自己的数据格式适合使用JSON还是Excel的形式存入Neo4j数据库,主要取决于数据的复杂性、规模、结构、以及你或你的团队对这两种格式的熟悉程度。以下是一些关键因素,可以帮助你做出决策: 数据的复杂性: 如果你的数据包含大量的…

【Zynq UltraScale+ RFSoC】~~~

Zynq UltraScale RFSoC 系列为 5G 无线和射频级模拟应用引入了颠覆性的集成和架构突破,可直接支持整个 5G sub-6GHz 频段。这个创新系列现已开始批量生产。此设计演示展示了多通道(8T8R 或 16T16R)Zynq UltraScale RFSoC 评估工具工具工具&am…

ICMP 和 IGMP 的区别

ICMP 和 IGMP 协议 IP 层分支图 ICMP(Internet Control Message Protocol,因特网控制信息协议) 用于补充 IP 传输数据报的过程中,发送主机无法确定数据报是否到达目标主机。 ICMP 报文分为出错报告报文和查询报文两种。 若数据…

C语言 | Leetcode C语言题解之第263题丑数

题目&#xff1a; 题解&#xff1a; bool isUgly(int n) {if (n < 0) {return false;}int factors[] {2, 3, 5};for (int i 0; i < 3; i) {while (n % factors[i] 0) {n / factors[i];}}return n 1; }

python:本机摄像头目标检测实时推理(使用YOLOv8n模型)

本文将介绍如何使用本机摄像头进行目标检测实时推理的python代码。 文章目录 一、下载YOLO权重文件二、环境配置三、完整代码 一、下载YOLO权重文件 https://github.com/ultralytics/ultralytics?tabreadme-ov-file 拉到网页最下面&#xff0c;选择适合的模型&#xff0c;下…

Armv8/Armv9架构的学习大纲-学习方法-自学路线-付费学习路线

本文给大家列出了Arm架构的学习大纲、学习方法、自学路线、付费学习路线。有兴趣的可以关注&#xff0c;希望对您有帮助。 如果大家有需要的&#xff0c;欢迎关注我的CSDN课程&#xff1a;https://edu.csdn.net/lecturer/6964 ARM 64位架构介绍 ARM 64位架构介绍 ARM架构概况…

56、本地数据库迁移到阿里云

现有需求&#xff0c;本地数据库迁移到阿里云上。 库名xy102表 test01test02test01 test023条数据。1、登录阿里云界面创建免费试用ECS实列。 阿里云登录页 (aliyun.com)](https://account.aliyun.com/login/login.htm?oauth_callbackhttps%3A%2F%2Fusercenter2.aliyun.com%…

Spring -- 三层架构

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 今天你敲代码了吗 应用分层 介绍 在阿里的开发手册里,关于工程结构部分,定义的常见工程的应用分层结构 那么什么是应用分层呢? 应用分层是一种软件开发设计思想,他将应用程序分层N个层次.这N个层次分别负责各…

JVM:JavaAgent技术

文章目录 一、Java工具的介绍二、Java Agent技术1、介绍2、静态加载模式3、动态加载模式 三、搭建java agent静态加载模式环境1、创建maven项目2、编写类和premain方法3、编写MANIFEST.MF文件4、使用maven-assembly-plugin进行打包5、创建Spring Boot应用 一、Java工具的介绍 …

Vscode离线下载对应版本的ms-python.vsix

一、查看vscode的版本号和发行时间 vscode界面中Help-About查看版本号和发行时间&#xff0c;ms-python的发行时间需要和这个时间相近&#xff1a; 二、在github仓库中查看ms-python有什么版本&#xff0c;以及发行时间 github仓库路径 https://github.com/microsoft/vsco…

算法学习笔记(Hello算法)—— 时间复杂度

1.1 统计时间增长趋势 时间复杂度分析统计的不是算法运行时间&#xff0c;而是算法运行时间随着数据量变大时的增长趋势。 // 算法 A 的时间复杂度&#xff1a;常数阶 void algorithm_A(int n) {System.out.println(0); }// 算法 B 的时间复杂度&#xff1a;线性阶 void algo…

计算机网络入门 -- TCP详解

计算机网络入门 – TCP详解 1.TCP协议 1.1 报文格式 1.32位序号&#xff1a;该条TCP数据携带的起始序号。 2.32位确认序号&#xff1a;期望对方发送数据从那个序号开始发送。 3.4位首部长度&#xff1a;最大为0xF(15)&#xff0c;指的是TCP头部长度。 首部长度 4 位首部长…

huawei USG6001v1学习---防火墙高可靠性(双机热备)

1.什么是双机热备 如图&#xff1a;当左图的防火墙发生故障时&#xff0c;整个系统都会收到影响&#xff0c;而右图即使有防火墙发生故障&#xff0c;但是还有一台防火墙做备份&#xff0c;相对于只有一台防火墙&#xff0c;要可靠些。 由于防火墙上不仅需要同步配置信息&…

Jenkins+Maven+Gitlab+Tomcat自动化构建打包+部署

目录 环境准备 导入项目包 配置jenkins 构建项目 配置项目上线 修改项目代码测试 环境准备 本实操项目环境基于https://blog.csdn.net/Lzcsfg/article/details/140359830 首先在node01主机中操作&#xff0c;本次操作需要java8的版本&#xff0c;将之前安装的java17卸…