Курсовая работа: Обработка сигналов на основе MCS-51
RETI ; выход из подпрограммы обработки прерываний
ORG 100H ; начальный адрес программы
MOV TMOD, #01Н; настройка Т/С0
MOV TL0, #LOW (NOT(50000) – 1); загрузкатаймера
MOV TH0, #HIGH (NOT(50000) – 1)
SETB TCON.4 ; стартТ/С0
SETB IE.1 ; разрешение прерываний от Т/С0
SETB PCON.0 ; перевод в режим холостого хода
NEXT: ; продолжение программы.
Пример 48. Организация задержки программным путем:
DELAY: MOV R2, Х ; (R2)¬(Х)
COUNT: DJNZ R2, COUNT; декремент R2 и цикл, если не нуль
RET ; возвращение из подпрограммы
Пример 49. Подпрограмма задержки на 50 мс, используя Т/С0, погрешность не превышает 2 мкс.
DELAY: MOV TMOD,#00000001B; настройка Т/С0
MOV TH0,#HIGH (NOT(50000–16))
MOV TL0,#LOW (NOT(50000–16))
SETB TCON.4 ; запуск Т/С0
JNB TCON.5,$ ; ожидание
ANL TCON,#NOT(30H); остановка Т/С0, сброс TF0
RET ; возвращение из подпрограммы
Пример 50. Подпрограмма задержки на 1 секунду. Погрешность не больше, чем 123 мкс.
OS: MOV R3,#20D ; счетчик циклов
S1: ACALL DELAY ; задержка на 50 мс
DJNZ R3, S1 ; организация цикла
RET ; возвращение из подпрограммы
Пример 51. Измерение временных интервалов. При применении таймера используется вход разрешения счетчика (). Тогда измеренный сигнал подается на вход , а измерение продолжительности выполняется в Т/С0.
«Положительный» импульс:
MOV TMOD,#00001001В; настраивание Т/С0