Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Измерение временных интервалов



В задачах управления часто возникает необходимость измерения промежутка времени между двумя событиями. Обычно события в объекте управления представляются сигналами от двоичных датчиков. Считая событиями фронт и спад импульса, можно определять временные характеристики импульсных сигналов: длительность, период и скважность.

Простейшим способом измерения длительности импульса является программный.

Для обнаружения событий (фронт и спад импульсного сигнала) в этом случае используются типовые процедуры (см. п. 1.1), а отсчет времени ведется программным способом.

Для положительного импульсного сигнала, поступающего на вход Т0, программа измерения его длительности будет иметь вид, представленный в листинге 4.25).

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

Листинг 4 .25 – Программа измерения длительности положительного импульсного сигнала

  .ORG 0000h ; Адрес начала программы
  NEXT: MOV DPTR, #00h JB P3.2, $ JNB P3.2, $ INC DPTR JB P3.2, NEXT … ; Обнуление счётчика времени ; Ожидание логического нуля ; Ожидание логической единицы ; Инкремент счётчика времени ; Ожидание логического нуля

Для измерения длительности сигнала может быть использован таймер. Особенно эффективно использование для этой цели таймера T/C0 (T/C1) совместно со входом разрешения счета (альтернативная функция входа INT0 (INT1)). Измеряемый сигнал можно, например, подавать на вход INT0. Измерение длительности при этом будет выполняться в Т/С0. Программа измерения длительности положительного импульса представлена листингом 4.26.

Листинг 4.26 – Программа измерения длительности положительного импульсного сигнала с использованием таймер-счётчика
  .ORG 0000h  
  CLR TR0 MOV IE, #00h MOV TMOD, #09h MOV TL0, #00h MOV TH0, #00h JB INT0, $ SETB TR0 JNB INT0, $ JB INT0, $ CLR TR0 … ; Запрещение работы таймера ; Запрет прерываний ; Настройка таймера на режим 1 ; счет при логической единице на ; входе INT0 ; Ожидание логического нуля ; Разрешение счёта ; Ожидание логической единицы ; Ожидание логического нуля ; Запрещение счёта

По завершению программы в Т/С0 будет находиться число, пропорциональное длительности положительного импульса на входе INT0.

Контрольные вопросы

1. Для чего необходим счет времени в микроконтроллерных системах?

2. Каковы принципы формирования временной задержки? Какой из них имеет преимущества и какие?

3. Как организуется измерение интервала времени между двумя событиями?





Дата публикования: 2014-11-03; Прочитано: 313 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...