Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > timer0 в atmega 8515


Автор: Я 12.10.2005, 15:33
Вообщем ситуация такая. в таймере 0 есть регистр сравнения, заношу в регистр сравнения значение, наример АА. это делается для того чтобы на выходе получить напряжения 10 В, но на выходе я получаю 15 В, а если не использовать таймер то на выходе получается 30В, ситуация такая то, что не в зависимости от того, что я помещу в регистр сравнения
он мне будет всегда выдавать 15 В. такое ощущение, что таймер не сравнивает с регистром сравнения. Вот код программы:
void timer0_init(void)
{
TCNT0 = 0x00; // set count value
OCR0= 0xAA;
TIMSK= 0x03;
TIFR=0x03;
TCCR0 = 0x01; // start timer

}

void timer0_over(void)
{
PORTC=0x00;
}


void timer0_comp(void)
{
if (Device.ScanState == 0x02) // Rotate Left
{

PORTC=0x10;
}

if (Device.ScanState == 0x03) // Rotate Right
{
PORTC=0x01;
}
}

void timer0_stop(void)
{
PORTC=0x00;
TCCR0=0x00;
}
SIGNAL(SIG_OVERFLOW0)
{
timer0_over();
}


SIGNAL(SIG_OUTPUT_COMPARE0)
{
timer0_comp();
}

Автор: cardinal 12.10.2005, 16:23
Цитата
это делается для того чтобы на выходе получить напряжения 10 В

Что-то я не очень понял причем здесь таймер и при чем здесь напряжение на выходе?

Автор: PILOT 12.10.2005, 18:47
Я думаю, что имеется ввиду управление напряжением через ШИМ, из кода который приведен тут видно что человек пытается по сравнению утановить бит, а по переполнению очистить бит. Но вот вопрос: я не вижу где портС настроен на выход (DDRC)?
И еще не совсем понятно зачем устанавливать флаг в регистре TIFR (хотя это не влияет на результат)?

СУВ.

Автор: Я 13.10.2005, 11:53
в регистр TIFR уставновили потому что точно не знали почему у нас выдаёт 15 в. Я привёл кусок программы, PORTC у нас настроен как. Сегодня додумались, почему у анс 15 В, просто есть косяк контролера, здесь код программы приведён без предделителя, а если поставить предделитель частоты, то у нас всё нормально полуается. :-))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)