数码管原理

一:数码管内部构造
数码管也称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//包含头文件

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];//送入段选信号1

  delay(1);//延时

 

  wei1=1;//选通第二个数码管的位选,关闭其他数码管位选

  wei2=0;

  wei3=1;

  wei4=1;

  miao=1;//打开秒针

  P0=table[2];//送入段选信号2

  delay(1);

 

  wei1=1;//选通第三个数码管的位选,关闭其他数码管位选

  wei2=1;

  wei3=0;

  wei4=1;

  miao=1;//打开秒针

  P0=table[3];//送入段选信号 3

  delay(1);

 

  wei1=1;//选通第一个数码管的位选,关闭其他数码管位选

  wei2=1;

  wei3=1;

  wei4=0;

  miao=1;//打开秒针

  P0=table[4];//送入段选信号 1111 1001

  delay(1);

 

 }

}


 

 

---------------------

本文来自 奋斗的小程序员 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/sum_tw/article/details/60466103?utm_source=copy

你可能感兴趣的:(硬件电路设计)