[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено VeryBigAlex 15 марта 2006 г. 12:02
В ответ на: Код в студию! отправлено _Bill 15 марта 2006 г. 11:51

void Charge (int ChCurrent02C, int ChCurrent01C, unsigned char TimeDecCurrent)
{
int ActualChargeCurrent, ChCurrent;

TCCR1A = PWMChargeTCCR1A;
TCCR1B = PWMChargeTCCR1B;
OCR1B = 0;
delay ( 10 );
GreenLed = 0;
YellowLed = 1;

FlagMinuta = 0;
FlagHour = 0;
FlagTimeChargeDone = 0;

CounterSec = 0;
CounterMin = 0;
CounterHour = 0;

TCCR0 = 0x05; //çàïóñê òàéìåðà
TIMSK = 0x01;

Ubat = adc ( VoltageOut, 63 );
while ( Ubat < 0x3FE )
{
OCR1B ++;
if( OCR1B > 255 )
{
IncrementCurrent = 0; //ôëàã óñïåøíîñòè ðàñêà÷êè òîêà ïåðåä çàðÿäîì
break;
}
else
{
ActualChargeCurrent = adc ( ChanelCurrent, 63 );
if ( ActualChargeCurrent > 80 )
{
IncrementCurrent = 1; //ôëàã óñïåøíîñòè ðàñêà÷êè òîêà ïåðåä çàðÿäîì
break;
}
}
Ubat = adc ( VoltageOut, 63 );
}
if ( IncrementCurrent == 0 ) //ïðîâåðêà óñïåøíîñòè ðàñêà÷êè òîêà
{
}
else
{
Ubat = adc ( VoltageOut, 63 );
while ( Ubat < 0x3FE )
{
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if ( CounterMin < 5 )
{
BlueLed1 = 1;
}
else
{
BlueLed1 = 0;
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ActualChargeCurrent = adc ( ChanelCurrent, 63 );
AdjChCurrent ( ActualChargeCurrent, 100 );
Ubat = adc ( VoltageOut, 63 );
}
}

TCCR0 = 0x00; //çàïóñê òàéìåðà

YellowLed = 0;
TCCR1A = 0x00;
TCCR1B = 0x00;
OutPWMDisCharge = 1;
delay ( 100 );
OutPWMDisCharge = 0;
}

и отсчет времени в прерывании:

#pragma vector = 0x12
__interrupt void TIMER0_OVF()
{
BlueLed0 = 1;

TCNT0 = 75;
FlagOVF_TCNT0 = 1;
if (CounterIntTCNT0 < 100) CounterIntTCNT0 ++;
else
{
CounterIntTCNT0 = 0;
FlagSecunda = 1;
if ( CounterSec < 60 ) CounterSec ++;
else
{
CounterSec = 0;
FlagMinuta = 1;
if ( CounterMin < 60 ) CounterMin ++;
else
{
CounterMin = 0;
FlagHour = 1;
if ( CounterHour < ValueTimeCharge ) CounterHour ++;
else
{
FlagTimeChargeDone = 1;
CounterHour = 0;
}
}
}
}
BlueLed0 = 0;
}

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru