51之数码管

一、数码管结构及分类

数码管是发光器件之一,内部由七个条形发光二极管(a,b,c,d,e,f,g)和一个小圆点发光二极管(dp)构成,51单片机开发板上为八段数码管,如下图所示,根据各段的组合不同,显示的字符也就不同。

                                                          51之数码管_第1张图片

按八个数码管的公共端接线不同,数码管又可分类为共阴极数码管和共阳极数码管两种。共阴极数码管的公共端接地,而共阳极数码管的公共端接电源,接线如下图所示(左为共阴极,右为共阳极)。当连接的单片机接口为高电平时共阴极数码管亮;反之,连接的接口为低电平时则共阳极数码管亮。

                     51之数码管_第2张图片                                                 51之数码管_第3张图片

二、数码管的静态显示和动态显示

1、数码管静态显示

① 数码管静态显示时,其公共端直接接地或接电源,各段选线分别与I/O接口线相连,将所要显示的字符数据发送出去后,数码管始终显示该数据,下次显示时再传送其他数据。

② 特点:显示结构简单,占用VPU时间少,但一个数码管需要八根I/O线,当有多个数码管时占用I/O口过多,功耗大。


2、数码管动态显示

① 动态显示的方法是用一个接口电路将所有数码管的8个段a~g和dp的同名端连接在一起,每一个数码管的公共极COM各自独立地受一个I/O口控制,这里分成两个选段:位选段和段选段。下面以共阴极的数码管原理图为例。

51之数码管_第4张图片


这里有两个锁存器,一个是段锁存器(用于锁存段码值,用于显示某个字符),一个是位锁存器(用于锁存位码值,选择某个数码管)。用这种方式接线避免了占用过多I/O口的缺点,这种方式往往也用来进行数码管动态扫描。当将对应的段码值传送到段锁存器时应将锁存器打开读取数据,再关闭锁存器将数值锁存在段锁存器中;选择数码管进行显示时,应将数码管对应的I/O口电平拉低(传送对应的位码值),这样就可以在对应的数码管上显示数值了。

② 特点:当显示位数过多时可以比较节省I/O口,但轮番扫描时占用CPU的时间。


③动态显示0~7的程序示例

51之数码管_第5张图片


这里随着最后的延时的不同显示的效果也不同。由于人眼的暂留(最大极限大约为3ms),当显示的时间延时小于3ms时人眼看到的就是所有的数码管"同时"在显示数值,实际上数码管是轮流在显示,当时间大于3ms时则可以明显看到是在轮流显示。

有时候我们会观察到数码管上的数字在不该亮的地方有些微弱的亮光,这是因为数码管扫描显示,步骤是1管段选,1管位选,2管段选,2管位选.......。这里一管位选完毕后2管段选时位选码还是1管的位选码,这就导致本该在2管上显示的数字在1管上有微弱的影像。为了避免这种危害,我们可以对上面的程序进行修改。

                 51之数码管_第6张图片






 


你可能感兴趣的:(51单片机)