Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Временная задержка малой длительности

Читайте также:
  1. B) Повременная и сдельная.
  2. Cопоставление основных форм эмоционального реагирования (аффект, настроение, чувство, собственно эмоция, эмоциональный тон) по параметрам длительности и интенсивности.
  3. I. Современная демографическая ситуация в Российской Федерации
  4. IX. СОВРЕМЕННАЯ АРХИТЕКТУРА ГРЕЦИИ.
  5. Административная задержка связана с наличием промежутка времени между признанием необходимости принятия фискальных мер правительством и их фактическим принятием.
  6. Ананиз семьи как института и малой группы.
  7. Билет 5 Отношения философии и мифологии: от пребывании в бытии к рациональному мироотношению. Современная мифология.
  8. Билет 5 Современная подготовка специалистов по дошкольному воспитанию
  9. В зависимость от характера малой группы делятся на условные и реальные.
  10. Взаимодействия в малой группе

При реализации временной задержки длительностью порядка нескольких микросекунд часто используется набор команд NOP, каждая из которых выполняется за 1 машинный цикл. Т.е. для формирования задержки длительностью 4 мкс при частоте кварцевого резонатора 12 МГц программа для МК51 будет выглядеть:

NOP

NOP

NOP

NOP

При реализации временной задержки длительностью порядка десятков или сотен микросекунд использует метод программных циклов. При этом в некоторый рабочий регистр загружается число, которое затем в каж­дом проходе цикла уменьшается на 1. Так продолжается до тех пор, пока содержимое рабочего регистра не станет равным нулю, что интер­претируется программой как момент выхода из цикла. Время задержки при этом определяется числом, загруженным в рабочий регистр, време­нем выполнения команд, образующих программный цикл. Схема алго­ритма такой программы показана на рисунке 1.


Программа имеет сим­волическое имя DELAY.

Рисунок 1 – блок-схема процедуры формирования временной задержки
малой длительности

 

Предположим, что в управляющей программе необходимо реализо­вать временную задержку 100 мкс. Фрагмент программы, реализующей временную задержку, требуется оформить в виде подпрограммы, так как предполагается, что основная управляющая программа будет произ­водить к ней многократные обращения для формирования выходных импульсных сигналов, длительность которых кратна 100 мкс:

...........

ACALL DELAY; вызов подпрограммы задержки

...........

 

DELAY: MOV R2,#X; (R2) <— X

COUNT: DJNZ R2,COUNT; декремент R2 и цикл, если не нуль

RET; возврат в основную программу

 

Для получения требуемой временной задержки необходимо опреде­лить число X, загружаемое в рабочий регистр. Определение числа X выполняется на основе расчета времени выполнения команд, образую­щих данную подпрограмму. При этом необходимо учитывать, что команды MOV и RET выполняются однократно, а число повторений команды DJNZ равно числу X. Кроме того, обращение к подпрограмме временной задержки осуществляется по команде ACALL DELAY, время исполнения которой также необходимо учитывать при подсчете времен­ной задержки. В описании команд МК указывается, за сколько машин­ных циклов (МЦ) исполняется каждая команда. На основании этих данных определяется суммарное число машинных циклов в подпро­грамме: АCALL - 2 МЦ, MOV - 1 МЦ, DJNZ - 2 МЦ, RET - 2 МЦ.

При тактовой частоте 12 МГц каждый машинный цикл выполняется за 1 мкс. Таким образом, подпрограмма выполняется за время 2 + 1 + 2Х + 2=5 + 2Х мкс. Для реализации временной задержки 100 мкс число Х= (100-5)/2= 47,5.

Если число X полу­чается дробным, то временную задержку можно реализовать лишь при­близительно. Для более точной подстройки в подпрограмму могут быть включены команды NOP, время выполнения каждой из которых равно 1 мкс.

Минимальная временная задержка, реализуемая подпрограммой DELAY, составляет 7 мкс (X = 1). Временную задержку меньшей дли­тельности программным путем можно реализовать, включая в програм­му цепочки команд NOP.

Максимальная длительность задержки, реализуемая подпрограммой DELAY, составляет 515 мкс (X = 255).

Для реализации задержки большей длительности можно рекомендо­вать увеличить тело цикла включением дополнительных команд или использовать метод вложенных циклов. Так, например, если в под­программу DELAY перед командой DJNZ вставить дополнительно две команды NOP, то максимальная задержка составит 5 + Х(2 + 2) = = 5 + 4x255 = 1025 мкс (т.е. почти в 2 раза больше).

 




Дата добавления: 2015-04-26; просмотров: 25 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Программное формирование временных задержек| Временная задержка большой длительности.

lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав