Страница 1 из 1

Подскажите, пожалуйста. Как измерить длительность импульса.

Добавлено: Пт окт 17, 2008 11:08:31
балбес
Задача стоит в том, чтобы измерить длительность импульса, записать в память, и через определенные промежутки времени проверять длительность.

Добавлено: Пт окт 17, 2008 11:14:28
aen
Нужно передним фронтом измеряемого импульса запускать генератор импульсов, а задним фронтом останавливать этот генератор. При этом нужно считать, сколько импульсов с генератора прошло за это время. Чем выше будет частота запускаемого генератора и стабильнее, тем выше точность измерения.

Добавлено: Пт окт 17, 2008 11:15:15
Migray
Какой импульс, с какой точностью?

Приведи минимальную и максимальную длительность.
После этого можно будет сказать что-то определенное.

Re: Подскажите, пожалуйста. Как измерить длительность импуль

Добавлено: Пт окт 17, 2008 11:15:49
tych
балбес писал(а):Задача стоит в том, чтобы измерить длительность импульса, записать в память, и через определенные промежутки времени проверять длительность.

Можно в начале импульса запустить счет таймера, а в конце импульса остановить счте и посмотреть сколько насчитал. Запускать и останавливать таймер можно по прерыванию по изменению на INT0 например. О прерываниях написано на стр. 3 в моей домашней страничке, а общий подход к постановке задачи и реализации простых алгоритмов расписан в задаче-упражнении 1.

Добавлено: Пт окт 17, 2008 16:20:58
балбес
спасибо понял! попробую!

Добавлено: Пт окт 17, 2008 20:59:23
ARV
у таймеров имеется еще и режим "захвата" - удобно для замеров именно длительностей импульсов.

Добавлено: Пт окт 17, 2008 21:58:23
KT315B
Эх, Тыч! Сказал то-же самое, что и aen, да только опять на свой лад переделал, чтобы на страничку послать! :)))

АОТ: можно взять RS-триггер, соединить входы R и S между собой через инвертор и подключить вход S к источнику измеряемого импульса. А триггером этим запускать кварцевый генератор, скажем - а с него можно и импульсы считать. Работает так - по положительному фронту импульса триггер переключается в состояние лог '1' (Подана единица на вход S) - генерация началась, а по отрицательному фронту единица подается на вход R и триггер сбрасывается в ноль - генерация остановлена. ну а там можно счетчиками обвязать и получится тестер для измерения длительности импульсов, если похожие вещи приходится делать многократно =)

Добавлено: Пт окт 17, 2008 22:27:00
aen
Да триггер здесь в общем случае лишний. Сам измеряемый импульс может являться разрешающим сигналом для генератора.
Насчёт Тыча я потом тоже подумал.
Я не посмотрел, что вопрос задан в разделе "микропроцессоры", а значит автору вероятно нужен алгоритм для подсчёта длительности с применением МК и ответ Тыча ближе к тому, что нужно автору.

Добавлено: Пт окт 17, 2008 22:50:35
KT315B
Ну можно и без триггера - через транзистор или мощный буфер, триггер я предложил лишь для универсальности - можно обвязать инверторами и измерять, например, дилтельность отрицательного импульса :idea:. Ну а что нужно автору - пусть уж решает - два варианта уже предложено, как-никак =)

Добавлено: Пт окт 17, 2008 23:01:12
tych
балбес писал(а):спасибо понял! попробую!

Пожалста и УДАЧИ !

Добавлено: Сб окт 18, 2008 21:41:00
балбес
Спасибо за интерес к моему вопросу, как вы правильно заметили меня интересует, как программно решить эту задачу.
Прочитал обучалку, хорошее полезное дело сделано спасибо автору за труд, хотелось бы, чтоб было больше разных описаний и примеров.

Добавлено: Сб окт 18, 2008 21:56:36
tych
балбес писал(а):Спасибо за интерес к моему вопросу, как вы правильно заметили меня интересует, как программно решить эту задачу.

Можо так как в посте выше - Добавлено: Пт Окт 17, 2008 11:15 am