0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于74HC595单片机驱动数码管设计

ss 作者:工程师谭军 2018-07-31 15:00 次阅读

74HC595是我们在电路中比较常见的一种CMOS器件,本文只要探讨的是基于74HC595的单片机驱动数码管设计,这个电路说复杂也复杂,说简单那也简单,我们首先来了解一下74HC595的作用。

74HC595

74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

74HC595是一个8位串行输入、平行输出的位移缓存器:平行输出为三态输出。在SCK的上升沿,单行数据由SDL输入到内部的8位位移缓存器,并由Q7‘输出,而平行输出则是在LCK的上升沿将在8位位移缓存器的数据存人到8位平行输出缓存器。当串行数据输人端OE的控制信号为低使能时,平行输出端的输出值等于平行输出缓存器所存储的值。而当OE为高电位,也就是输出关闭时,平行输出端会维持在高阻抗状态。

基于74HC595单片机驱动数码管设计

74HC595引脚图

基于74HC595单片机驱动数码管设计

74HC595管脚功能

基于74HC595单片机驱动数码管设计

上图是74HC595芯片逻辑图,输出使能端13脚我们一直让它使能,复位端10脚我们一直让它无效,这两个引脚在硬件设计时为了方便,就直接给它们连到相应的电平上了。程序中我们只需要关注数据输入引脚14脚、移位脉冲引脚11脚和锁存脉冲引脚12脚。

图中的SRA——SRH是移位寄存器(ShiftRegister),数据从它们的D引脚输入,从Q引脚输出,每次移位脉冲引脚(ShiftClock)提供一个脉冲,D引脚的数据就会输出并保持到Q引脚,因为这里的移位脉冲引脚(ShiftClock)是连到每一个SR上的,所以自然每次给一个移位脉冲的时候,所有的数据都向后移动了一位。

这里我们注意到,SRA的D脚连接的是串行数据输入,也就是我们的数据引脚。所以每次给脉冲移位之前,我们需要准备好该引脚的值,因为每次给一个脉冲,它的数据就会移入后方。

很直观的看到,我们给几个脉冲,数据引脚就会有几次被移入移位寄存器,并且这些值会保持在各个SR的Q脚。所以假设我们要将一个字节移入移位寄存器,因为1个字节是8位的,所以我们需要给出8个脉冲,那么SRA——SRH的Q脚就保持了这8位值,再看看这8位值,它是先在数据引脚输出的值就会走得越远,所以如果我们先输出数据高位的话,最高位在8个脉冲后就会跑到SRH的Q脚。这就像我们排队一样,一个寄存器里面有8个位置,每次给一个脉冲就好比一次呼叫:“大家可以往前移一位了!”就这样,队伍不断得往前移。

然后我们看到LRA——LRH,它们是锁存寄存器(LatchRegister),每次锁存脉冲引脚(LatchClock)给一个脉冲,Q脚就会输出并保持D脚的值。LR和SR其实是差不多的功能,只是SR多了个复位脚。

我们可以把LR看成是照相机,锁存脉冲引脚就相当于是照相机的快门,我们给一个锁存脉冲,那么数据就被锁存在了对应的Q脚。而当我们没有操作锁存引脚的时候,照相机只是摆在那里,不管队伍怎么前进了,照相机的输出始终是不变的。只有某次按下了快门,所有的照相机的照片就都更新了一次。

大概有人会问,图中的三角形加小圆圈是什么呢?那是非门,说白了就是如果它前面是0,后面就是1;前面是1,后面就是0。还有就是贴在方形锁存器上的那些小圆圈,也是起到反向的左右。

基于74HC595单片机驱动数码管设计

数码管显示系统需要占用过多的单片机口线,但是可以保证正常的亮度。为了解决占用口线较多而浪费硬件资源等问题,研究人员开发了一系列诸如74HC595的数码管驱动芯片,该类芯片可以实现串行转并行的工作方式,驱动数码管实现静态和动态显示。但是,这样一种工作方式暴露出控制系统实时性不足等问题,在某些对系统响应时间要求比较高的场合的应用产生了一定的限制。为了解决上述几个弊端,本文提出了一种基于单片机的数码管动态显示器的设计方案,以IAP15F2K61S2系列单片机做控制核心,并采用全新的软硬件电路实现数码管的动态显示。

数码管外观设计

本显示器采用六个共阳极的数码管,按照通常的做法,六个数码管水平排列在产品的最上方,如图1所示,这样的设计可以方便的将控制系统的控制状态显示出来。下方采用的是40管脚DIP封装的单片机,所有并行口线都安排了插针,可以方便的实现系统的外部扩展,增强本显示器的可移植性。

