2016-01-03 5 views
0

Можно ли жесткий код эталонное значение вместо того, чтобы использовать штифт 21 (AREF) на ATmega168?Можно ли жестко закодировать AREF вместо использования булавки?

+1

Цитирование из [ATmega168A таблицы] (http://www.atmel.com /images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf) раздел 24.5.2: _ Если внешнее напряжение не подается к выходу AREF, пользователь может переключаться между AV CC и 1.1V как выбор ссылки. – vega8

ответ

0

Поскольку большинство принципов АЦП полагаются на сравнение напряжения, тока или заряда, вам всегда нужна физическая ссылка, которую нельзя обойти жесткой кодировкой. В этом случае требуется опорное напряжение. На ATmega 168 вы можете использовать внешний опорный вывод AREF или напряжение питания контроллера AVcc или встроенный опорный диод напряжения V V V VF.

Вы можете установить источник опорного путем программирования ADMUX (регистр выбора мультиплексора АЦП), как указано в ATmega48/88/168 data sheet странице 261:

//using avrgcc: 
//select internal 1.1 V ADC reference 
ADMUX |= 0b11000000;