Если я правильно понял, для oversampling необходимо налиие шумов, поэтому опорное напряжение можно взять от стабилитрона с входных 12В, без всяких конденсаторов. Также можно не увлекатся фильтрацией питания и избавлением от пульсаций, а также отказаться от всяких мер по экранированию измерительных цепей. Также не стоит использовать спящий режим для измерений. Уровень шума в измеряемом сигнале, или опорном напряжении должен быть на уровне 1-2LSB, при опорном в 5В -- это 5-10 мВ. При питании от розетки, можно просто распределить измерения в течении одного периода 100Гц. (нельзя) Для oversampling нужно произвести 4^n измерений (где n - количество дополнительных бит результата), суммировать результат и разделить на 2^n Потом произвести действия по калибровке и можно вычеслять результат. На асме ещё нужно принять меры для сохранения дробной части. Например, 2 доп бита. Делаем 16 измерений, суммируем, делим на 4. Дальше как обычно -- умножаем на опорное в миливольтах, и делим на 4096 (ведь результат у нас теперь 12 бит). Получаем результат в миливольтах, с дискретностью опора/4096. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 2014.10.08 таки запаял и запустил :-) если не учитывать косяк на плате -- то всё удачно. почти. 1. низкая скорость обновления -- нужно увеличивать раз в несколько. 2. яркость бешеная -- нужно увеличить резисторы ом до 200-300. заодно уменьшиться нагрев стаба. потребление около 100 мА. 3. прыгают показания -- нужно усреднять. 4. подправить значение опорного напряжения под реальное (4.985 В) 5. можно гасить ведущий "0". - в делителе таймера была ошибка. в итоге частота была ~75 Гц. похоже на правду. - отпочковал версию 2. попробую сделать усреднение по 6-ти измерениям. - измерения будут не каждые 100 мсек, а по-кругу, без лишних ожиданий. 2014.10.09 можно считать этот проект условно успешно законченым. условно в том плане, что оверсэмплинг вроде как тут не работает. и всё равно скачет временами цифра в младшем разряде, хотя я применил усреднение по 16-ти значениям. а во всём остальном -- всё работает. - есть идея попробовать упорядочить измерения и вывод: - измерение начинать после вывода первой цифры; - преобразование результата в и запись в буфер индикатора - после вывода четвёртой цифры; - возможно это также поможет избавиться от мелтешения цифр.