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

2023-05-16

开篇先说一句废话····
本旺名字叫萨摩耶,,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);
}

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • TCP长连接(Keepalive)

    TCP Keepalive的起源 TCP协议中有长连接和短连接之分 短连接环境下 xff0c 数据交互完毕后 xff0c 主动释放连接 xff1b 长连接的环境下 xff0c 进行一次数据交互后 xff0c 很长一段时间内无数据交互时 xf
  • 从输入一个网址到浏览器显示页面经历的全过程

    作为网络专栏的开篇导文 xff0c 本文概况介绍下经典案例 xff1a 从输入一个网址到浏览器显示页面的全过程 步骤概要介绍如下 xff1a 1 输入网址2 DNS解析获取域名对应的IP地址3 建立TCP连接4 web浏览器向web服务器发
  • 端口号是什么以及常见端口号

    端口号 具有网络功能的应用软件的标识号 注意 xff0c 端口号是不固定的 xff0c 即可以由用户手工可以分配 xff08 当然 xff0c 一般在软件编写时就已经定义 xff09 当然 xff0c 有很多应用软件有公认的默认的端口 xf
  • DNS域名解析过程

    目录 1 DNS2 域名系统DNS 的作用3 域名的层级关系4 DNS域名解析过程 递归查询迭代查询 5 高速缓存6 DNS相关面试问题 1 DNS DNS xff08 Domain Name System xff09 是域名系统的英文缩写
  • java常见面试题

    目录 基础语法 1 Java 语言的优点 xff1f 2 Java 如何实现平台无关 xff1f 3 JVM xff0c JDK 和 JRE 的区别 xff1f 4 Java 按值调用还是引用调用 xff1f 5 浅拷贝和深拷贝的区别 xf
  • 分段分页存储

    2020 4 27 在家的网课 xff0c 无聊 xff0c 记录一下分页 xff0c 分段 xff0c 段页式存储笔记 昨天刚学了分页存储 xff0c 听得我一脸懵逼 xff0c 好在课下花了很长时间才弄懂 1 分页存储管理 1 分页存储
  • 解压码

    BN00001 22kke BN00002 88cde BN00003 00ike BN00004 76cdb BN00005 09dbm BN00006 0mndc BN00007 cd78d BN00008 bdmf8 BN00009
  • 保险项目业务流程

    1 整个项目分为四分模块 xff1a 信息采集模块 信息验证 审批 生成合同 xff08 开单 xff09 信息采集模块 xff1a 包括购买保险产品 xff0c 客户个人信息 1 纸质文档给客户填写 xff0c 在回来录入系统 2 客户直
  • IDEA使用maven自定义archetype

    标题自定义archetype 在pom文件中添加archetype plugin span class token generics span class token punctuation lt span plugin span clas
  • 自定义Perperties文件内容读取

    新建properties文件放在resources目录下 properties文件内容 url span class token operator 61 span jdbc span class token operator span my
  • 如何使用Google TV设置Chromecast

    Justin Duino 贾斯汀 杜伊诺 Justin Duino Google changed up its streaming platform with the release of the Chromecast with Googl
  • 使用CSS中的Hover控制显示子元素或者兄弟元素

    lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt meta name 61 34 viewport
  • maven项目中的jdbc连接步骤

    在maven项目pom xml中到入驱动包 xff08 以下是驱动包代码 xff09 lt dependencies gt lt https mvnrepository com artifact mysql mysql connector
  • executeUpdate()与executeQuery()的使用

    增 删 改 用executeUpdate xff08 xff09 返回值为int型 xff0c 表示被影响的行数 例子 查用executeQuery 返回的是一个集合 next xff08 xff09 表示 指针先下一行 xff0c 还有f
  • Access denied for user ''@'localhost' (using password: YES)错误解决方法

    远程登录被拒绝 xff0c 要改一个表数据的属性让他可以远程登录 解决方法如下 xff0c 执行命令 xff1a mysql gt use mysql mysql gt select host user from user 查看结果是不是r
  • 基于yolov5和Tesseract-OCR车牌识别项目 Linux系统上搭建运行(大概结构)

    项目大概分为两部分 xff0c 首先使用yolov5进行目标检测并截图 xff1b 然后对图片一系列的处理后使用Tesseract OCR进行字符识别 xff08 本文为简易版框架结构 xff0c 如果看完感兴趣可以在文末跳转看细节操作 x
  • ubuntu20.04使用微软Azure Kinect DK 实现三维重建demo记录

    本文仅为在ubuntu20 04实现Azure Kinect DK 三维重建demo xff0c 此文记录实现过程仅供学习 xff0c 同时为大家避坑 xff0c 文中参考大量文章已列至末尾 1 ros安装 2 安装微软 DK的sdk 3
  • 常见一面问题

    1 智能指针 常用的c 43 43 库 Standard Template Library STL Algorithms 算法 Containers 容器 Functions 函数 Iterators 迭代器 Boost 同样是大量C 43
  • ROS datatype/md5sum错误

    I got this error today Problem ERROR 1576785283 032878520 Client rostopic 21515 1576784759002 wants topic timestamp to h
  • 快速安装Pytorch和Torchvision

    文章目录 1 Linux下激活自己的虚拟环境并查看Python版本2 查看需要安装的Pytorch和Torchvision版本3 直接命令行安装3 1 如果不报错的话3 2 ERROR Could not install packages

随机推荐