Строка должна выглядеть вот так : char Numbers[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
Ну нормально.. Хотя, есть и более изящный вариант. Чтобы не править всю строку знакогенератора, можно было бы поменять местами две строчки, вот здесь:
tmp=led;
for (t=0; t<8; t++)
{ if (tmp & 0x80)
PORTB |=_BV(PB2);
else PORTB &=~(_BV(PB2));
tmp <<= 1;
_delay_us(2);
PORTB &=~(_BV(PB0));
_delay_us(2);
PORTB |=_BV(PB0);
Это фрагмент кода из файла lcd.h. Что здесь происходит? Мы берем очередное двоичное число частоты (после преобразования частоты из десятичного значения в двоичный код), этому числу присвоено имя (переменная) led. Мы его значение присваиваем переменной tmp(над tmp мы будем кое-что делать, а led не должно изменяться). И выполняем цикл, восемь раз. Умножаем число на 10000000 (0x80), то есть выполняется логическое "и". Если левая цифра 1, то при умножении получаем единицу, то есть это будет "истина" и, если мы получили истину, то
PORTB |=_BV(PB2);, то есть на выход порта PB2 выводится единица. Если левая цифра была ноль, то при умножении получим ноль, т.е. "ложь" и, тогда:
else PORTB &=~(_BV(PB2));
т.е. на выходе порта будет выдан ноль.
Затем число сдвигается влево на один шаг:
tmp <<= 1;
Умножаем на 10000000 и т.д. все повторяем, 8 раз.
Это для моего индикатора. В Вашем случае, надо бы эти строки поменять местами, т.е. если левая цифра ноль, то на выход порта надо выдать единицу и наоборот.
Но это так, мысля вчера пришла перед сном. А коль все работает, то пусть так и остается. Теперь Вы должны в файле lcd.h полной программы синтезатора заменить строки так, как это сделано в тестовой программе.
Где и что поправить,чтоб завести S-метр на вход ADC5?
Сбросьте сюда архив исходника, который Вы используете, чтобы не было путаницы.. Потом я подскажу, где исправить..
Или укажите, из какого сообщения Вы используете исходник?