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.rhkb.cn/news/384737.html

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

相关文章

基于 HTML+ECharts 实现监控平台数据可视化大屏(含源码)

构建监控平台数据可视化大屏:基于 HTML 和 ECharts 的实现 监控平台的数据可视化对于实时掌握系统状态、快速响应问题至关重要。通过直观的数据展示,运维团队可以迅速发现异常,优化资源配置。本文将详细介绍如何利用 HTML 和 ECharts 实现一个…

运维团队如何借助分布式部署提升监控效率与可靠性

随着企业IT基础设施的日益复杂和分布式架构的广泛应用,传统的监控解决方案已经难以满足现代运维团队的需求。在这样的背景下,分布式部署作为一种新型的监控架构,以其灵活性、可扩展性和高可用性,成为了运维团队提升监控效率与可靠…

如何系统的学习C++和自动驾驶算法

给大家分享一下我的学习C和自动驾驶算法视频,收藏订阅都很高。打开下面的链接,就可以看到所有的合集了,订阅一下,下次就能找到了。 【C面试100问】第七十四问:STL中既然有了vector为什么还需要array STL中既然有了vec…

中小学汉字听写大赛方案及执行流程

一、活动背景 汉字作为中国最宝贵的文化遗产,在五千年的历史长河里,汉字以其浩瀚广博抒写着华夏历史,以其灵秀展示着炎黄之精神。传承汉字文明是我们的使命和主责任。为提高我校七年级学生听写汉字的能力,规范汉字书写的能力&…

Spring循环依赖详解

一、什么是循环依赖 在Spring框架中,循环依赖是指两个或更多的Bean相互间直接或间接地依赖对方的情况。这种依赖关系可能导致Bean的实例化过程中出现问题,但Spring通过其内部的处理机制能够解决某些类型的循环依赖。 简单的说就是A依赖B,B依赖…

数据结构——堆(C语言版)

树 树的概念: 树(Tree)是一种抽象数据结构,它由节点(node)的集合组成,这些节点通过边相连,把 节点集合按照逻辑顺序抽象成图像,看起来就像一个倒挂着的树,也…

通过 C# 写入数据到Excel表格

Excel 是一款广泛应用于数据处理、分析和报告制作的电子表格软件。在商业、学术和日常生活中,Excel 的使用极为普遍。本文将详细介绍如何使用免费.NET库将数据写入到 Excel 中,包括文本、数值、数组、和DataTable数据的输入。 文章目录 C# 在Excel单元格…

尝试一文带你理解 --- 进程的控制

序言 在前两篇文章中都使用到了名为 fork 的函数,我们简单地介绍了他可以创建一个子进程。所以,在这篇文章中,除了进程的创建,还会介绍进程的退出,进程的等待,进程的替换等内容,帮助大家更好地去…

深度解析Linux-C——结构体(初始化,结构体数组,结构体大小,位段操作,联合体,内存对齐,C的预处理,宏和带参宏,条件编译)

目录 结构体的三种初始化 结构体的两种引用 结构体数组 结构体大小 结构体实现位段操作 联合体 内存对齐 C的预处理 带参宏 条件编译 结构体的三种初始化 定义如下结构体 struct student {char name[100]; int age; float height; } ; 1、定义变量时初始化 s…

Android APK混淆处理方案分析

这里写目录标题 一、前言1.1 相关工具二、Apk 分析2.1 apk 解压文件2.2 apk 签名信息2.3 apk AndroidManifest.xml2.4 apk code三、Apk 处理3.1 添加垃圾文件3.2 AndroidManifest.xml 处理3.3 dex 混淆处理3.4 zipalign对齐3.5 apk 重新签名3.6 apk 安装测试四、总结一、前言 提…

LoRaWAN网络中的chirpstack

目录 一、chirpstack介绍 二、网关与chirpstack之间的通信 三、NS与AS之间的通信 1、Protobuf 2、gRPC 一、chirpstack介绍 ChirpStack 是一个开源的 LoRaWAN 网络服务器,可用于 设置私有或公共 LoRaWAN 网络。ChirpStack 提供了一个 Web 界面 用于管理网关、设…

ELK安装(Elasticsearch+Logstash+Kibana+Filebeat)

一、简介 1.1、软件简介 ELK其实是Elasticsearch,Logstash 和 Kibana三个产品的首字母缩写,这三款都是开源产品。 1.1.1、Elasticsearch简介 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析…

【Linux】文件系统|CHS寻址|LBA逻辑块|文件索引|inode|Date block|inodeBitmap|blockBitmap

前言 一个进程通过文件描述符标识一个打开的文件,进程拿着文件描述符可以在内核中找到目标文件进行读写等操作。这是打开的文件,而没有被打开的文件存储在磁盘中,是如何管理的?操作系统在偌大的磁盘中如何找到想要的文件并打开的…

Redis从入门到超神-(十二)Redis监听Key的过期事件

前言 试想一个业务场景,订单超过30分钟未支付需要做自动关单处理,修改订单状态,库存回退等,你怎么实现?方案一:可以使用定时任务扫表,通过支付状态和下单时间来判断是否支付过期。但是这样的方案是非常消耗…

Modbus转BACnet/IP网关BA100-配硬件说明

在现代自动化系统中,不同设备和系统之间的通信至关重要,Modbus和BACnet/IP协议虽然各有优势,但它们之间的直接通信存在障碍。钡铼Modbus转BACnet/IP网关作为连接这两种协议的桥梁,允许不同系统之间的无缝数据交换。 一、Modbus转…

如何避免蓝屏?轻量部署,安全和业务连续性才能两不误

自19日起,因CrowdStrike软件更新的错误配置而导致的“微软全球蓝屏”,影响依然在持续。这场被称为“史上最大规模的IT故障”,由于所涉全球企业太多,专家估计“蓝屏”电脑全部恢复正常仍需时日。 尽管 CEO 乔治 库尔茨&#xff08…

C++自定义字典树结构

代码 #include <iostream> using namespace std;class TrieNode { public:char data;TrieNode* children[26];bool isTerminal;TrieNode(char ch){data ch;for (int i 0; i < 26; i){children[i] NULL;}isTerminal false;} }; class Trie { public:TrieNode* ro…

matlab仿真 模拟调制(下)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; clear all ts0.001; t0:ts:10-ts; fs1/ts; dffs/length(t); msgrandi([-3 3],100,1); msg1msg*ones(1,fs/10); msg2reshape(ms…

for循环计算1~100之间3的倍数的数字之和

你要计算1~100之间的数字先得打印出来1~100之间的数字然后在判断是不是3的倍数然后在打印出数字&#xff0c;代码如下 #include<stdio.h> int main() {int i 0;for (i 1; i < 100; i){if (i % 3 0){printf("%d ", i);}}return 0; }

Java漏洞复现(ctfshow279-297)strust 漏洞复现及原理解释

Java漏洞复现 Strust原理 JavaEE--------Struts2框架-CSDN博客 Web279 struts2漏洞 S2-001是当用户提交表单数据且验证失败时&#xff0c;服务器使用OGNL表达式解析用户先前提交的参数值&#xff0c;%{value}并重新填充相应的表单数据。 这里的%{value}简单理解就是和flask的…