技术文档

单片机 74hc595 单片机驱动数码管设计详解(用74HC595实现)

小编 2025-07-08 技术文档 23 0

单片机驱动数码管设计详解(用74HC595实现)

简单设计了一个单片机驱动数码管的电路,该设计中只使用了4位数码管,占用了单片机3个IO口,如果驱动芯片全用满可以驱动8位数码管。仅供初学者分享学习。

1. 数码管显示设计

本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管的驱动芯片,共占用3个IO口。74HC595部分电路图如下:

与单片机相连接的三个脚分别为:HC_DAT,HC_RCK,HC_CLK。两片595采用级联方式,即U2的第9脚接到U3的第14引脚。

2. 74HC595简介

74HC595是8位的移位寄存器,串入并出,并具有锁存功能,被广泛的用于数码管、点阵的驱动电路中。其管脚介绍如下:

15:数据输出A-接数码管数据A段;

1:数据输出B-接数码管数据B段;

2:数据输出C-接数码管数据C段;

3:数据输出D-接数码管数据D段;

4:数据输出E-接数码管数据E段;

5:数据输出F-接数码管数据F段;

6:数据输出G-接数码管数据G段;

7:数据输出H-接数码管数据H段;

16:电源正脚-接电源正;

8:电源负脚-接电源负;

14:数据输入脚-接单片机管脚;

12:数据锁存时钟-接单片机管脚;

11:数据输入时钟-接单片机管脚;

13:使能输出脚-低电平有效,接低电平;

10:数据清零-不清零,接高电平;

9:数据级联输出-接下一片595的数据输入脚;

74HC595的真值表如下:

知道了74HC595的引脚定义和真值表,那该如何编程呢?下面重点来了,通过时序图来编程。看重点!!!

3. 74HC595时序图

我是重点!我是重点!我是重点!

通过时序可以看出:

SCK是上升沿的时候要把数据写入;

RCK是上升沿的时候数据才能锁存显示;

有数据操作的过程中RESET必须是高电平;

EN必须是低电平,595才能工作;

知道了以上4点就可以写程序了。其中3、4条是硬件连接上的事情(也可以用单片机的IO口来连接,这样的话可以随时控制74HC595的工作与否情况)。写程序主要靠1、2条。下面具体操作。

4. 程序实例

看下面一段程序:

第39行:HC595_CLK(0)的原型如下:

HC595_CLK(0)是让CLK处于低电平,即上升沿还没有来到;

HC595_DAT(1)就是要把写入的数据准备好;

temp<<1是将数据移位,即一个字节分八次写入;

HC595_CLK(1)是让CLK处于高电平,即上升沿来了;

以上几句解释一下就是:

在CLK时钟上升沿来临之前把要写入的数据准备好,等上升沿来了就把准备好的数据写入。 这就是对时序图的解释。

记住,这仅仅是把数据写入到了74HC595中,但是还没有让74HC595锁存,即没有让数据显示出来,如果让数据显示的话,必须要给RCK一个上升沿(即时序图中的第2条),操作如下:

单片机执行完这个程序后,数据才会在数码管上显示出来。

这一节内容的难度较大,主要是因为时序图这个东西是很模糊的一个内容,大家可以慢慢理解体会。

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8

单片机芯片74HC595的引脚图详解

14脚:DS(SER),串行数据输入引脚

13脚:OE,%20输出使能控制脚,它是低电才使能输出,所以接GND

12脚:RCK,存储寄存器时钟输入引脚。上升沿时,数据从移位寄存器转存带存储寄存器。

11脚:SCK,移位寄存器时钟引脚,上升沿时,移位寄存器中的bit%20数据整体后移,并接受新的bit(从SER输入)。

10脚:MR,低电平时,清空移位寄存器中已有的bit数据,一般不用,接%20高电平即可。

9%20脚%20:串行数据出口引脚。当移位寄存器中的数据多于8bit时,会把已有的bit“挤出去”,就是从这里出去的。用于595的级联。

Qx:并行输出引脚

使用参数VCC:2V~6V,5V最好

I%20Qn:+-%2035mA

注意第一个从SER送入的bit将会从Q7出去。

74HC595介绍一张图片和一段文字,哪种信息传递方式给人的第一视觉冲击是最大的?我想大家心中都有答案。

这也是我文章标题的来由。废话就到这里,下面我就用图片来分析595这个chip。

74HC595的最重要的功能就是:串行输入,并行输出。3态高速位移寄存器(好腻害的说)

595里面有2个8位寄存器:移位寄存器、存储寄存器

移位寄存器

在我看来,74HC595的移位寄存器工作方式就像shou%20%20qiang弹夹。但是子弹的发射(移位寄存器中的数据转储到存储寄存器),又像是【散x弹】(因为是并行输出嘛)

为什么说和弹夹很像呢?

1、串行输入,已进入的位数据依次下移(所以叫移位寄存器)%20|%20子弹也是一颗一颗上的,先上的子弹,被后上的慢慢往下压。

