51单片机学习篇-- --静态数码管的显示(74HC138译码器,74HC245锁存器,74HC573锁存器)

news/2024/10/18 22:26:29/

开篇先说一句废话····
本旺名字叫萨摩耶,,Please 叫我旺财,,,哈哈,招财进宝嘛!

数码管的介绍

啥是个数码管呢?先来看一些数码管的照片。
在这里插入图片描述

其实数码管就是通过点亮里面的发光二极管来发光的。接着来看看数码管的电路图。
图片来自百度根据上图,我们想要用数码管来显示内容,就是点亮对应的发光二极管,比如想要让数码管显示一个数字0,那么我们只需要点亮发光二极管ABCDEF即可。 而这八个二极管的连接方式有两种:共阴极接法和共阳极接法

共阴极接法:顾名思义就是把这几个二极管的阴极连接在一起,通常情况下,连接在一起接地(低电平)。所以我们想要点亮那个二极管只需要在对应二极管的阳极接上高电平即可点亮。

共阳极接法:同样,这就是把这几个二极管的阳极连接在一起,通常情况下,连接在一起之后一起接VCC(高电平)。所以我们要想点亮那个二极管就需要在对应二极管的阴极接上低电平即可。

每个人的板子不一样,所以共阴极还是共阳极请自行判断。比如我的就是共阴极接法。 这两个接法刚好相反,后面的高低电平应该是相反的。

接下来先看看在实际电路中数码管。
51单片机
乍一看,这点路对于像我这样的新手是有点复杂的,而且还出现一个之前没有见过的一个芯片 74HC245锁存器.还另外有一个芯片是74HC138译码器

有两个词,就是位选和段选
位选:其实就是控制哪一个数码管显示
段选:其实就是控制数码管显示的内容

74HC138译码器和74HC245锁存器

74HC138译码器也叫3-8译码器,简单来说就是三通道输入,八通道输出,通过对三通道的操作实现对八通道的控制。看原理图。
74HC138译码器在上面的原理图中,
左边的输入通道有六个,上面的ABC分别接P2.2口,P2.3口,P2.4口,下面的G1接VCC,G2A和G2B接GND.
右边的输出通道有八个,Y0–Y7
所以通过对左边ABC的输入来控制右边Y0–Y7的输出。

重要的一点,就是这些Y0–Y7上面都有一个杠,就是Y0非,为什么要专门说一下,就是因为加个非意思就是只对低电平有效,对于高电平是截至。说这些的目的就是在位选的时候想点亮哪个数码管就必须译码器对应的输出口是低电平。

接下来就有了真值表。
真值表而在我们单片机里面G1接VCC,G2A和G2B接GND,所以我们能用到的真值就是上表里的下面的八组数据

比如只想右边Y0输出低电平,其余输出高电平,则左边ABC必须输入低电平(见真值表数据第四行)

74HC245锁存器原理图如下
74HC245其实看这个电路图不能很好的表述锁存器的作用。应该这个电路图里1接高电平,19接低电平 锁存器是直接打开的,只需要把对应的数据从P0口输入就好。

这里有74HC573芯片的在单片机的原理图作为对锁存器的一种学习。

图片是从郭天祥的 新概念51单片机教程,入门,提高,开发。这本书的P58截图这本书作为对51单片机讲解非常好,我也下载了电子版作为一种辅助学习,有兴趣的可也以下载使用。
74HC573锁存器
根据上面的原理图,可以看出在这里,锁存器有两部分U1和U2,。而这两部分也很相似,

对于左边,1口都接地,下面的D0–D7都接P0口,11口U1接MCU的P2^6,U2接P2 ^7.
对于右边,U1的Q0–Q7接数码管里面的发光二极管(段选),U2的Q0–Q5接数码管(位选)。

首先先位选,控制哪个数码管来显示,接着段选,控制数码管显示的内容。要想先位选,必须打开U2锁存端,然后把位选信号送入端口,然后关闭U2。同理,接着段选,先必须打开U1锁存端,然后把段选信号送入端口,然后关闭U1。而打开和关闭锁存器的锁存端,因为两个元件的1端口都接地,则打开就是在11端口接高电平,关闭就是接低电平。

上代码方便理解。

#include "reg52.h"
sbit dula = P2^6;   //声明U1锁存器的锁存端  段选
sbit wela = P2^7;   //声明U2锁存器的锁存端  位选
void main(){wela = 1;       //打开U2锁存端P0 = 0xfe;      //送入位选信号wela = 0;       //关闭U2锁存端dula = 1;       //打开U2锁存端P0 = 0x3f;      //送入段选信号dula = 0;       //关闭U2锁存端while(1);
}

这三个芯片在百度搜也有简介,单片机芯片资料里面也有,有兴趣的可以去看看呢。

让最后面的数码管显示数字0

了解了上面的内容,接下来写一个小程序,就是让最后的数码管显示数字0.

首先找到原理图中最后一个数码管就是LED1,而LED1对应74HC138译码器里面右边得Y0口,所以位选时必须让LED1对应的Y0口输出低电平。而显示0,则让数码管里的abcdef发光二极管亮,g,dp不亮,所以让P0口输出0x3f即可。

#include "reg52.h"
//段选
#define DULA P0
//位选
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
void main(){LSA = 0;LSB = 0;LSC = 0;DULA = 0x3f;while(1);
}

仿真电路
在这里插入图片描述


http://www.ppmy.cn/news/519697.html

相关文章

单片机——C51实验含Proteus仿真(锁存器,流水灯,继电器,数码管静态显示,蜂鸣器)

文章仅为本人学习记录&#xff0c;如有引用部分会另加说明引用出处 代码部分 #include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned charsbit LED_LEP2^0; //LED锁存器控制端 sbit FMP2^1; //蜂鸣器控制端 sbit RLP2^2; /…

51单片机小白零基础教程——数码管的静态显示,以及数码管拓展程序(含74HC573锁存器的介绍)

数码管的静态显示 一、数码管的显示原理二、74HC573锁存器工作原理2.1 原理图分析2.2 真值表 三、74HC573锁存器在数码管中的应用四、实际静态数码管程序的设计 一、数码管的显示原理 数码管&#xff1a;是一种可以显示数字和其他信息的电子设备&#xff0c;可以看成是多个二极…

bios常见中英文对照

Time/System Time 时间/系统时间 Date/System Date 日期/系统日期 Level 2 Cache 二级缓存 System Memory 系统内存 Video Controller 视频控制器 Panel Type 液晶屏型号 Audio Controller 音频控制器 Modem Controller 调制解调器&#xff08;Modem) Primary Hard Drive 主硬盘…

【2023】Redis常用命令

目录 1.键操作命令1.1.判断键是否存在1.2.用keys命令查找键1.3.用scan命令查找键1.4.重命名键1.5.删除键1.5.关于键存活时间命令 2.HyperLogLog相关命令2.1.用pfadd添加键2.2.用pfcount统计基数值2.3.用pfmerge进行合并操作2.4.统计网站访问人数 3.排序相关命令3.1.用sort命令进…

Prompt Engineering 面面观

作者&#xff1a;紫气东来 项目地址&#xff1a;https://zhuanlan.zhihu.com/p/632369186 一、概述 提示工程&#xff08;Prompt Engineering&#xff09;&#xff0c;也称为 In-Context Prompting&#xff0c;是指在不更新模型权重的情况下如何与 LLM 交互以引导其行为以获得…

BIOS问答

BIOS问答 Q&#xff1a;什么是BIOS ? A&#xff1a;BIOS&#xff08;Basic Input&#xff0f;Output System&#xff09;即基本输入输出系统&#xff0c;通常是固化在只读存储器&#xff08;ROM&#xff09;中&#xff0c;所以又称为ROM&#xff0d;BIOS。它直接对计算机系统…

购机(转东转西)

---------------写给所有人总述 今天&#xff0c;计算机已经非常普及&#xff0c;但是我想仍然有不少人仍然没有拥有自己的计算机&#xff0c;最主要的原因可能有两个&#xff1a; 一是不知道拿它来做什么; 二是觉得使用它是非常复杂的&#xff01; …

图形世界分裂的两派 理清Direct3D和OpenGL的脉络

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01; 计算机三维图形是指将用数据描述的三维空间…