Please or Register to create posts and topics.

一位 7 段 LED 显示屏

简单易做。

项目介绍

一位七段显示器用于许多嵌入式系统和工业应用,在这些应用中,要显示的输出范围是事先已知的。基本的 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);      
    }
}