摘要:1.数码管介绍;
2. 数码管连接方式:共阴极、共阳极;
3.数码管的段选、位选;
4.数码管的动态显示、静态显示。
一、数码管有8位数码管,共有8x8个lLED灯(其中一个是点),一位数码管中有8个LED灯,
分别是a,b,c,d,e,f,g,dp,顺时针排列。(实物中,最外面的是第八位数码管)。
二、.根据内部连接不同,可分为2种 :
1.共阴极,数码管公共脚是GND,GND,还有a,b,c,d,e,f,g,dp八个脚。
共阴极,阴极给低电平0,阳极给高电平1,才能有正向电流通过。
2.共阳极,数码管公共脚是GND,Vcc,还有a,b,c,d,e,f,g,dp八个脚。
三、我使用的单片机是共阴极数码管。
负极接地,正极给高电平就亮,即给1。
四、
1.段选时,这个是在U9锁存器上,数字传送:例,主控芯片的P0.0与U9锁存器(段选)D0连接,
当 U9锁存器打开时D0与Q0相连,Q0即A与数码管的 LED灯a相连,因此数字成功传送。
即 P0.0---D0---Q0---A灯。(P0口包括:P0.0, P0.1, P0.2, P0.3, P0.4, P0.5 P0.6, P0.7脚)
2.位选时,这个是在U8锁存器上,数据传送:P0.0---D0---Q0---WE1.
注:
1.位选时,先打开U8锁存器,即(LE)WE=1,给P0口赋值十六进制数,转换成二进制数给D0,……D7,则D0……D7对应的1或0传递给Q0……Q7, 即给WE1……WE8,(例:WE1对应0,则打开了第一位数码管,)然后关闭U8锁存器,即(LE)WE=0,关闭位选,到此完成数码管位 选。
例: 锁存第一位数码管的位选数据,进行保存。再编写别的位。
2. 段选时,(位选已经关闭),打开U9锁存器,即(LE)WE=1,给P0口 赋值十六进制数,转换成二进制数给D0,……D7,则D0……D7对应的1或0传递给 Q0……Q7,(这里是)即给A……H灯,(例:A对应1,则A灯亮,)然后关闭U9锁存器,即(LE)WE=0,关闭段选,到此完成数码管段选。
例: 锁存第一位数码管的段选数据,进行保存。再编写别的位的段选。
说明:根据数码管内部结构,LED灯是共阴极的,阴极接在8个位上,所以阴极给0;阳极接在8个段上,阳极给1,才有正向电流通过。
注:段选时,一位数码管中引脚与8个LED灯的对应关系
P0.0---D0---a 低位
P0.1---D1---b
P0.2---D2---c
P0.3---D3---d
P0.4---D4---e
P0.5---D5---f
P0.6---D6---g
P0.7---D7---h(dp) 高位
实际编程时,要控制哪个灯亮,是直接给P0口赋值。
控制LED灯的是二进制数,所以要把二进制数转换成十六进制数赋值给P0口。
dp是二进制的高位,a是低位.
五、数码管的显示:
1.静态显示:每个数码管必须接一个8位数据线来保持显示的字形码。缺点是用的I/O口多。
静态显示时,只能同时显示同一个数字,想要几位数码管亮可以由位选控制。
2.动态显示:将所有位数码管的段选线并联在一起,由位选线控制哪一位数码管有效。选亮数码管采用动态扫描显示。
动态显示时,可以显示不同的数字,不过不是同时亮,但是人眼看着像同时亮。 单片机是先控制第一位数码管,不再控制第一个;(间隔时间很短,可以忽略)然后进行控制第二位数码管……,往复循环,所以看起来好像是一起亮……
注:1. 将所有位数码管的段选线并联在一起:例,8位数码管的A灯(即8个A段)并联,与D0相 连,即与P0.0口相连。
2.位选也由P0口控制,
*** 段选是:a,b,c,d,e,f,g,dp共八位,具体控制一位数码管中的哪个LED灯都亮灭。
*** 位选是:公共脚 1.共阴极的是GND,GDN,控制8位数码管中的哪位数码管的亮灭。
2.共阳极的是GND,Vcc
注:位选与数码管位的对应关系,(实物中,最外面的是第八位数码管)
WE1---第一位数码管 低位
WE2---第二位数码管
WE3---第三位数码管
WE4---第四位数码管
WE5---第五位数码管
WE6---第六位数码管
WE7---第七位数码管
WE8---第八位数码管 高位