一位 7 段 LED 显示屏
Quote from Matoo robot on 2024年7月4日, pm4:40简单易做。
项目介绍
一位七段显示器用于许多嵌入式系统和工业应用,在这些应用中,要显示的输出范围是事先已知的。基本的 1 位 7 段显示可以显示 0-9 的数字和几个字符。7 段显示器具有不同的类型;特别是它们在可以显示的位数/字符数上有所不同。基本上,7段显示器是一个单元,只能显示1位数字或1个字符。通过将单个单元7段显示多路复用来显示更多数字,形成2位显示,3位显示或4位7段显示。它安静、易于连接Arduino和7段显示!让我们开始本教程。
7 段显示器有许多限制,尤其是在它可以显示的字符范围方面。市场上的显示器比七段显示器先进得多,几乎可以显示字母表中的每个字符。例如:- 一个 16×2 LCD – 可以显示几乎所有 ASCII 字符。您可能会想为什么市场上仍然存在 7 段显示器。好吧,当涉及到市场上可用的显示设备时,7段显示器是最便宜的选择。一位数字/字符的 7 段显示单元的成本是 16×2 LCD 模块的 1/10。
显示器中的每个 LED 都有一个位置段,其中一个连接引脚从矩形塑料封装中引出。这些 LED 引脚从“a”到“g”标记为代表每个单独的 LED。其他 LED 引脚连接在一起,形成一个公共引脚。因此,通过按特定顺序对 LED 段的适当引脚进行正向偏置,某些段将变亮,而其他段将保持变暗,从而在显示屏上显示相应的字符。
显示器的公共引脚通常告诉其类型。引脚连接有两种类型:连接阴极的引脚和连接阳极的引脚,表示共阴极 (CC) 和共阳极 (CA)。顾名思义,当 CA 显示器连接了 7 段的所有阳极时,CC 显示器连接了 7 个 LED 的所有阴极。
代码
int a=7; int b=6; int c=5; int d=11; int e=10; int f=8; int g=9; int dp=4; //display number 1 void display1(void) { digitalWrite(b,HIGH); digitalWrite(c,HIGH); } //display number2 void display2(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(e,HIGH); digitalWrite(d,HIGH); } // display number3 void display3(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(g,HIGH); } // display number4 void display4(void) { digitalWrite(f,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); } // display number5 void display5(void) { digitalWrite(a,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); } // display number6 void display6(void) { digitalWrite(a,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); } // display number7 void display7(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); } // display number8 void display8(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); } void clearDisplay(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(g,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); } void display9(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(f,HIGH); } void display0(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); } void setup() { int i; for(i=4;i<=11;i++) pinMode(i,OUTPUT); } void loop() { while(1) { clearDisplay(); display0(); delay(2000); clearDisplay(); display1(); delay(2000); clearDisplay(); display2(); delay(2000); clearDisplay(); display3(); delay(2000); clearDisplay(); display4(); delay(2000); clearDisplay(); display5(); delay(2000); clearDisplay(); display6(); delay(2000); clearDisplay(); display7(); delay(2000); clearDisplay(); display8(); delay(2000); clearDisplay(); display9(); delay(2000); } }
简单易做。
项目介绍
一位七段显示器用于许多嵌入式系统和工业应用,在这些应用中,要显示的输出范围是事先已知的。基本的 1 位 7 段显示可以显示 0-9 的数字和几个字符。7 段显示器具有不同的类型;特别是它们在可以显示的位数/字符数上有所不同。基本上,7段显示器是一个单元,只能显示1位数字或1个字符。通过将单个单元7段显示多路复用来显示更多数字,形成2位显示,3位显示或4位7段显示。它安静、易于连接Arduino和7段显示!让我们开始本教程。
7 段显示器有许多限制,尤其是在它可以显示的字符范围方面。市场上的显示器比七段显示器先进得多,几乎可以显示字母表中的每个字符。例如:- 一个 16×2 LCD – 可以显示几乎所有 ASCII 字符。您可能会想为什么市场上仍然存在 7 段显示器。好吧,当涉及到市场上可用的显示设备时,7段显示器是最便宜的选择。一位数字/字符的 7 段显示单元的成本是 16×2 LCD 模块的 1/10。
显示器中的每个 LED 都有一个位置段,其中一个连接引脚从矩形塑料封装中引出。这些 LED 引脚从“a”到“g”标记为代表每个单独的 LED。其他 LED 引脚连接在一起,形成一个公共引脚。因此,通过按特定顺序对 LED 段的适当引脚进行正向偏置,某些段将变亮,而其他段将保持变暗,从而在显示屏上显示相应的字符。
显示器的公共引脚通常告诉其类型。引脚连接有两种类型:连接阴极的引脚和连接阳极的引脚,表示共阴极 (CC) 和共阳极 (CA)。顾名思义,当 CA 显示器连接了 7 段的所有阳极时,CC 显示器连接了 7 个 LED 的所有阴极。
代码
int a=7;
int b=6;
int c=5;
int d=11;
int e=10;
int
f=8;
int g=9;
int dp=4;
//display number 1
void display1(void)
{
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
}
//display number2
void
display2(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(e,HIGH);
digitalWrite(d,HIGH);
}
// display number3
void display3(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(g,HIGH);
}
// display number4
void display4(void)
{
digitalWrite(f,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
}
// display number5
void display5(void)
{
digitalWrite(a,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
}
// display number6
void
display6(void)
{
digitalWrite(a,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
}
// display number7
void display7(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
}
// display number8
void display8(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
}
void clearDisplay(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(g,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
}
void display9(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(f,HIGH);
}
void display0(void)
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
}
void setup()
{
int i;
for(i=4;i<=11;i++)
pinMode(i,OUTPUT);
}
void loop()
{
while(1)
{ clearDisplay();
display0();
delay(2000);
clearDisplay();
display1();
delay(2000);
clearDisplay();
display2();
delay(2000);
clearDisplay();
display3();
delay(2000);
clearDisplay();
display4();
delay(2000);
clearDisplay();
display5();
delay(2000);
clearDisplay();
display6();
delay(2000);
clearDisplay();
display7();
delay(2000);
clearDisplay();
display8();
delay(2000);
clearDisplay();
display9();
delay(2000);
}
}