Дима,Дима...........Ты там что-то такое страшное нагородил..........Но АЦП сконфигурирован кажись правильно.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Tow 08 октября 2003 г. 10:59
В ответ на: ДЛЯ Tow , RadiM, POV and other ,,,,, про АЦП (проект) отправлено Дима 08 октября 2003 г. 08:22

#include


#define VOLTAGE 255
#define STEP 10

data unsigned long Rezult = 0L;
data unsigned int Usr = 0;
data unsigned int Vref = 1;
data unsigned int period = 0;
data unsigned int temp = 0;

sbit Pout0 = P0^2;
sbit Pout1 = P0^6;

data unsigned int k;

void INT0_ISR(void) interrupt 0{

IE0 = 0;
EX0 = 0;
CR = 0;

Pout0 = 0;
Pout1 = 0;

period = (PCA0H << 8) | PCA0L;

period /= 2;

Usr = Rezult / k;
if (Usr < VOLTAGE )
Vref -= STEP;
else Vref += STEP;

Rezult = 0;k = 0;

temp = Vref;
PCA0CPL3 = temp;
PCA0CPH3 = (temp >> 8);
PCA0CPM3 = 0x49;

PCA0CPL2 = period;
PCA0CPH2 = (period >> 8);
PCA0CPM2 = 0x49;

PCA0L = 0;
PCA0H = 0;

CR = 1;
EX0 = 1;
}


void PCA0_ISR (void) interrupt 9 {

if (CCF3)
{
CCF3 = 0;
Pout0 = 1;
Pout1 = 1;
PCA0CPM3 = 0;

}

if (CCF2)
{
CCF2 = 0;
Pout0 = 0;
Pout1 = 0;
CR = 0;
Usr = Rezult / k;

if (Usr < VOLTAGE )
Vref -= STEP;
else Vref += STEP;

Rezult = 0;k = 0;
temp = Vref + ((PCA0H << 8) | PCA0L);
PCA0CPL4 = temp;
PCA0CPH4 = (temp >> 8);
PCA0CPM4 = 0x49;
CR = 1;
PCA0CPM2 = 0;
}

if (CCF4)
{
CCF4 = 0;
Pout0 = 1;
Pout1 = 1;
PCA0CPM4 = 0;
}

if (CF)
{
CF = 0;
CR = 0;
PCA0H = 0;
PCA0L = 0;
}

}

void ADC0_ISR (void) interrupt 15
{
ADCINT = 0;
Rezult += ADC0H;

ADC0L = 0; //Нафига ты делаеш эту операцию?????????????
k++;
ADBUSY = 1;
}


void main (void)
{

Pout0 = 0;
Pout1 = 0;

WDTCN = 0xDE;
WDTCN = 0xAD;

XBR1 = 0x04;
XBR2 = 0x40;
PRT0CF = 0x44;

OSCICN = 0x07;

//АЦП пошло
REF0CN = 0x03;
AMX0CF = 0x01;
AMX0SL = 0x00;
ADC0CF = 0x80;
ADC0CN = 0xD0;

EIE1 = 0x08;
EIE2 = 0x02;
EIP2 = 0x02;

EX0 = 1;
IT0 = 1;

CR = 1;
EA = 1;


while(1);
}

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

Ответы



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

E-mail: info@telesys.ru