FDA (13.04.2010 10:03, просмотров: 1878)
Блин! Сто лет с пиками работаю, а вот теперь на PIC18F4550 глюк с АЦП - занижает показания ровно в два раза. Ощущение, что происходит сдвиг вправо на один бит. Привожу код инициализации АЦП:
TRISA = 0b101011;
TRISB = 0b00001011;
TRISC = 0b11000000;
TRISD = 0;
// Настройка компараторов
CM0 = 1;
CM1 = 1;
CM2 = 1;
CVREN = 0;
CVROE = 0;
// Настройка АЦП
CHS3 = 0; // Выбран канал AN0 (RA0)
CHS2 = 0;
CHS1 = 0;
CHS0 = 0;
VCFG1 = 0; // Vref- = Vss
VCFG0 = 1; // Vref+ = 4.096 V
PCFG3 = 1; // RA0, RA1, Vref-, Vref+ настроены как аналоговые входы
PCFG2 = 0;
PCFG1 = 1;
PCFG0 = 1;
ADFM = 1; // Правое выравнивание
ACQT2 = 0;
ACQT1 = 0;
ACQT0 = 0;
ADCS2 = 1;
ADCS1 = 1;
ADCS0 = 0;
ADON = 1; // Модуль АЦП включен
ADIF = 0;
GODONE = 1; // Запуск АЦП
Используется внешняя опора на 4.096 В. При подаче на вход напряжения 0,135 В, АЦП выдаёт код 17, что соответствует 0,068 В!!! Контроллер работает на частоте 48 МГц.
Что за фигня не пойму!