CD4511 七段解碼器實驗

標準做法

void setup()
{
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
}

void loop()
{
  for (int i=0; i<10;i++)
  {
    if ((i&0x1)!=0)
      digitalWrite(2, HIGH);
    else
      digitalWrite(2, LOW);
    
    if ((i&0x2)!=0)
      digitalWrite(3, HIGH);
    else
      digitalWrite(3, LOW);
    
    if ((i&0x4)!=0)
      digitalWrite(4, HIGH);
    else
      digitalWrite(4, LOW);
    
    if ((i&0x8)!=0)
      digitalWrite(5, HIGH);
    else
      digitalWrite(5, LOW);
    delay(1000);
  }
}

硬幹法

void setup()
{
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
}

void loop()
{
  digitalWrite(2, LOW);//0
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, HIGH);//1
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, LOW);//2
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, HIGH);//3
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, LOW);//4
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, HIGH);//5
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, LOW);//6
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, HIGH);//7
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(1000);
  
  digitalWrite(2, LOW);//8
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  delay(1000);
  
  digitalWrite(2, HIGH);//9
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  delay(1000);
  
}
SHXJ
Latest posts by SHXJ (see all)

發佈留言