将7段显示连接到8051
七段显示器是用来显示数字信息的。七段显示器可以显示从0到9的数字,甚至我们可以显示一些字符,如A, b, C, H, E, e, F等。这些都是非常流行的,并且有很多的应用。因此,在这个项目中,我将向你展示一个7段显示器是如何通过连接7段显示器和8051单片机来工作的。
在开始这个概念之前,先了解一下如何将LED与8051单片机连接。
这篇文章描述了如何将七段显示器连接到AT89C51单片机。这个系统以预定的延迟连续显示从0到9的数字。在这个过程中,我将设计两个电路:一个是单数7段显示的电路,另一个是由4位7段显示的电路。
电路原理
七段显示器内部由8个LED组成。在这些LED中,7个LED用于指示数字0至9,一个LED用于指示小数点。一般来说,七段显示有两种类型,一种是共阴极,另一种是共阳极。
在共阴极情况下,所有LED的阴极被绑在一起,并被标记为com.而阳极则被单独留下。在共阳极情况下,七段显示器的所有阳极被绑在一起,阴极则被自由放置。下图显示了七段式显示器的内部连接。
七段式显示器的内部连接
在第一个电路中,我将把共阴极单数七段显示器连接到8051微控制器,而在第二个电路中,我将把共阳极型四位七段显示器连接到8051微控制器。
电路图
电路1:将7段显示器连接到8051(单数 - CC)。
在第一个电路中,我将一个单数7段显示器与8051连接起来。7段显示器是共阴极类型的。
7段显示器与8051单数电路的连接
电路2:7段显示器与8051的接口(4位数 - CA)。
在第二个电路中,我将一个4位的7段显示器连接到8051微控制器,显示类型为共阳极。
7段显示器与8051 4位数电路的连接
电路元件
AT89C51单片机
AT89C51编程板
编程电缆
12V直流电池或适配器
共阴极7段显示器
共阳极4位7段显示器
电阻器 - 10KΩ X 2, 330Ω, 1KΩ X 8, 470Ω X 4
1KΩ X 8 电阻器包
33pF 陶瓷电容 X 2
11.0592 MHz晶体
10μF 电解电容
2N2222 NPN 晶体管 X 4
按钮
连接线
电路设计
电路1
在这里,共阴极七段被用来显示数字。在这个电路中,7段的a至h脚与微控制器的2号端口相连,com脚通过330欧姆的电阻与地相连。这个电阻是用来降低电压的。由于我们使用的是共阴极七段,我们需要发送LOGIC 1到各段,使其发光。
图中显示了共阴极七段的结构。这里用点来表示小数点。这里所有LED的阴极都连接到Gnd引脚。该LED的工作电压为2-3V,但从控制器中我们将得到5V的电压,因此为了降低剩余的电压,我们必须通过电阻将a至g引脚连接到控制器。
共阴极7段显示器
电路2
由于第二个电路中使用的4位7段显示器是共阳极类型的,我们需要通过公共终端来驱动LED段。我使用了4个NPN晶体管来驱动这4个共阳极,晶体管由8051控制。
对于a至h段,它们被连接到8051的PORT0引脚。
数字驱动模式
为了在7段上显示数字,我们需要在各段上显示不同的逻辑组合。例如,如果你想在7段上显示数字3,那么你需要在a、b、c、d和g段上发光。下面的表格显示了我们需要从PORT2发送的十六进制十进制数值,以显示0到9的数字。
注意:这些值只适用于共阴极显示器。如果你想驱动共阳极显示器,那么你必须取每一位的补码,并替换代码中的十六进制值(我已经在第二个电路的代码中做了)。
算法
对于电路1
首先,在一个数组中初始化所有段位的十六进制值。
unsigned char arr[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};
现在进行for循环,将数组值分配给PORT2,并有一定的时间延迟。
for (i=0;i<10;i++)
{
P2=arr[i];
delay_ms(500);
}
对于电路2
首先在一个数组中初始化所有段位的十六进制值。
unsigned char ch[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}
2. 根据数值,切换数字。
void display (unsigned long int n)
{
led=ch[n/1000];
sw1=1;
sdelay(30);
sw1=0;
led=ch[(n/100)%10];
sw2=1;
sdelay(30);
sw2=0;
led=ch[(n/10)%10];
sw3=1;
sdelay(30);
sw3=0;
led=ch[n%10];
sw4=1;
sdelay(30);
sw4=0;
}
如何操作?
首先将程序刻录到单片机上
按照电路图的要求进行连接
确保7段的a至g引脚分别连接到第一个电路的P2.0至P2.6和第二个电路的PORT0引脚。
打开电源,你可以观察到在第一个电路中,数字0到9将连续显示,并有一定的延迟,在第二个电路中,数字0到9999将显示在4位7段显示器上。
切换电源。
应用
七段显示器被广泛用于数字钟中,以显示时间。
在电子仪表中用于显示数字信息。
用在仪表盘中
用于数字读出显示器。
局限性
为了显示大的信息,复杂性增加。
不可能在七段上显示符号。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码