数码管电路该怎么设计呢?数码管怎么配合单片机进行使用呢?

描述

分清楚共阳极和共阴极

GND

GND

如上图所示的这个就是共阳极的,也就是在上面的3号引脚或者8号引脚输入高电平,下面的引脚输入低电平,就可以点亮某一个管。比如,3号引脚输入高电平5V,7号引脚输入低电平接GND,那么A管就点亮,可以用同样的道理点亮其他每一个管。

那么共阴极的呢,自然就是二极管的方向反过来,如下图,操作的方法自然也就是反过来的。

GND

数码管怎么配合单片机进行使用呢?

如果只有一位数码管,而且在单片机引脚够用的情况下,我们可以采用直接连接的方式。假如你用的是STM32,3.3V的推挽输出驱动数码管一般也完全够用了。那么我们就可以直接把单片机引脚接到数码管引脚上面,通过控制单片机引脚就可以控制数码管,这里没有学过单片机的小伙伴可以先撤退了,了解了单片机再过来

GND

当引脚数量充足的时候,当然可以像上图一样这么做,但是如果引脚不够怎么办?

译码器

可以使用译码器来辅助设计,比如在只有一位数码管的情况下,为了给单片机留出更多引脚,我们就可以这么设计

GND

这里利用到了一个3位译码8位的译码器,不知道译码器怎么用的小伙伴可以去复(yu)习一下数电了,这里放上译码器的真值表,我们发现我们通过单片机的三个引脚就能控制8位的输出了

GND

细心的小伙伴可能发现问题了,这个译码器是可以做到八位输出,每次只能输出一位低电平,怎么样才能同时控制数码管的八个段呢?

这里其实需要解决的问题有两个,我们这里先说第一个

8个输出引脚,只能有一个引脚是低电平,其余是高电平,怎么同时控制八位?

这里可以用到我们人眼的视觉延迟效应,既然没法同时点亮,那就一个一个点亮,时间足够短,看起来就和同时点亮一样了。

这里就涉及到了第二个问题了

如果数码管是共阳极的,一个一个点亮自然没什么问题,但如果是共阴极呢?

我们会发现,共阴极数码管采用这种方式,只能熄灭其中一个管,没法做到我们上面说的效果,那么这个时候就需要用到非门进行电平的反转了。听起来好像很简单,加个非门就好了,在数码管只有一位的情况下确实是这样的。

我们上面这种设计方法,如果遇到多位数码管怎么办呢?

下面给大家分享一个案例

案例分享

GND

如上原理图,采用了一个38译码器(型号为74HC138D,653),译码器的真值表同上文,右边的数码管是个共阳数码管。这个案例采用的设计方法是把数码管的段接到了译码器上,位选直接接到了单片机的引脚。

乍一看,这么设计好像没有什么毛病

实际上在编程的时候,我们想象一下这个逻辑,如果要同时点亮四个数码管,并让他显示不同的数字,那么我们会发现,这四个位置的数字是不能同时操作的。为什么呢?因为四个位置的数码管段选都连在了同一个译码器上,只能一个一个去点亮他们

这时候就出现了一个大问题,当我们只有a,b,c...dp八个段的时候,逐个点亮看不出明显的亮度减弱,而现在有32个段,如果逐个点亮,每个段实际通电的时间只有总时间的1/32,这时候就会发现数码管的亮度明显被削弱了。当然,会有人想用ULN2003之类的芯片来提高电压,也没问题,但我认为这里最好的解决方法并不是提高电压

第一种,我认为应该是把译码器接到数码管的位上,也就是原理图中的DIG1-DIG4可以用一个24译码器,然后a-dp这8个段直接接到单片机上,当然这种方法也需要用到很多的单片机引脚,或者更适合位数较多的数码管。因此,我们还可以用另一种器件来实现我们需要的功能

那就是,锁存器

锁存器

锁存器,顾名思义,就是锁住电平用的。如果大学期间参加过蓝桥杯单片机或嵌入式的比赛,应该就会对这个东西特别熟悉

我这里拿蓝桥杯用过的锁存器M74HC573M1R来举例,如下图,当Y6C的电平改变时,就能开关锁存,具体是高电平开还是低电平开我就偷个懒不去差手册了,大家如果要用这款芯片来做电路设计记得去查一下手册。所以其实锁存就是存下来并锁住,通过控制Y6C就可以控制右侧com1-com8的电平是否和左侧相同,这样就可以最大程度利用到单片机的引脚资源了

GND

对了,进阶选手可以了解一下移位寄存器74HC595,这款芯片还是比较常用来驱动数码管的。








审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分