atmega16 прерывание от компаратора

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
kisa92
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб мар 21, 2009 13:20:54

atmega16 прерывание от компаратора

Сообщение kisa92 »

Здравствуйте, не работает прерывание от компаратора. Хочу добиться того чтоб при изменении фронта сигнала с 0 на 1
запускался обработчик прерываний и выполнял соответствующие действия(вывод 3х импульсов).
Кто что может подсказать, заранее спасибо!

#include <mega16.h>
#include <delay.h>

// Declare your global variables here
unsigned char a;

/* Called automatically on external interrupt */
interrupt [17]void ana_comp(void) {

//for(a=3;a>0;a--);
DDRA.0=1; // PA.0 is output
PORTA.0=1; // PA.0 is High level
delay_us(5);
PORTA.0=0; // PA.0 is Low level
delay_us(45);
ACSR.4=1; //interrupt flag ACI is clean
}

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
DDRB=0; // port B is input (PB2 & PB3)
PORTB=0; //port B is input with Z
DDRA.0=1; // PA.0 is output
PORTA.0=0; // PA.0 is Low level

ACSR.3=1; //interrupt ON
// Analog Comparator ON
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0b00001011; // 0->1 rising
while (1){
}
}
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: atmega16 прерывание от компаратора

Сообщение Meteor »

А порог внешний на втором входе устанавливаете?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
kisa92
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб мар 21, 2009 13:20:54

Re: atmega16 прерывание от компаратора

Сообщение kisa92 »

Meteor писал(а):А порог внешний на втором входе устанавливаете?

Да, порог 4V стоит.

Пытаюсь отладить программу в Протеусе, и вот теперь не знаю, либо кривой код либо глюки самого Протеуса
//Спасибо
Аватара пользователя
kisa92
Открыл глаза
Сообщения: 76
Зарегистрирован: Сб мар 21, 2009 13:20:54

Re: atmega16 прерывание от компаратора

Сообщение kisa92 »

Спасибо, тема закрыта. Причина была в ACSR.4=1; //interrupt flag ACI is clean
а также пропущенных скобках

8)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»