2、第一个输入的位,是并行输出的最后一个位%20|%20最先进入弹夹的子弹,最后射出。

74HC595的引脚图

14脚:DS,又叫SER 英文全称是:Serial data input ,顾名思义,就是串行数据输入口。

595的数据来源只有这一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个字节了。

假如,我们要将二进制数据0111 1111 输入到595的移位寄存器中,下面来上一张动态图,模拟了前2个位输入的情景。

这个图有7帧,做了很久,毕竟不是做美工的。可谓术业有专攻,闻道有先后啊,还是要虚心学习 :)

0111 1111 这个数据完全输入后是这样的

我们还要注意一个脚:11脚,(shift register clock input) 移位寄存器时钟引脚。上升沿有效。

首先我们要介绍这个引脚的作用。

我们知道51单片机的工作离不开晶振,他使CPU的工作步调稳定有序,就像跑步时喊1,2,1的那个人。

那么这里的位移寄存器时钟也是同样的道理,当一个新的位数据要进来时,已经进入的位数据就在移位寄存器时钟脉冲的控制下,整体后移,让出位置。

上升沿:电平从低到高的那个过程。移位寄存器时钟在上升沿这个过程中才起作用。

存储寄存器

到这里我们已经大致讲了怎么上子弹,也把子弹上齐了。下面来将怎么将子弹打出去,也就是怎么将移位寄存器的数据转移到存储寄存器

存储寄存器是直接和8个输出引脚相通的,将移位寄存器的数据转移到存储寄存器后,Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 就可以接受带到我们

开始输入的一个字节的数据。所谓存储寄存器,就是数据可以存在这个寄存器中,并不会随着一次输出就消失,只要595不断电,也没有新 的

数据从移位寄存器中过来,数据就一直不变且有效。新的数据过来后,存储寄存器中的数据就会被覆盖更新。

12脚: (storage register clock input ) 存储寄存器时钟

数据从位移寄存器转移到存储寄存器,也是需要时钟脉冲驱动的,这就是12脚的作用。它也是上升沿有效。

自此,我们已经讲解了一个595正常情况下的工作流程

相关问答

用51 单片机 + 74HC595 控制LED,程序怎样实现整体渐变?( 595 不接OE脚)?

如果你是静态显示,那么灰度是没戏了。如果是动态显示,那就先点亮一个LED,再将595的数据刷新,令所有的LED灭掉,然后亮第二个LED,再将595的数据刷新,令所有...

为什么用 74hc595 驱动的数码管没有闪烁感

http://www.crystalradio.cn/bbs/viewthread.php?tid=26564&extra=&page=2有讲多位数码管的,要注册才可以看数码管是一种...

新手如何入门 单片机 开发?

现在的电子设备几乎离不开单片机,在大学里有学了这么久的单片机。那如何利用单片机来设计一款产品呢?今天来和大家探讨一下。1制定需求首先要清楚你要做一个...

单片机 电路问题6B 595 芯片接入电源和 单片机 后立即发热严重?

首先检查一下芯片放置方向是否正确。其次检查一下电源正负极是否接错。芯片烧坏也有可能,焊接温度太高的话是容易烧坏的,器件焊接一般烙铁的温度控制在250度...

基于51 单片机 的有毒气体监测毕业论文 - 鱼肥肥_ 595 CA702 的...

作为一个信号输入。当然传感器可以有多个或者多种,看你的需求了,选择好具体的传感器后,看它输出的信号类型了,如果是模拟的,需要但单片机AD采样,如...

C语言肿么写 74 hl 595 程序-ZOL问答

74hl595是个芯片。你要往一个芯片上写程序,首先要对这个芯片各个引脚定义非常清楚。把芯片放到单片机烧录器上。用将烧录器用com连接到电脑上,在电...

盆友们有谁知道么!!哈尔滨品牌IO连接器报价单,IO连接器做...

[回答]单片机的输入IO口扩展可以通过以下方法来实现:1、通过并行扩展芯片,比如8255,8155等。2、通过锁存器或缓冲器来扩展,比如74LS273,74LS373,74LS244,7...

在线的大侠!求指教 自主研发的 单片机 应用设计方案, 单片机 应...

[回答]通过单片机IO控制扩展口,增加单片机IO口能控制的端口的数量。单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据...

idp2303电源芯片引脚功能-ZOL问答

只是个存储器,不是单片机的!想多写也写不出多少来,网上有!自己查一下吧。74hc595是具有8位移位寄存器和一个储存器即锁存器,具有三态输出功能,移位需要一个时...

是不是照相时,要把手机亮度搞到最高亮度-ZOL问答

手机拍摄时候这个和手机自身的亮度没有关系,只能是调节相机里的功能,如滤镜像素等。鬼影是很好消除的,只要在更新的时候先把所有的端口关闭一下就...

猜你喜欢