大家好,今天小编关注到一个比较有意思的话题,就是关于动态扫描数码管不亮怎么回事的问题,于是小编就整理了2个相关介绍动态扫描数码管不亮怎么回事的解答,让我们一起看看吧。
51单片机动态扫描24个数码管,亮度不足,如何解决?用了138和573?
是138在做动态扫描吧,我没怎么用138,但有一点是肯定的,就是一般情况下应该是138的电流驱动能力有限导致你所说的问题。
如果你多用几个573,每个数码管对应一个573来装段码,然后再将数码管的公共极直接接地或电源(看你的数码管是共阳还是共阴来决定接地还是接电源)。这样能够解决,但电路非常复杂。还有一种方法就是用专用的数码管驱动芯片(TM1640)。一般数据显示比较多的时候都用液晶显示,数码管显示的内容有限,而且显示比较麻烦,使用较多时还占用系统资料,成本也不见得便宜多少。数码管为什么会闪烁?
1、动态扫描:在已个 t 时间内(可以是几个ms)选中 1 位数码管,以亮点该位数码管对应的码段,其他关断(不亮);而下一个 t 时间需点亮下一位数码管......以此类推,循环起来。这个 t 可以用定时器准确控制。当然,如果你只是为了实现单纯的3个数码管显示,可以不精确时间,循环起来就是了(只要保证耽搁的显示时间少于肉眼识别时间,就是看起来不会一闪一闪的就行);
2、显示内容:多数情况下,待显示的字符/数字先按数码定义编码,存放在表格中。按自己的编程需要,在显示的时候从表格中提取。当然,如果只是简单实验,显示的内容是固定的,也可以程序里用立即数。 多试一试吧。
原因很简单,这是代码和数码管驱动的问题 按键会影响数码管显示,这是单片机直接驱动数码管会出现的问题,而数码管则是工作在动态扫描方式的,若是***用带有锁存器件的数码管驱动,则不会出现此类现象,因为单片机是周期性的扫描工作方式,单片机直接驱动数码管的电路,当单片机扫描到按键的时候,数码管部分就停止了(一般的代码都这样,除非数码管是工作在静态扫描方式) 直接驱动数码管,按键的代码一般都会写一些延时,用来软件消除按键的抖动,若延时的时间太长,就会影响数码管的显示效果,另外有些还会增加等待按键松开的语句,这种语句一般都是一个死循环,除非按键被松开 解决办法是,减少按键消抖动延时的时间,在等待按键松开的死循环语句中调用数码管显示函数,这样基本上就可以解决此类问题
到此,以上就是小编对于动态扫描数码管不亮怎么回事的问题就介绍到这了,希望介绍关于动态扫描数码管不亮怎么回事的2点解答对大家有用。