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

数码管的介绍

啥是个数码管呢?先来看一些数码管的照片。

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

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

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

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

接下来先看看在实际电路中数码管。

乍一看,这点路对于像我这样的新手是有点复杂的,而且还出现一个之前没有见过的一个芯片 74HC245锁存器.还另外有一个芯片是74HC138译码器

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

74HC138译码器和74HC245锁存器

74HC138译码器也叫3-8译码器,简单来说就是三通道输入,八通道输出,通过对三通道的操作实现对八通道的控制。看原理图。
在上面的原理图中,
左边的输入通道有六个,上面的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锁存器原理图如下
其实看这个电路图不能很好的表述锁存器的作用。应该这个电路图里1接高电平,19接低电平 锁存器是直接打开的,只需要把对应的数据从P0口输入就好。

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

图片是从郭天祥的 新概念51单片机教程,入门,提高,开发。这本书的P58截图这本书作为对51单片机讲解非常好,我也下载了电子版作为一种辅助学习,有兴趣的可也以下载使用。

根据上面的原理图,可以看出在这里,锁存器有两部分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);
}

仿真电路

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

  1. 51单片机学习笔记之数码管1显示数字0以及使用蜂鸣器

    首先我们还是先定义数码管的引脚,打开原理图,我们将数码管的位选引脚初始化一下. 然后我们打开数码管1的总开关,关掉其余的三个数码管,不懂什么意思看我上一篇博客,下面是链接:https://blog.c ...

  2. 51单片机学习笔记之数码管工作原理

    昨天我们学习了按键的基本操作,今天我们来学习一下数码管的工作原理,如果觉得我博客更新的太快,没有关系,大家可以回顾我往期的博客,利用课下时间到社团补习,如果我博客哪里有写的不好的地方,大家也不用想太多 ...

  3. 51单片机学习笔记-2数码管显示

    2 数码管显示 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github仓 ...

  4. 51单片机外设篇:数码管

    数码管简介 LED数码管:数码管是一种简单.廉价的显示器,是由多个发光二极管封装在一起组成"8"字型的器件.比如红绿灯. 单个数码管: 多个数码管: 这些引脚由对应的寄存器控制着, ...

  5. 2440 8字数码管 显示0到10 c语言,51单片机对8位数码管依次显示0-7的设计

    共阳极数组0~9:display[]={0xC0,0xF9,0xA4,0xB0,0x91,0xA2,0x82,0xF8,0x80,0x90} 共阳极数组A~F:display[]={0x88,0x83 ...

  6. 51单片机学习篇-- --红外通信(PPM脉时)笔记

    开篇先说一句废话···· 本旺名字叫萨摩耶,,Please 叫我旺财,,,哈哈,招财进宝嘛! 开篇 从学完帮网友写完<倒计时数字钟–矩阵按键可调>然后在CSDN上总结完之后,学习了剩下的模 ...

  7. 51单片机学习篇-- --超声波测距(HC--SR04)笔记

    开篇先说一句废话···· 本旺名字叫萨摩耶,,Please 叫我旺财,,,哈哈,招财进宝嘛! 开篇 本单片机购买的时候带的超声波模块是HC-SR04,根据好多材料都说用这个的原因是便宜,,,不过没关系 ...

  8. 51单片机学习篇-- --基于51单片机的串口通信协议

    开篇先说一句废话···· 本旺名字叫萨摩耶,,Please 叫我旺财,,,哈哈,招财进宝嘛! 开篇 计算机按照下行数据通信协议,串口发送数据,地址为自己的学号(十六进制),单片机收到后(收到的是数据, ...

  9. 学习笔记之51单片机键盘篇(非编码键盘与编码键盘、非编码键盘的扫描方式、独立键盘、矩阵键盘)

    这篇博文主要记录51单片机键盘篇(非编码键盘与编码键盘.非编码键盘的扫描方式.独立键盘.矩阵键盘.键盘消抖等)包含原理图.代码等 (一)基础补充 1.键盘的任务 2.键盘的识别 3.如何消除按键的抖动 ...

  10. 51单片机学习 数码管 倒计时

    51单片机学习 数码管 倒计时 简介 1.硬件部分 普中单片机 开发板 (138译码器控制)数码管 2.软件部分 keil软件 硬件部分 138译码器 简介 74LS138 为3 线-8线译码器,共有 ...

最新文章

  1. [New Portal]Windows Azure Virtual Machine (8) Virtual Machine高可用(上)
  2. 你认为手机会取代个人电脑吗?
  3. 如何阻止ajax自动重定向_重发和重定向有什么区别与重定向应用
  4. RxJava系列6(从微观角度解读RxJava源码)
  5. 计算机显示有可移动存储,winxp系统中我的电脑出现很多个可移动磁盘怎么办
  6. 微信小程序利用缓存提高接口请求性能
  7. 古登堡是垂直搜索引擎吗_网站排名,提高内容输出频率,就一定要对排名好吗?-SEO...
  8. how2java_HOW TO:构造Java类的原型
  9. 信息学奥赛一本通 2028:【例4.14】百钱买百鸡
  10. android word设计模式,word07设计模式
  11. 用计算机算非,在线计算器上的与、或、非、异或等逻辑运算键如何使用?
  12. python单词的含义-Python常用英文单词有哪些?
  13. RMDB与hadoop的实时整合
  14. 考研必备数学公式大全(数学二)(线性代数篇)
  15. ppt抽奖vba代码
  16. 比例电磁阀的工作原理
  17. emqx配置ssl/tsl实现双向认证
  18. 获取QQ音乐排行榜数据
  19. VMware16安装Ubuntu22.04(并解决vmtools问题)
  20. 【专利】如何画专利流程图(逻辑图)

热门文章

  1. Android系统权限和root权限
  2. K/3 WISE新增自定核算项目
  3. java swing GUI 俄罗斯方块小游戏,适合初级小白
  4. js鼠标经过与离开事件
  5. Intent的设想与天马行空
  6. QtWebApp的使用【在Qt中搭建HTTP服务器】(一)
  7. 32768HZ晶振不起振
  8. win7系统服务优化——服务列表禁止项
  9. C++遇到Id returned 1 exit status解决办法
  10. 探究“补阶乘大法的本质“——糖水不等式