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

一、数码管动态显示原理

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.mzph.cn/diannao/48311.shtml

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

相关文章

Nginx(详解以及如何使用)

目录 1. 什么是Nginx? 2. 为什么使用nginx? 3. 安装nginx 3.1 安装nginx的依赖插件 3.2 下载nginx 3.3 创建一个目录作为nginx的安装路径 3.4 解压 3.5 进入解压后的目录 3.6 指定nginx的安装路径 3.7 编译和安装nginx 3.8 启动nginx 3.9 访问nginx 4. ngin…

【python】Python中闭包的是什么,闭包原理分析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

MongoDB教程(十四):MongoDB查询分析

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、查询分…

队列及其应用(用栈实现队列 力扣225)

队列概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头 队列的代码…

09.甜甜圈旋转加载动画 计数器

甜甜圈旋转加载动画 创建一个甜甜圈形状的旋转加载动画,可用于指示内容的加载。 为整个元素使用半透明的 border。排除一侧,它将作为甜甜圈的加载指示器。定义并使用合适的动画,使用 transform: rotate() 旋转元素。<body><div class="donut"></div&…

Python print() 格式化输出

Python print{} 格式化输出 1. print()2. 浮点数 (float)References 1. print() 传递给函数的值称为参数。 引号没有打印在屏幕上&#xff0c;它们只是表示字符串的起止&#xff0c;不是字符串的一部分。可以用这个函数在屏幕上打印出空行&#xff0c;只要调用 print() 就可以…

基于JAVA+SpringBoot+Vue+uniapp的微信小程序点餐平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 点餐小程序主要为小个…

java——类变量和类方法;代码块;内部类

一、类变量和类方法 1.1、类变量 1.1.1、类变量内存布局(静态变量放在哪里&#xff1f;) 1、JVM7及以前的近代变量放在方法区中&#xff1b;JVM8以后的静态变量放在堆中 2、不管static变量在哪里&#xff0c;共识&#xff1a; 1&#xff09;Static变量是同一个类所有对象共…

昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别

昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别 文章目录 昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别BERT模型对话情绪识别BERT模型的文本情绪分类任务数据集数据下载数据加载与预处理 模型构建模型验证模型推理 总结打卡 BERT模型 BERT&…

【Espressif-ESP32S3】【VScode】安装【ESP-IDF】插件及相关工具链

一、ESP-IDF简介 二、VScode安装ESP-IDF插件 三、安装ESP-IDF、ESP-IDF-Tools以及相关工具链 四、测试例程&编译烧录 五、IDF常用指令 资料下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/15Q2rl2jpIaKfj5rATkYE6g?pwdGLNG 提取码&#xff1a;GLNG 一、ESP-…

opencv—常用函数学习_“干货“_7

目录 十九、模板匹配 从图像中提取矩形区域的子像素精度补偿 (getRectSubPix) 在图像中搜索和匹配模板 (matchTemplate) 比较两个形状&#xff08;轮廓&#xff09;的相似度 (matchShapes) 解释 二十、图像矩 计算图像或轮廓的矩 (moments) 计算图像或轮廓的Hu不变矩 (H…

IntelliJ IDEA 2024.1 最新变化 附问卷调查 AI

IntelliJ IDEA 2024.1 最新变化 问卷调查项目在线AI IntelliJ IDEA 2024.1 最新变化关键亮点全行代码补全 Ultimate对 Java 22 功能的支持新终端 Beta编辑器中的粘性行 AI AssistantAI Assistant 改进 UltimateAI Assistant 中针对 Java 和 Kotlin 的改进代码高亮显示 Ultimate…

Android14之调试广播实例(二百二十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

shell脚本检查OGG同步进程状态

服务器环境中在root用户下部署了ogg同步进程&#xff0c;在oracle用户下也部署了同步进程。在不用脚本检查的情况下&#xff0c;进程需要在root用户和oracle用户下来回切换&#xff0c;比较麻烦&#xff0c;所以考虑用脚本实现&#xff0c;在root用户下一键检查root用户和oracl…

Grid Search:解锁模型优化新境界

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

一键复制页面

<script src"./html2canvas.js"></script> <div id"target"><ol style"margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class"list-paddingleft-1"><li><p>递归遍历 DOM 树:</p&…

【Android性能优化】Android CPU占用率检测原理和优化方向

【Android性能优化】Android CPU占用率检测原理和优化方向 CPU相关知识 CPU占用的基本计算公式 (1 - 空闲态运行时间/总运行时间) * 100% Hz、Tick、Jiffies&#xff1a; Hz&#xff1a;Linux核心每隔固定周期会发出timer interrupt (IRQ 0)&#xff0c;HZ是用来定义每一秒有…

python 66 个冷知识 0720

66个有趣的Python冷知识 一行反转列表 使用切片一行反转列表&#xff1a;reversed_list my_list[::-1] 统计文件单词数量 使用 collections.Counter 统计文件中每个单词的数量&#xff1a;from collections import Counter; with open(file.txt) as f: word_count Counter(f…

【数据结构初阶】复杂度

目录 一、时间复杂度 1、时间复杂度的概念 2、大O的渐进表示法 3、常见的时间复杂度计算举例 二、空间复杂度 1、空间复杂度的概念 2、常见的空间复杂度计算举例 三、常见复杂度对比 正文开始—— 前言 一个算法&#xff0c;并非越简洁越好&#xff0c;那该如何衡量一个算法…

FLINK-checkpoint失败原因及处理方式

在 Flink 或其他分布式数据处理系统中&#xff0c;Checkpoint 失败可能由多种原因引起。以下是一些常见的原因&#xff1a; 资源不足&#xff1a; 如果 TaskManager 的内存或磁盘空间不足&#xff0c;可能无法完成状态的快照&#xff0c;导致 Checkpoint 失败。 网络问题&am…