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&…

基于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-…

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;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

【数据结构初阶】复杂度

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

源码安装 AMD GPGPU 生态 ROCm 备忘

0, 前言 如果初步接触 AMD这套&#xff0c;可以先在ubuntu上使用apt工具安装&#xff0c;并针对特定感兴趣的模块从源码编译安装替换&#xff0c;并开展研究。对整体感兴趣时可以考虑从源码编译安装整个ROCm生态。 1, 预制二进制通过apt 安装 待补。。。 2, 从源码安装 sudo …

C:一些题目

1.分数求和 计算1/1-1/21/3-1/41/5 …… 1/99 - 1/100 的值 #include <stdio.h>int main(){double sum 0.0; // 使用 double 类型来存储结果&#xff0c;以处理可能的小数部分int sign 1; // 符号标志&#xff0c;初始为 1 表示正数for (int i 1; i < 100; i)…

Vue3 内置组件Teleport以及Susponse

1、Teleport 1.1 概念 将组件模版中的指定的dom挂载&#xff08;传送&#xff09;到指定的dom元素上&#xff0c;如挂载到body中&#xff0c;挂载到#app选择器上面。 1.2 应用场景 经典案例如&#xff1a;模态框。 <template><teleport to"body">&l…

处理AI模型中的“Type Mismatch”报错:数据类型转换技巧

处理AI模型中的“Type Mismatch”报错&#xff1a;数据类型转换技巧 &#x1f504; 处理AI模型中的“Type Mismatch”报错&#xff1a;数据类型转换技巧 &#x1f504;摘要引言正文内容1. 错误解析&#xff1a;什么是“Type Mismatch”&#xff1f;2. 数据类型转换技巧2.1 检查…

Redis之Zset

目录 一.介绍 二.命令 三.编码方式 四.应用场景 Redis的学习专栏&#xff1a;http://t.csdnimg.cn/a8cvV 一.介绍 ZSET&#xff08;有序集合&#xff09;是 Redis 提供的一种数据结构&#xff0c;它与普通集合&#xff08;SET&#xff09;类似&#xff0c;不同之处在于每个…

【带你了解软件系统架构的演变】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 1. 介绍 🍋‍🟩软件系统架构的演变是一个响应技术变革、业务需求…