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

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

Отправлено Levich 15 февраля 2005 г. 22:34

Нужно было организовать подсчет количества приходящих импульсов от спец платы (импульсы выдаются асинхронно с частотой порядка 10 гц). Счетчиков всего 4
Сделал следующее устройство (pic16f628a). На порты RB4:RB7 повесил прерывание по изменению состояния. При приходе прерывания читаю значение порта (проверяю на 1) и если какой то из пинов установлен то инкремениюру счетчик. Также обрабатываю прерывание от таймера (счет надо окончить через 500 мс). Также обрабатывается прерывание от UART. Проблема в том что счетчики выдают всегда разные значения. Вставлял в обработчик прерывания задержку (для компенсации переходных процессов). С ней счетчик иногда считает правильно. Но логики когда правильно а когда нет (а главное почему) не уловил. Если задержку убрать то на 100 импульсов программа возвращает значение иногда и 16000. Может кто что подскажет?
Исходы по ссылке http://asdf55bgt.narod.ru/Main.asm

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


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

E-mail: info@telesys.ru