数码管外观图

基于74HC595单片机驱动数码管设计

控制电路原理图

本产品采用六个共阳极数码管制作了本显示器。设计共阳极数码管显示代码表如下:

基于74HC595单片机驱动数码管设计

为了充分发挥C语言的模块化编程优势,将动态显示子函数封装为一个通用的模块,程序如下:

基于74HC595单片机驱动数码管设计

总结

74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。 74HC595是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。用74HC595做数码管静态显示电路,一片595接一个数码管,数码管用共阳,共阴的都行。共阳的数码管,公共 端接到电源上,共阴的,公共端就接到地上,不用采用动态扫描的方式,就是静态显示电路了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620823
  • 74HC595
    +关注

    关注

    7

    文章

    189

    浏览量

    30509
收藏 人收藏

    评论

    相关推荐

    74HC595驱动数码管

    74HC595驱动一个共阳极数码管,一直显示着8这个数字不会变怎么回事?
    发表于 05-11 13:37

    74HC595芯片的作用是什么

    74HC595是在单片机系统中常用的芯片之一他的作用就是把串行的信号转为并行的信号,常用在各种数码管以及点阵屏的驱动芯片, 使用74HC595
    发表于 07-22 07:05

    74HC595驱动LED点阵或数码管的正确用法是什么?

    74HC595正确的工作原理是什么?74HC595驱动LED点阵或数码管的正确用法是什么?
    发表于 07-23 12:34

    74HC595是如何去驱动数码管

    74HC595是什么?74HC595有何作用?74HC595的管脚有哪些功能?74HC595是如何去驱动
    发表于 08-02 09:54

    单片机控制74hc595驱动4个单数码管

    单片机控制74hc595驱动4个单数码管静态显示演示效果:*材料 AT89C52 、74HC595采用Proteus仿真实例程序#inclu
    发表于 12-02 06:32

    74HC595驱动2位数码管的方法

    74HC595驱动2位数码管驱动芯片:74HC595,74LS595单片机:AT89C52,或
    发表于 12-07 07:48

    如何实现74HC595驱动数码管显示

    ​4、数码管显示数码管驱动电路采用2片74HC595芯片进行IO扩展,仅仅只需3Pin即可驱动需要16位引脚的
    发表于 12-07 07:29

    基于74HC595的串行数码管显示实验

    今天学习小王子开发板基于74HC595串行数码管显示实验基于74HC595串行数码管显示实验1 认识74HC595串行
    发表于 03-01 06:34

    基于单片机74HC595驱动静态数码管(IO端口输出扩展)【汇编】

    基于单片机74HC595驱动静态数码管(IO端口输出扩展)【汇编】
    发表于 12-31 10:35 42次下载

    基于单片机74HC595驱动静态数码管(IO端口输出扩展)【C语言】

    基于单片机74HC595驱动静态数码管(IO端口输出扩展)【C语言】
    发表于 12-31 10:35 34次下载

    基于单片机74HC595驱动静态数码管(IO端口输出扩展)

    基于单片机74HC595驱动静态数码管(IO端口输出扩展)【C语言+汇编】
    发表于 01-06 11:08 28次下载

    74HC595级联驱动8位数码管文件下载

    两片74HC595级联动态驱动8位数码管 51单片机
    发表于 08-31 17:08 111次下载
    <b class='flag-5'>74HC595</b>级联<b class='flag-5'>驱动</b>8位<b class='flag-5'>数码管</b>文件下载

    74hc595驱动4位数码管电路连接图及程序解析

    本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管驱动芯片,共占用3个IO口。
    发表于 11-17 09:42 17.1w次阅读
    <b class='flag-5'>74hc595</b><b class='flag-5'>驱动</b>4位<b class='flag-5'>数码管</b>电路连接图及程序解析

    单片机74HC595驱动芯片对数码管的控制设计

    本设计使用了一个4位的数码管,为共阳型,为了节省单片机的IO口,使用了两片74HC595作为数码管驱动芯片,共占用3个IO口。
    发表于 03-22 15:04 9978次阅读
    <b class='flag-5'>单片机</b>和<b class='flag-5'>74HC595</b><b class='flag-5'>驱动</b>芯片对<b class='flag-5'>数码管</b>的控制设计

    74hc595引脚图及功能表

    74HC59574hc164一样是在单片机系统中常用的芯片之一他的作用就是把串行的信号转为并行的信号,常用在各种数码管以及点阵屏的驱动芯片
    的头像 发表于 07-01 10:10 3.1w次阅读
    <b class='flag-5'>74hc595</b>引脚图及功能表