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


Автор: Serg_vnovg 5.3.2003, 13:39
Процессор AVR AT90S8535 Внешнее прерывание INTO

Через компаратор заведен сигнал промышленной сети 50 герц. В прерывании выполняется единственная команда PORTC ^=1. Ожидал увидеть меандр частотой 25Гц. При просмотре осциллографом переход из 0 в1 (запрограмирован по положительному фронту) возникает несколько прерываний. Подключеный к этому входу тригер 561 ТМ2 считает нормально. Может быть кто-нибудь подскажет , что делать?

Автор: laptev 5.3.2003, 20:59
А прерывания возникают несколько подряд? Если так, то возможен "звон" компаратора. Это легко проверить - повесить емкость 1000 пф на вход Int0.

Автор: Crait 7.3.2003, 05:37
Еще это можно лечить введением ПОС (создать гистерезис) -
подать часть сигнала с выхода компаратора на неинвертирующий вход.

Автор: Serg_vnovg 7.3.2003, 13:04
Написал тестовую программу для исследования этого вопроса и выяснил следующее. Прерывание возникает одно!! Неправильно срабатывает команда PORTC ^= 1. Команды PORTC |= 1 и PORTC &=0xFE срабатывают как надо и показывают 1 прерывание. В этом-же прерывании PORTC ^| =2 точно также колбасит?

Спасибо за отклики!

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