好玩的单片机——数码管原理(一)

来源:互联网 发布:幼儿园淘宝活动方案 编辑:程序博客网 时间:2024/06/06 02:39

一:数码管内部构造

数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。

数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管;

按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

如图:


上图就是两个数码管。

让我们来看看它的内部结构:



这是i个数码管的内部以及接线图,我们再来看下4个数码管的接线图。




二:LED数码显示方式及电路 

1、  静态显示方式

LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

2、动态显示

动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 


三:字符表

1、共阳极数码管字符表:
unsigned code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
};

四:代码实现;

#include<reg52.h>//包含头文件sbit wei1=P1^0;sbit wei2=P1^1;sbit wei3=P1^2;sbit wei4=P1^3;sbit miao=P1^4;unsigned code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,};//共阳数码管码表void delay(int a){int b,c;for(b=a;b>0;b--)for(c=30;c>0;c--);}void main()//主程序{while(1)//循环{wei1=0;//选通第一个数码管的位选,关闭其他数码管位选wei2=1;wei3=1;wei4=1;miao=1;//打开秒针P0=table[1];//送入段选信号1delay(1);//延时wei1=1;//选通第二个数码管的位选,关闭其他数码管位选wei2=0;wei3=1;wei4=1;miao=1;//打开秒针P0=table[2];//送入段选信号2delay(1);wei1=1;//选通第三个数码管的位选,关闭其他数码管位选wei2=1;wei3=0;wei4=1;miao=1;//打开秒针P0=table[3];//送入段选信号 3delay(1);wei1=1;//选通第一个数码管的位选,关闭其他数码管位选wei2=1;wei3=1;wei4=0;miao=1;//打开秒针P0=table[4];//送入段选信号 1111 1001delay(1);}}


1 0
原创粉丝点击