Пример, заменяющий первую половину использованной Вами ахинеи, место которой
вот здесь Код
#define ADC_REF_VCC 1
#define ADC_REF_EXT 0
#define ADC_REF_1V1 3
#define ADC_REF_2V56 2
#define SET_ADC_CHANNEL(refn, chsel) ADMUX = (refn << REFS0) | (chsel)
Вопрос, а нафига оно нужно, плодить новояз, добавляющий еще один уровень понятий между терминами, определенными производителем микросхем и человеком, читающим текст программы, задавать не буду.
Лучше о хорошем поговорим. Например
Код
#define ADPS_DIV2 1
ни о чем не говорит, а вот с привязкой к F_CPU
Код
#define ADPS_dv(val) ((val >= (F_CPU / 250000)) && (val <= (F_CPU / 50000)))
#if ADPS_dv(2)
#define STD_ADPS 1
#elif ADPS_dv(4)
#define STD_ADPS 2
#elif ADPS_dv(8)
#define STD_ADPS 3
#endif
получаем некоторую свободу от пересчета делителя.
Такие дела.