资讯详情

静态数码管实验

数码管简介

数字管是一种半导体发光器件,其基本单元是发光二极管,又称 LED 数码管。根据段数,数码管可分为七段数码管和八段数码管。八段数码管比七段数码管多一个发光二极管单元,即小数点多(DP),如图所示:

根据显示的发光二极管数量(8)可分为 1 位、 2 位、 3 位、 4 位、 5 位、 6 位、7 等数码管。按连接方式可分为共阳极数码管和共阴极数码管。

指所有发光二极管阳极接在一起形成公共阳极(COM)共阳数码管应用于数码管公共极 COM 接到 5V,当一个字段发光二极管的阴极是低电平时,相应的字段被点亮,当一个字段的阴极是高电平时,相应的字段就不亮了。

是指将所有发光二极管的阴极接在一起形成公共阴极(COM)应用数码管、共阴数码管公共极 COM 接到地线 GND ,当一个字段发光二极管的阳极是高电平时,相应的字段会被点亮,当一个字段的阳极是低电平时,相应的字段不会被点亮。

不同位数的数码管实物图如下所示

数字管显示原理

不同数字管的显示原理相同,都是通过照亮内部的发光二极管来发光的。数字管内部电路如下图所示:

数码管的引脚是 10 个,其内部一共有 8 小发光二极管(A、B、C、D、E、F、G、DP),最后还有一个公共端(CA或CC),为了统一包装,大多数制造商包装单位数码管 10 个引脚,其中第 3 和 第 8 引脚连接在一起。

根据公共端,数字管可分为共阳极和共阴极,图中间为共阳极内部原理图,右图为共阴极内部原理图。

其 8 发光二极管的阴极全部连接在数字管内,因此被称为共阴,其阳极是独立的。通常,在设计电路时,阴极通常会接地,并在数字管的任何阳极上添加高电。通常,相应的发光二极管会点亮 。若要显示一个 8 如果右下角的小数点也亮了,可以给 8 如果你想让它显示一个阳极,所有的阳极都会发送高电平 0 单词,所以我们可以给第一个g, dp” 除了这两个低电平,其余的引脚都是高电平,所以它显示出来 0 字了。 如果使用共阴数码管,需要注意增加单片机 IO 由于共阴数码,口驱动电流 管道靠单片机 IO 口输出电流点亮,但单片机 I/O 口难以输出如此稳定和大的电流,因此数字管与单片机连接时需要增加驱动电路,可以使用拉电阻的方形 方法或使用特殊的数字管驱动芯片,如 74HC573、74HC245 等,输出电流大, 电路接口简单。

其内部 8 个发光二极管的所有阳极全部连接在一起,电路连接时,公共端接高电平,因此,要点亮哪个发光管二极管就需要给阴极送低电平, 此时显示数字的编码与共阴极编码是相反的关系。当数码管内部发光二极管点亮时,需要 5mA 以上电流不宜过大,否则会烧坏发光二极管。不仅要防止数码管电流过大,还要防止流经数码管的电流集中在单片机上,否则会损坏主芯片。

由于数码管的非公共端通常更常用于共阳极数码管 IC 芯片的 I/O 上,而 IC 芯片的驱动能力往往比较小,如果采用共阴极数码管,数码管的驱动端在非公共端, 有可能受到限制 IC 芯片输出电流不足,显得暗淡,应增加拉电阻或增加三极管以增加驱动能力。但是 IC 芯片灌注电流, 即输入电流范围较大。所以使用共阳极数码管的好处是的驱动数码管的工作 交给公共端(一般连接驱动电源),增加驱动电源的功率自然比增加更大 IC 芯片 I/O 口的驱动电流要简单得多。另一方面,这也可以减轻主芯片的负担。

本文在开发板上使用了一个共阳数字管。以下是共阴和共阳数字管 0-F 段码数据表如下:

数码管 0-F 段码数据表

共阴数码管码表

0x3f 0x06 0x5b 0x4f 0x66 0x6d

0 1 2 3 4 5

0x7d 0x07 0x7f 0x6f 0x77 0x7c

6 7 8 9 A B

0x39 0x5e 0x79 0x71 0x00

C D E F 无显示

共阳数码管码表

0xC0 0xF9 0xA4 0xB0 0x99 0x92

0 1 2 3 4 5

0x82 0xF8 0x80 0x90 0x88 0x83

6 7&nbs;           8          9          A           B

0xC6     0xA1     0x86     0x8E     0xFF

  C            D           E          F        无显示

        上述表中,可以发现它们的数据正好是相互取反的值。比如共阴数码管数字0 段码:0x3f,其二进制是:0011 1111,取反后为:1100 0000, 转换成 16 进制即为 0XC0。其它段码依此类推。

代码实现

        数码管显示器工作方式有两种:静态显示方式和动态显示方式。

        静态显示,每个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。

   硬件部分

        开发板上的静态数码管模块电路如下图所示:

        上图电路是静态数码管电路,模块独立,使用的是 1 个共阳数码管组成,即 8 位数码管的段选数据 a-dp 全部一起引出,数码管的位选即公共端直接接 VCC, 根据共阳数码管显示特点,只要保证数码管 a-dp 段输入电平为低电平即可点亮。由于公共极接 VCC,所以在数码管控制端加一个限流电阻,阻值为 470 欧(471)。本文使用 P0 口连接 J8 端子。

源代码

#include "reg52.h"

typedef unsigned int u16;//使用关键字 typedef 对系统默认数据类型 unsigned int 重新命名
typedef unsigned char u8;
 
#define SMG_A_DP_PORT P0 使用宏定义数码管段码口,使用P0控制

void delay_10us(u16 ten_us)//延时函数,ten_us=1 时,大约延时 10us
{
 	while(ten_us--);
}

/*共阴极数码管显示 0~F 的段码数据*/
u8 gy_smg_code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void main()	   //主函数
{	
	while(1)
	{
	   u16 i=0;
	   for(i=0;i<17;i++)  //依次将段码数据赋值给数码管段选口,使数码管依次显示0~F
	   {
			SMG_A_DP_PORT=~gy_smg_code[i];//将共阴数组第 i 个数据:0赋值给数码管段选口
			delay_10us(50000);	   //延时,根据余晖效应
	   }
	}
}

现象

标签: 三极管dp3080

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台