...При переключении на дифференциальный канал первое преобразование будет характеризоваться плохой точностью из-за переходного процесса в схеме автоматической регулировки смещения. Следовательно, первый результат такого преобразования рекомендуется игнорировать.
От себя добавлю, что нужно добавить еще и временную задержку, после первого "неточного" замера, и задержка эта, не менее 20 циклов генератора-делителя АЦП... Жуть...
Получилось где-то вот так:
Код: Выделить всё
...
ldi R16, 0b01000000 ;AD_Converter ADMUX byte, АЦП ножка 0
out ADMUX, R16
sbi ADCSRA,6 ;старт "ложного" замера АЦП
rcall delay40mks ;задержка, уже была раньше для ЖК, ну и юзаю ту же самую подпрограмму
rcall delay40mks
rcall delay40mks
rcall delay40mks ; всего задержек на 20 циклов генератора АЦП
sbi ADCSRA,6 ;старт "нормального" замера АЦП
...
ldi R16, 0b01000001 ;AD_Converter ADMUX byte, АЦП ножка 1
out ADMUX, R16
sbi ADCSRA,6 ;старт "ложного" замера АЦП
rcall delay40mks
rcall delay40mks
rcall delay40mks
rcall delay40mks
sbi ADCSRA,6 ;старт "нормального" замера АЦП
...
У меня АЦП работает на 125кГц, получается 8мкс, и пока не пройдет примерно 20 тактов генератора, около 160мкс, корректные данные не замерятся. Может что то допаять на входе АЦП(ATMega8), и будет лучше?