![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Схема подключения датчика импульсного сигнала аналогична схеме на рисунке 4.1. Особенность процедуры ожидания импульсного сигнала состоит в том, что МК должен обнаружить не только факт появления, но и факт окончания сигнала.
Для программирования этой процедуры удобно воспользоваться рассмотренными выше примерами ожидания события (см. листинг 4.1), смонтировав их последовательно в линейную программу. Оформлять процедуры ожидания замыкания и размыкания контакта в виде отдельных подпрограмм нецелесообразно, так как это удлиняет программу, а следовательно, время исполнения программы, которое определяет минимальную длительность импульса, который может быть обнаружен программой.
![]() |
Последовательность объединения процедур ожидания нуля и единицы зависит от формы импульса. Для отрицательного импульса (рисунок 4.2) процедура ожидания замыкания контакта предшествует процедуре ожидания размыкания, для положительного импульса – следует за ней.
Ниже приведены примеры программной реализации процедуры ожидания «отрицательного» импульсного сигнала при подключении датчика к разряду 3 порта P1 (листинг 4.3):
Листинг 4.3 – Программа регистрации отрицательного импульса
.ORG 0000H | ; Адрес начала программы | |
SETB P1.3 | ; Настройка разряда 3 ; порта P 1 на ввод сигнала | |
MAIN: | JB P1.3, $ | ; Ожидание логического «0» |
JNB P1.3, $ | ; Ожидание логической «1» | |
… | ; Подпрограмма обработки ; импульса | |
JMP MAIN | ; Переход на регистрацию ; следующего импульса |
Аналогичным образом строится программа при подключении датчика положительного импульсного сигнала (листинг 4.4):
Листинг 4.4 – Программа регистрации положительного импульса
.ORG 0000H | ; Адрес начала программы | |
SETB P1.3 | ; Настройка разряда 3 ; порта P 1 на ввод сигнала | |
MAIN: | JNB P1.3, $ | ; Ожидание логической «1» |
JB P1.3, $ | ; Ожидание логического «0» | |
… | ; Подпрограмма обработки ; импульса | |
JMP MAIN | ; Переход на регистрацию ; следующего импульса |
Программная реализация цикла ожидания накладывает ограничения на длительность импульса: импульсы длительностью меньше времени выполнения цикла ожидания могут быть «не замечены» МК. Минимально допустимые длительности импульсов определяются тактовой частотой процессора. Гарантирована регистрация событий, частота которых не превышает 1/24 частоты процессора.
Для обнаружения кратковременных импульсов можно использовать способ фиксации импульса на внешнем триггере флага (рисунок 4.3).
![]() |
На вход МК в этом случае поступает не кратковременный сигнал с датчика, а флаг, формируемый триггером. Триггер устанавливается по фронту импульса, а сбрасывается программным путем – выдачей специального управляющего воздействия (листинг 4.5). Длительность импульса при этом будет ограничена снизу только быстродействием триггера.
Дата публикования: 2014-11-03; Прочитано: 391 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!