Here is the absolute simplest thing I can think of to test the bits along the lines of what Mike is saying.
byte digitPins[] = {25,26,27};
byte segmentPins[] = {30,31,32,33,34,35,36};
byte digitPatterns [] = {
// ABCDEFG
B00000000, // 0
B10000000, // 1
B01000000, // 2
B00100000, // 3
B00010000, // 4
B00001000, // 5
B00000100, // 6
B00000010, // 7
B11111110, // 8
B11100110, // 9
};
void setup() {
for (int i = 0; i < 3; i++) {
digitalWrite (i, LOW);
pinMode(segmentPins[i], OUTPUT);
}
pinMode(25, OUTPUT);
digitalWrite(25, LOW);
PORTC = digitPatterns[1]; // <==== change this number to try all 7 possibilities
}
void loop () {}
Run that and see what segment lights up. Then play with the indicated number and record the results.
EDIT: I did notice one thing in your code though, you are writing to PORTA to set the segments, your displays are on PORTC are they not?
______
Rob