PIC12F675 - не измеряет АЦП. Подскажите, пожалуйста.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Vladimir Ljaschko 22 июня 2004 г. 12:31

Скорость вращения мотора зависит от переменной pwm.
Если я ее устанавливаю в программе, то все работает - скорость зависит от значения.
Если я ее беру с АЦП (ко входу подключен потенциометр между землей и питанием), как написано в тексте, то похоже, что всегда 0 - движение на минимальной скорости.

void main (void)
{__set_configuration_word (
BODEN_ON & INTRC_OSC_NOCLKOUT & WDT_ON & PWRTE_OFF & MCLRE_OFF);

PCON=0x03;// set flags POR and BOD
GPIO=0xff;// set 1 to both control pins
WPU=0;// pull-up off
//Timer 0 configuration
T0CS=0; //clock select - from CLKOUT
//ADC configuration
ADCON0= mADFM+ //right justified
//mVCFG+ //voltage refernce from Vdd
mCHS1+ //channel AN2
mADON; //ADC ON
ANSEL= mADCS1+ //32 Tosc = 8 mks conversion
mANS1; //AN2=analog input

TRISIO=input_mask;
T0IF=0;
INTCON=mGIE+mT0IE;

for(;;) {
if (ADIF) {ADIF=0; pwm=ADRESH; if (pwm<15) pwm=15; if (pwm>110) pwm=110;}

// pwm motor control
if ((lo_pwm_counter & 0x7F) >= (pwm ) ) TRISIO= 0xff;
else { TRISIO= input_mask; GO=1; }

__clear_watchdog_timer();
}
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru