Локальные системы управления. Конопелько Г.К. - 36 стр.

UptoLike

Составители: 

36
Для нормальной работы этой программы необходимо, чтобы обращение к ней
производилось в моменты, когда на входе Т0 присутствует сигнал нулевого уровня. Верхний
предел измеряемой длительностиположительногоимпульса составит 255(1+2)2.5 мкс =
8.925 мс. Этот предел может быть увеличен включением в цикл COUNT дополнительных
команд NOP. Максимальная погрешность измерений 7.5 мкс.
Для измерения длительности сигнала
может быть использован таймер. Особенно
эффективно использование для этой цели таймера в МК51, имеющего вход разрешения
счета ( альтернативная функция входа ЗПР ). Измеряемый сигнал можно, например, подавать
на вход ЗПР0, измерение длительности при этом будет выполняться в T/C0. Программа
измерения длительностиположительногоимпульса будет выглядеть так:
; Версия для МК51
MOV TMOD,#00001001B ; настройка T/C0
MOV TH0,#0 ; сброс таймера
MOV TL0,#0
SETB TCON.4 ; старт T/C0
WAITO: JNB P3.2,WAITO ; ожидание “1”
WAITC: JB P3.2,WAITC ; ожидание “0”
CLR TCON.4 ; стоп T/C0
EXIT: ; выход из процедуры
Управление программе должно быть передано при условии, что на входе ЗПР0
присутствует низкий уровень. Прерывания от Т/С0 должны быть запрещены. По завершению
программы в T/C0 будет находиться число, пропорциональное длительности
положительногоимпульса на входе ЗПР0. Верхний предел измерения
равен 65 536 мкс, а
максимальная погрешность 1 мкс.
При необходимости измерения временных интервалов большей длительности можно
программным способом подсчитывать число переполнений от таймера, т.е. расширять его
разрядность за счет рабочего регистра или ячейки РПД.