标题: 小白有个单片机驱动数码管显示的小问题。。求大神详细解答谢谢!! [打印本页]
作者: lx843040583 时间: 2017-5-16 16:42
标题: 小白有个单片机驱动数码管显示的小问题。。求大神详细解答谢谢!!
本电路的显示模块主要是由74HC573芯片和一个4位一体的7段LED数码管构成,用于显示测量到的温度。它是一个共阳极的数码管,每一位数码管的a、b、c、d、e、f、g和dp端都各自连接在一起,用于接受单片机的P1口产生的显示断码。S1、S2、S3、S4引脚端为其位选端,用于接受单片机的P3口产生的位选码。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过轮流控制各个数码管的COM端,使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1-2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管不是同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
请问上面这段话和这个电路原理图相符合吗?“每一位数码管的a、b、c、d、e、f、g和dp端都各自连接在一起,用于接受单片机的P1口产生的显示断码。S1、S2、S3、S4引脚端为其位选端,用于接受单片机的P3口产生的位选码。”这句话是我自己写的,对吗?我看原理图的P0口居然没有用,有点晕。。。
-
原理图.png
(87.09 KB, 下载次数: 96)
电路图
作者: yzwzfyz 时间: 2017-5-16 22:53
楼主,你全对!
不过硬件图有问题,电风扇上需要并一个续流二极管。否则风扇在停止时,可能产生反压干扰CPU或击坏元器件。
作者: yzwzfyz 时间: 2017-5-17 08:05
依我的经验,每位数码管的点亮时间取3ms左右,优于1-2ms。
理由一、切换时有全暗的时间,这个时间是少不了的,它占用的显示的效率。
理由二、如果是LCD,液晶的反转也需要时间,它也占用的显示的效率。
假设占用的无效显示时间为t1,则每位数码管的有效显示时间率为:(T-t1)/NT。
N=数码管的个数,这是定值,T=点亮的时间,所以T越大,效率越高!只是T受限于人的视觉残留。
最大效率为:T/N。高手会将t1做到最小!
作者: w1179benp 时间: 2017-5-17 15:03
上述数码管的显示原理是典型的动态扫描显示原理。
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |