首页 理论教育 51系列单片机:LED数码管动态显示接口控制技术

51系列单片机:LED数码管动态显示接口控制技术

时间:2023-11-24 理论教育 版权反馈
【摘要】:图9-2是一个由四只共阳极数码管组成的动态显示电路。这样我们就可以通过控制P2.0、P2.1、P2.2、P2.3达到控制某个数码管亮或灭的目的。动态显示达到一定速度时,由于人眼的视觉暂留特性,在观察时,数码管所有内容如同静态显示一样,不会产生闪烁。况且每个数码管显示都要占用1ms的时间,这在很多场合是不允许的。到下一次定时时间到,则显示下一个数码管。

51系列单片机:LED数码管动态显示接口控制技术

1.动态显示电路

动态扫描显示接口单片机应用中最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔画段a~h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,在程序中就可以根据显示顺序来决定显示的先后。

动态显示仅说明了数码管的连接方式和显示要求,但与单片机端口的连接方式有很多不同的形式,有使用单片机端口直接驱动、使用组合逻辑电路驱动、使用锁存器驱动以及使用专用动态显示驱动等形式,因而单片机驱动的动态显示电路有很多种,图9-1所示电路是常见的两种8位动态显示电路。

图9-1 常见动态显示电路

2.动态显示电路示例

(1)电路结构。

图9-2是一个由四只共阳极数码管组成的动态显示电路。LED1~LED4分别存放4位显示器的显示数据,LED1为低位。

电路中我们在8个笔画段a~h上采用限流电阻,公共端则由PNP型三极管8550控制,显然,如果8550导通,则相应的数码管亮;如果8550截止,则对应的数码管就不可能亮。8550是由P2.0、P2.1、P2.2、P2.3控制的。这样我们就可以通过控制P2.0、P2.1、P2.2、P2.3达到控制某个数码管亮或灭的目的。

上面的电路,CPU要不断地调用显示程序,才能保证稳定的显示。(www.xing528.com)

图9-2 四位数码管动态显示电路图

(2)参考显示程序。

动态显示达到一定速度时,由于人眼的视觉暂留特性,在观察时,数码管所有内容如同静态显示一样,不会产生闪烁。所以,对动态扫描的频率有一定的要求,若频率太低,LED数码管将出现闪烁现象;若频率太高,由于每个LED数码管点亮的时间太短,LED数码管的亮度太低,无法看清。所以,显示时间一般取几个毫秒左右为宜。在编写程序时,常采用调用延时子程序来达到要求的保持时间。程序工作时,使电路选通某一位数码管后,该数码管被点亮后并保持一定的时间。

该程序结构对大于4位的显示电路就不太实用,若只用4个数码管轮流显示1ms没有问题,实际工作中,当然不可能只显示4个数字,还要做其他事情,这样在二次调用显示程序之间的时间间隔就不一定了,如果时间间隔比较长,就会使显示不连续。实际工作中很难保证所有工作都能在很短时间内完成。况且每个数码管显示都要占用1ms的时间,这在很多场合是不允许的。我们可以借助于定时器,定时时间一到,产生中断,点亮一个数码管,然后马上返回,这个数码管就会一直亮到下一次定时时间到,而不用调用延时程序了,这段时间可以留给主程序干其他的事。到下一次定时时间到,则显示下一个数码管。参考程序结构如下所示:

从上面的程序可以看出,和静态显示相比,动态扫描的程序稍复杂。但该程序具有一定的通用性,只要改变端口的值及计数器的值,即可显示更多位数了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