2014-12-24 2 views
0

Я хочу найти разницу во времени между двумя импульсами, используя PIC16F628. Я использую внешний генератор 4 МГц, компилятор MikroC.Найти разницу во времени между двумя импульсами, используя PIC16F628

В качестве простого примера предположим, что имеется кнопка. Когда мы нажимаем его, он посылает высокий сигнал на контакт. Мы нажимаем эту кнопку дважды с некоторой задержкой между ними, я хочу найти разницу во времени между этими двумя нажатиями кнопок.

спасибо.

+0

Какой язык программирования вы используете для своего кода? Кроме того, FWIW, вы можете или не можете найти дополнительную помощь для конкретного вопроса uC, подобного этому, по адресу http://electronics.stackexchange.com/. – gankoji

+0

Я использую язык C, поэтому компилятор MikroC. Спасибо за предложение. – saquib2527

+0

ОК. Самое простое решение - использовать таймер и счетчик: запустить таймер с помощью счетчика при 0 на первом импульсе и сохранить значение счетчика на втором импульсе. Я ищу особенности PIC, чтобы дать вам пример ATM. – gankoji

ответ

0

Как упоминалось в комментариях, самый простой способ сделать это - использовать комбинацию таймера/счетчика. Я нашел этот быстрый учебник о том, как это сделать специально для ПОС: http://www.mikroe.com/chapters/view/17/chapter-4-examples/#c4v5.

Взгляните на 4.5 и 4.6, они дадут вам именно ту информацию, которая вам понадобится, чтобы получить счетчик интервалов между импульсами. Основной метод заключается в том, чтобы запустить таймер, связать обработчик прерываний (Read: function) с таймером, а затем увеличивать счетчик каждый раз, когда вызывается обработчик прерываний. В следующий раз, когда вы увидите импульс, прочитайте, что такое значение счетчика.

После этого все, что вам нужно знать, это время, в которое вы установили счетчик (который будет представлять собой некоторое целочисленное подразделение вашей частоты генератора и обычно выбирается в коде), и вы можете конвертировать количество интервалов таймера в время в секундах/миллис/нано.

+0

Эй, это было быстро, спасибо большое. Я вернусь к вам позже, как только попробую. – saquib2527

Смежные вопросы