为了正常显示数码管,我们需要使用驱动电路来驱动数码管的每个段码,从而显示我们想要的数字。因此,根据数码管的不同驱动方式,可分为静态式和动态式。

  ①静态显示驱动:静态驱动又称直流驱动。静态驱动是指每个数字管的每个段码由单片机的I/O端口驱动,或者由BCD码2-1进制译码器译码驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。如果驱动5个数字管静态显示,需要5×8=40个I/O端口来驱动。要知道一台89S51单片机只能使用32个I/O端口:),实际应用中必须增加译码驱动器来驱动,增加了硬件电路的复杂性。

数码管

  ②动态显示驱动:数码管动态显示接口是单片机中应用最广泛的显示方式之一。动态驱动是将所有数码管的8个显示笔划“a、b、c、d、e、f、g、dp”的同名端连接在一起。此外,为每个数码管的公共极COM增加了位选通控制电路。位选通由自己独立的I/O线控制。当单片机输出字形码时,所有数码管都接收到相同的字形码,但数码管会显示字形取决于单片机对位选通COM端电路的控制。

  所以只要打开需要显示的数码管的选通控制,这个位置就会显示字形,没有选通的数码管就不会亮。每个数码管的COM端通过分时轮流控制,使每个数码管轮流控制显示,即动态驱动。在轮流显示过程中,每个数码管的点亮时间为1~2ms。由于人的视觉暂时性和发光二极管的余辉效应,虽然数码管不是同时点亮的,但只要扫描速度足够快,给人的印象是一组稳定的显示数据,不会有闪烁感。动态显示的效果与静态显示相同,可以节省大量的I/O端口,功耗更低。