一、led数码管结构和工作原理
1、主导数码管结构。
常用的7级led显示器由8个LED组成,有两种连接方式:总阴极和总阳极。如图所示,分为a、b、c、d、e、f、g 7段和1分DP。
数码管结构
2. LED数码管工作原理
共阴极接法数码管的8个led的阴极连在一起,接公共端COM。使用时公共端接地,当led的阳极为高电平时,对应的发光二极管点亮。共阳极接法数码管则与之相反。
从管脚a~g及dp输入不同的8位二进制数,可显示不同的数字或字符,把控制数码管显示不同字符的8位二进制数称为段码。例如:对于共阳极数码管,若要显示0,其段码为0xc0。下表是共阴极数码管和共阳极数码管的字形码。
其中H表示16进制。
二、LED数码管的显示方法
数码管的显示方式有静态显示和动态显示两种。
1、静态显示
静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O口相连。
2、动态显示
动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的相应段选线并联在一起,由一个8位的I/O口控制;各位数码管的位选线(公共阴极或阳极)由另外的I/O口线控制。动态显示是运用人眼睛的时间暂存效应,实际上极短时间内各位数码管的轮流显示在人眼看来则为静止的。
三、proteus中一位数码管显示0~F的设计
1、画图
在proteus中数码管的关键字为7SEG-MPX1(位数)-CC或CA,其中CC表示的是共阴极接法数码管,CA表示的是共阳极接法数码管。以上两电路均为共阴极数码管,第1副比第2副图多了一个小数点。
注意,字形码8位led引脚接P0口时一定不要忘记接排阻(即一排电阻)respack-8(或7)。
2、写出程序。
uchar a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
void main()
{
uchar i=0,j;
for(j=0;j<16;j++)
{
P0=a[i]; //字形码输送给P0口
i++; //数组下标+1
delay(500); //延时500ms
}
}
程序中新知识点:数组,简单总结以下。
(1)数组形式为
变量[长度,元素的个数]
(2)变量,为定义时任意设定的,变量定义时需要设定某数据类型,比如此设计中为unsigned char ;
(3)长度,为常数,表示数组内元素的个数,此项可以大于或等于赋值时元素的个数,也可以省略不写。本程序中在定义时就没写。
3、效果如下(只是截图)