电子说
74HC595是我们在电路中比较常见的一种CMOS器件,本文只要探讨的是基于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芯片逻辑图,输出使能端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的数码管驱动芯片,该类芯片可以实现串行转并行的工作方式,驱动数码管实现静态和动态显示。但是,这样一种工作方式暴露出控制系统实时性不足等问题,在某些对系统响应时间要求比较高的场合的应用产生了一定的限制。为了解决上述几个弊端,本文提出了一种基于单片机的数码管动态显示器的设计方案,以IAP15F2K61S2系列单片机做控制核心,并采用全新的软硬件电路实现数码管的动态显示。
数码管外观设计
本显示器采用六个共阳极的数码管,按照通常的做法,六个数码管水平排列在产品的最上方,如图1所示,这样的设计可以方便的将控制系统的控制状态显示出来。下方采用的是40管脚DIP封装的单片机,所有并行口线都安排了插针,可以方便的实现系统的外部扩展,增强本显示器的可移植性。
数码管外观图
控制电路原理图
本产品采用六个共阳极数码管制作了本显示器。设计共阳极数码管显示代码表如下:
为了充分发挥C语言的模块化编程优势,将动态显示子函数封装为一个通用的模块,程序如下:
74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。 74HC595是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。用74HC595做数码管静态显示电路,一片595接一个数码管,数码管用共阳,共阴的都行。共阳的数码管,公共 端接到电源上,共阴的,公共端就接到地上,不用采用动态扫描的方式,就是静态显示电路了。
全部0条评论
快来发表一下你的评论吧 !