Unexpected Seven Segment Output

To avoid 'ghosting' where segments are lit when they should not be, you have to set the segments, turn on the digit, pause a bit, and turn off the digit, in that order.

for (int t = 0; t < 20; t++) { // Change max value of t to speed up or slow down the amount of time between number progression

    myH1UpdateDisplay(bits1);
    digitalWrite(Digit_1, LOW);
    delay(4);
    digitalWrite(Digit_1, HIGH);

    myH1UpdateDisplay(bits2);
    digitalWrite(Digit_2, LOW);
    delay(4);
    digitalWrite(Digit_2, HIGH);

    myH1UpdateDisplay(bits3);
    digitalWrite(Digit_3, LOW);
    delay(4);
    digitalWrite(Digit_3, HIGH);

    myH1UpdateDisplay(bits4);
    digitalWrite(Digit_4, LOW);
    delay(4);
    digitalWrite(Digit_4, HIGH);
  }

[/quote]